Eventzilla MCP by usefulapi

Read Eventzilla events, tickets, orders, attendees and users; open or close ticket sales.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
92%
Naming quality
76%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'eventzilla_list_event_transactions' name length outside 3-30 rangein eventzilla_list_event_transactions
  • LOWTool 'eventzilla_list_event_attendees' name length outside 3-30 rangein eventzilla_list_event_attendees

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,725Tokens (tool definitions)
~894 BTypical response size
Moderate attention impact (1.35% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "eventzilla": {
      "url": "https://eventzilla.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://eventzilla.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢eventzilla_list_events(status, category, offset, limit)

List the events in the Eventzilla account: id, title, dates and times, venue, status, tickets sold and total, categories and the public URL. Use the id (and dateid) in the other tools. Filter by status and category name. GET /events.

Input Schema

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Only events with this status.",
      "type": "string",
      "enum": [
        "live",
        "draft",
        "unpublished",
        "completed"
      ]
    },
    "category": {
      "description": "Only events in this category name (see eventzilla_list_categories).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "offset": {
      "description": "Records to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "limit": {
      "description": "Records per page, 1-100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢eventzilla_get_event(event_id)

One event by id: title, description, dates, time zone, venue, status, tickets sold/total, URL, categories. GET /events/{eventid}.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Eventzilla event id."
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢eventzilla_list_event_transactions(event_id, offset, limit)

List the orders (transactions) of one event: order reference, checkout id, date, amount, number of tickets and status. Read-only. GET /events/{eventid}/transactions.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Eventzilla event id."
    },
    "offset": {
      "description": "Records to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "limit": {
      "description": "Records per page, 1-100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢eventzilla_list_event_attendees(event_id)

List the attendees (registrations) of one event: name, ticket type, barcode, check-in status, order reference and answers to registration questions. The API returns the whole list in one reply (no paging). GET /events/{eventid}/attendees.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Eventzilla event id."
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢eventzilla_list_ticket_types(event_id)

List the ticket types of one event: id, title, price, quantity, sales window and limits, plus its donation ticket options (donation_options). GET /events/{eventid}/tickets.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Eventzilla event id."
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢eventzilla_list_categories

List the event categories (names to use as the category filter in eventzilla_list_events). GET /categories.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢eventzilla_get_attendee(attendee_id)

One attendee by id: name, ticket type, barcode, check-in status, order reference, registration answers. GET /attendees/{attendeeid}.

Input Schema

{
  "type": "object",
  "properties": {
    "attendee_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Eventzilla attendee id (the id field in eventzilla_list_event_attendees)."
    }
  },
  "required": [
    "attendee_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢eventzilla_get_transaction(identifier)

One transaction (order) by checkout id or order reference number: amount, ticket count, status, event date. Read-only. GET /transactions/{identifier}.

Input Schema

{
  "type": "object",
  "properties": {
    "identifier": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Checkout id or order reference number."
    }
  },
  "required": [
    "identifier"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢eventzilla_list_users(offset, limit)

List the account's organizer and sub-organizer users: name, company, contact details, time zone, user type. GET /users.

Input Schema

{
  "type": "object",
  "properties": {
    "offset": {
      "description": "Records to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "limit": {
      "description": "Records per page, 1-100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢eventzilla_get_user(user_id)

One organizer or sub-organizer by user id. GET /users/{userid}.

Input Schema

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Eventzilla user id."
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴eventzilla_toggle_event_sales(event_id, status)

WRITE: publish (status true) or unpublish (status false) ticket sales of one event. Unpublishing stops attendees from buying tickets on the event page; publishing starts public sales again. Existing orders are not touched and no money moves through this tool. Idempotent. POST /events/togglesales.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Eventzilla event id."
    },
    "status": {
      "type": "boolean",
      "description": "true = publish/open sales, false = unpublish/close sales."
    }
  },
  "required": [
    "event_id",
    "status"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools