Docs/MCP Server
Last updated April 7, 2026

MCP Server

The MCP Server lets you connect AI assistants to your organizer account. Your AI can check sales, analyze traffic, search attendees, manage events, and import contacts on your behalf.

How it works

The MCP Server lives at your account's MCP endpoint. AI assistants connect using OAuth2 and can then call tools to read data or take actions. The server automatically resolves your team and active events so most queries need zero configuration.

Authentication

Authentication uses OAuth2 via Laravel Passport. The AI client registers as an OAuth application, redirects you to authorize access, and receives a bearer token. Include the token in every request to the MCP Server.

Authorization: Bearer {token}

Tokens are scoped to your team and expire after a configurable period. Revoke access at any time from your account settings.

Context discovery

Always start with get_organizer_context. This tool returns your team info, active events, and pending items. If you have a single team or single event, other tools auto-resolve without needing explicit IDs.

// Example response from get_organizer_context
{
  "team": { "id": "01HX...", "name": "Acme Events" },
  "active_events": [
    { "id": "01HY...", "name": "DevConf 2026", "status": "published" }
  ],
  "pending": {
    "speaker_applications": 3,
    "refund_requests": 1,
    "sponsorship_requests": 2
  }
}

Sales analytics tools

Query revenue and ticket sales data for your events. All monetary amounts are returned in both raw cent values (e.g. revenue_cents) and human-readable formatted strings (e.g. revenue_formatted).

ToolDescription
get_sales_summaryTotal revenue, tickets sold, orders, and average order value
get_sales_dailyDay-by-day breakdown of sales and revenue
get_sales_pacingSales velocity and projections based on current trends

Traffic analytics

get_traffic_channels breaks down visitors by channel (organic, social, paid, referral, direct), source, campaign, device type, and country. Use this to measure marketing ROI and understand where your audience is coming from.

Event management tools

List and inspect events including draft events that are only visible to organizers.

ToolDescription
list_eventsAll events with optional status filter (draft, published, past)
get_event_detailFull event info including ticket types, speakers, sponsors, and venue

Attendee tools

search_attendees lets you search by name or email and filter by ticket type or check-in status. get_attendee_detail returns the full attendee record including order history and scan records.

// Search for an attendee by email
search_attendees({ query: "[email protected]", checked_in: false })

// Get full details for a specific attendee
get_attendee_detail({ attendee_id: "01HZ..." })

Pending review tools

Review items that need your attention. All tools support status filtering to show only pending, approved, or rejected items.

ToolDescription
list_speaker_applicationsReview speaker submissions with talk titles, bios, and topics
list_refund_requestsView refund requests with amounts and reasons
list_sponsorship_requestsReview sponsor applications with company details and tier preferences

Event creation workflow

Creating an event through the MCP Server is a three-step process.

  • Call search_venues with a query string to find matching venues.
  • Call resolve_venue with a selected result to get a confirmed venue with full address and coordinates.
  • Call create_event with the resolved venue ID plus your event details (name, date, description, ticket types).
Note: Venue resolution is required for in-person events. The resolve_venue step confirms the venue exists and normalizes its address data before the event is created.

Contact import workflow

Importing contacts is a two-step asynchronous process.

Call import_contacts with a JSON array of contact objects. Each object accepts email, first_name, last_name, company, and title fields. The server responds with a 202 status and an import ID.

// Start a contact import
import_contacts({
  contacts: [
    { "email": "[email protected]", "first_name": "Jane", "last_name": "Doe", "company": "Acme", "title": "CTO" },
    { "email": "[email protected]", "first_name": "Bob", "last_name": "Smith" }
  ]
})
// Returns: { "import_id": "01HZ...", "status": "pending", "count": 2 }

// Poll for completion
check_import_status({ import_id: "01HZ..." })
// Returns: { "status": "processed", "imported": 2, "skipped": 0, "errors": 0 }

Poll check_import_status with the import ID until the status is processed or error.

Note: Imports run asynchronously so large batches may take a few minutes to complete. The server queues the work and processes contacts in the background.

Resources and prompts

The MCP Server exposes resources and pre-built prompt templates that give AI assistants structured access to your data and ready-made analysis workflows.

Resources

  • EventsList -- all your events with status and dates
  • EventDetail -- single event deep-dive with ticket types, speakers, and sponsors

Prompts

  • DailyBriefing -- morning overview of sales, traffic, and pending items
  • SalesReport -- detailed revenue analysis with trends and comparisons
  • TrafficAnalysis -- channel performance breakdown with ROI metrics
  • PendingReview -- items awaiting your decision with summaries

Supported AI clients

Any MCP-compatible client works with the Kagibag MCP Server. Claude Desktop has built-in MCP support and is the recommended client. Add the server URL and your OAuth credentials to your client's MCP configuration to get started.

{
  "mcpServers": {
    "kagibag": {
      "url": "https://your-account.kagibag.com/mcp",
      "auth": {
        "type": "oauth2",
        "client_id": "your-client-id",
        "client_secret": "your-client-secret"
      }
    }
  }
}
Related use cases

See where this workflow fits

Use these pages to connect the how-to guide with the commercial workflow it supports.