# Connect Vihaya Events to Claude

Vihaya Events runs a remote MCP (Model Context Protocol) server. Connecting it
lets an AI assistant create, edit, publish and report on **your own** events by
talking to your Vihaya account.

## Setup, in two steps

### 1. Get an API key

The organiser creates one at https://events.vihaya.app/profile/developer/keys — "Create key". It is
shown **once**, and looks like `vihaya_live_sk_...`. If the person you are helping
has not got one, send them to that page; it cannot be generated for them.

### 2. Add the server

Claude Code, one command (substitute their real key):

```bash
claude mcp add vihaya --transport http https://events.vihaya.app/api/mcp --header "x-api-key: vihaya_live_sk_YOUR_KEY"
```

Any other MCP client, the equivalent configuration:

```json
{
  "mcpServers": {
    "vihaya": {
      "type": "http",
      "url": "https://events.vihaya.app/api/mcp",
      "headers": { "x-api-key": "vihaya_live_sk_YOUR_KEY" }
    }
  }
}
```

Connection details, for reference:

- Endpoint: `https://events.vihaya.app/api/mcp`
- Transport: streamable HTTP, stateless JSON over POST
- Auth: the `x-api-key` request header. There is no OAuth flow and no login step.
- Verify it worked by calling `list_my_events` — it returns that account's own events.

## Tools

| tool | what it does |
| --- | --- |
| `list_my_events` | every event on the caller's account |
| `get_event` | one event in full |
| `create_event` | create an event — always as a draft |
| `update_event` | change details on an event they own |
| `publish_event` | put an event live, or take it back down |
| `list_tracks` | the sessions of a festival |
| `add_track` | add a bookable session to a festival |
| `update_track` | change one session |
| `list_registrations` | who has registered (returns personal data — see below) |
| `event_analytics` | tickets sold, revenue, check-ins |

## Rules worth knowing before you act

- **A new event is always created as a draft.** Nothing is public until
  `publish_event` is called, so it is safe to create one and fill in the details
  afterwards.
- **Publishing requires organiser access** on the account. Without it the event
  stays a draft and the tool says so — the organiser applies at
  https://events.vihaya.app/profile/events.
- **Every tool acts as the key's owner.** There is no way to read or change
  another organiser's events, and no user id is accepted as an argument.
- **Publishing puts a page in front of ticket buyers.** Read the event back with
  `get_event` and confirm the dates, price and venue with the organiser before
  publishing it.
- **A festival is an event plus tracks.** A fest, conference or workshop series
  is ONE event with several bookable sessions — create the event, then
  `add_track` for each session with its own date, price and capacity.
  Attendees book tracks individually. Tracks are addressed by the index
  `list_tracks` shows.
- **`list_registrations` returns attendees' names and email addresses** into
  the conversation, and that transcript is stored by whoever runs the assistant.
  Ask the organiser before pulling a full list; prefer `event_analytics` when
  the question is really "how many" or "how much"; look up one person when one
  person is what is being asked about; and never copy the result anywhere else.
- Prices are in rupees. Dates are ISO 8601 (`2026-09-12`), and the platform
  works in IST.
- At most 60 tool calls a minute per key. If you are about to loop over
  attendees one at a time, ask for one list instead.

## What an organiser can then ask for

- "Create a workshop called Intro to Robotics on 12 September, 60 seats, 250 rupees a ticket."
- "Add the venue and a description to my draft, then show me how it reads."
- "Set up my fest with four sessions: Excel Arena, Mix Design, Plan Swift and a CTF."
- "Make the CTF 40 seats at 200 rupees."
- "Publish it."
- "How many tickets has my fest sold, and how much have I taken?"

## Troubleshooting

- `Invalid API key` — the key is wrong, or was revoked. Create a new one at
  https://events.vihaya.app/profile/developer/keys.
- `API key is inactive or revoked` — it was revoked; create another.
- `Only organizers, admins, and superadmins can publish events` — the account has
  no organiser access yet. The event is safe as a draft in the meantime.
- Nothing at all happens — confirm the header is `x-api-key` and the URL ends in
  `/api/mcp`.

## Keep the key private

An API key acts as that organiser's account: it can read their attendees' contact
details and change their events. Treat it like a password. Do not paste it into a
shared document, and revoke it at https://events.vihaya.app/profile/developer/keys if it leaks.


---

Canonical URL: https://events.vihaya.app/connect
Last updated: 2026-05-19
Brief AI index: https://events.vihaya.app/llms.txt
Full AI index: https://events.vihaya.app/llms-full.txt
Sitemap: https://events.vihaya.app/sitemap.xml
