Connect to an AI agent

Want to connect your AI agent directly to the Edinburgh Festival Listings?

We've launched an MCP server that connects MCP-compatible AI agents directly to the Listings API. Use a commercially available client like Claude, Junie, or Antigravity to explore the listings, ask it questions, or build your own AI application with an MCP client library.

Model Context Protocol (MCP) is an open-source standard that lets AI applications like Claude connect to external tools, data sources, and services in a consistent way.


Getting started

The MCP server offers a streamable HTTP transport at:

https://api.edinburghfestivalcity.com/mcp

Authentication

All requests to the MCP server require authentication by way of an HTTP Authorization header with a Bearer token.

Most applications that can connect to MCP servers offer a way to add authentication, but not all authentication methods are supported by all applications.

Each API key you create will have a unique token you should treat securely. You can find a token for your API key within the key details on your profile.

Configuration examples

Depending on your client and platform, each require slightly different config. We have included examples for some of the mainstream providers.

claude mcp add --transport http edinburgh_festivals https://api.edinburghfestivalcity.com/mcp \
  --header "Authorization: Bearer <<<your-token>>>"

Claude Desktop uses local stdio processes by default. To connect an HTTP-based MCP server, you must use a local stdio-to-HTTP bridge like mcp-remote.

{
  "mcpServers": {
    "edinburgh_festivals": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://api.edinburghfestivalcity.com/mcp",
        "--header",
        "Authorization:Bearer <<<your-token>>>"
      ]
    }
  }
}
{
  "mcpServers": {
    "edinburgh_festivals": {
      "serverUrl": "https://api.edinburghfestivalcity.com/mcp",
      "headers": {
        "Authorization": "Bearer <<<your-token>>>"
      }
    }
  }
}
npx @modelcontextprotocol/inspector \
    --transport http \
    --server-url https://api.edinburghfestivalcity.com/mcp \
    --header "Authorization: Bearer <<<your-token>>>"

Replace <<<your-token>>> with the token found in your access key details


Limitations & eschewed features

Response sizes and format

Currently, each request tool/call will respond with no more than 100 events. We have reduced the size of the objects we return to minimal summary data on events. This is to intentionally limit the amount of data returned in a single response as it would be both impractical to return thousands of events and will only overload your LLM context, consuming tokens, and leading to instability in your client MCP does not support pagination of tool responses, and potentially returning thousands of events in a single response is both impractical and will overload your context while consuming significant numbers of tokens and credits.