AttendBeacon
Open the workspace

Integrations

Use AttendBeacon with your AI assistant

Connect Claude, ChatGPT, GitHub Copilot or Copilot Studio to your workspace through AttendBeacon's MCP server, and ask about your events in your own words.

What it is

The Model Context Protocol (MCP) is how AI assistants use other software's tools. AttendBeacon's MCP server lets an assistant read your events and, when you allow it, make a few safe changes, with the same keys, scopes, limits and log as the REST API.

The address: https://attendbeacon.com/mcp (Streamable HTTP)

Once connected, ask in your own words:

  • "How is Beacon Summit selling compared to last week, and when do we sell out at this pace?"
  • "Who from Contoso is coming, and have they checked in?"
  • "What is on in the Main Hall on Thursday afternoon?"
  • "Which speakers brought in the most tickets with their share links?"
  • "Add a 30-minute session 'Lightning talks' in Room 2 on 13 November at 14:00." (asks before it changes anything)

Two ways to connect

Sign in (Claude's custom connectors, ChatGPT, Copilot Studio with OAuth): the assistant sends you to AttendBeacon, you sign in as yourself, choose the workspace and what the assistant may do, and allow it. AttendBeacon makes a key for that assistant, which you see and can revoke under Integrations › API & MCP.

A key (Claude Code, VS Code, Copilot Studio with an API key, and any other client): make a key under Integrations › API & MCP, starting from AI assistant (read only), and give it to the client as Authorization: Bearer abk_... or as X-Api-Key.

Either way, an assistant can do no more than its key's scopes allow. Start read only; add a write scope (such as tickets:write for discount codes) only for what you want it to do.

Claude

Claude on the web and Claude Desktop (custom connector):

  1. Open Settings › Connectors and choose Add custom connector. (In a Team or Enterprise plan, an owner adds it under Organization settings › Connectors first.)
  2. Name it AttendBeacon and give the address https://attendbeacon.com/mcp. Leave the advanced settings empty.
  3. Choose Connect, sign in to AttendBeacon, choose the workspace and the scopes, and allow it.
  4. In a chat, switch AttendBeacon on in the tools menu, and ask.

Claude Code, with a key:

Shell
claude mcp add --transport http attendbeacon https://attendbeacon.com/mcp \
  --header "Authorization: Bearer $ATTENDBEACON_KEY"

Or add it without the header and run /mcp in Claude Code to sign in instead.

ChatGPT

  1. In ChatGPT, open Settings › Apps & Connectors, and under Advanced settings switch on Developer mode (your plan and workspace admin must allow custom connectors).
  2. Choose Create, name it AttendBeacon, give the MCP server address https://attendbeacon.com/mcp and OAuth as the authentication.
  3. Sign in to AttendBeacon, choose the workspace and the scopes, and allow it.
  4. In a chat, add AttendBeacon from the tools menu.

ChatGPT shows a confirmation before every tool that changes data.

VS Code and GitHub Copilot

Add the server to .vscode/mcp.json in your project (or to your user settings). VS Code asks for the key once and keeps it in its secret store:

JSON
{
  "inputs": [
    { "type": "promptString", "id": "attendbeacon-key", "description": "AttendBeacon API key", "password": true }
  ],
  "servers": {
    "attendbeacon": {
      "type": "http",
      "url": "https://attendbeacon.com/mcp",
      "headers": { "Authorization": "Bearer ${input:attendbeacon-key}" }
    }
  }
}

Open Copilot Chat in Agent mode; AttendBeacon's tools are under the tools button.

Copilot Studio

  1. In your agent, open Tools › Add a tool › New tool › Model Context Protocol.
  2. Give the server name AttendBeacon, a description ("Reads and updates our AttendBeacon events"), and the server URL https://attendbeacon.com/mcp.
  3. As authentication choose API key, type Header, header name X-Api-Key. (Or OAuth 2.0 with dynamic discovery, to sign in instead.)
  4. Create the connection with your key, and add the tools to the agent.

Other clients

Cursor, Windsurf, Gemini CLI and any client that speaks Streamable HTTP connect the same way: the address, and the key as a header, or the sign-in where the client supports OAuth.

The tools

ToolWhat it doesSubscribing needsChanges data
whoamiWhich workspace the connection reaches, what the key may do and its limits.—No
find_eventsLists the workspace's events with their dates, status, tickets and check-ins.events:readNo
get_event_summaryOne event at a glance: registrations against capacity, check-ins, the programme and revenue.events:readNo
search_attendeesFinds attendees by name, address, company or order reference.attendees:read people:readNo
get_agendaThe agenda in time order, in the venue's time, with rooms, tracks and speakers.program:readNo
list_speakersThe speakers as the event's page shows them.program:readNo
list_sponsorsSponsors and exhibitors by level, with their booth.sponsors:readNo
get_check_in_countsWho has arrived, the last hour and each door's counts.checkins:readNo
get_sales_paceTickets and revenue per day, this week against last, and where this pace ends up.orders:readNo
get_budget_summaryIncome, costs and result: budgeted, committed, actual and forecast.finance:readNo
list_cfp_submissionsProposals to the call for speakers and their status.cfp:readNo
get_share_kit_leaderboardWhich speakers and sponsors brought the most tickets with their link or code.sharekit:readNo
list_ticket_typesTicket types with their price, capacity and what is left.tickets:readNo
create_draft_eventAdds a new event as a draft. Nothing is published and nobody is emailed.events:writeYes
add_sessionAdds a session to the agenda; attendees see it at once when the event is published.program:writeYes
create_discount_codeCreates a discount code that works at once.tickets:writeYes
update_ticket_capacityChanges how many places a ticket type has, never below what is taken.tickets:writeYes
check_in_attendeeChecks somebody in at a door, by the scanner's rules.checkins:writeYes
PromptWhat it does
event_briefingA short briefing on one event: registrations, sales, the agenda and what needs attention.
door_statusOn the day: who has arrived, how fast, and which doors are busy.
sales_updateTicket sales this week against last, and where the event ends up.

Every tool answers compact JSON in one text block, and the lists answer a page with nextCursor to ask for more. Times come in UTC and in the venue's wall time, money in the event's currency.

Tools that change data say CHANGES DATA first in their description, and are marked as not read-only, so assistants ask you before calling them. None deletes anything: an event is created as a draft, a capacity is never set below what is sold, a check-in follows the door's rules.

What you see in the workspace

  • Integrations › API & MCP › Activity of keys lists every tool call, with mcp as the channel and the tool's name, including the refused ones and why.
  • Changes appear in the workspace's activity log as "API key abk_... (name) via MCP".
  • Revoke the key, or the connected app, and the assistant stops at once.

When something is refused

The tool answers an error whose text starts with the API's code, so the assistant can tell you what to do:

  • missingScope: the key lacks a scope; make a key with it.
  • peopleScope: the question is about people by name; the key needs Personal data.
  • moduleOff: the organiser switched that feature off for the event.
  • rateLimited: more than 120 calls a minute, shared with the REST API.

For the curious

The server is the official C# SDK's, over Streamable HTTP, stateless: every request stands alone, so any of AttendBeacon's servers answers it. It offers tools and three prompts (event_briefing, door_status, sales_update); it asks nothing back of the client. The sign-in is OAuth 2.1 with PKCE and dynamic client registration, as the MCP authorization specification describes, advertised at /.well-known/oauth-protected-resource.

The guides and this site are in your language. The API reference's own descriptions are in English, as the API itself speaks.