Developers, API & MCP

Bushdrum gives developers and AI agents live access to public event data across Bushdrum cities. The REST API is broader. The public MCP is intentionally smaller: it is a read-only, city-scoped event search interface for agents.

Start Here

Everything below is public and read-only. No auth or API key is needed for normal use.

REST API

The REST API is the system of record and exposes the full public event surface. A good first call is the city directory, so you know which Bushdrum hubs currently have public coverage.

https://bushdrum.com/api

Common Endpoints

EndpointDescription
GET /api/citiesList public Bushdrum cities with event and venue counts
GET /api/eventsList and filter events by city, category, vibe, date, venue, price, and more
GET /api/events/{id}Event detail with source links, venue info, and city hint
GET /api/filtersAvailable filter options with counts, optionally scoped to one city
GET /api/venuesVenue directory, optionally scoped to one city

Examples

List available cities first:

curl "https://bushdrum.com/api/cities"

Get upcoming music events in Zurich:

curl "https://bushdrum.com/api/events?city=zurich&category=music&sort=date_asc"

Search for Kaufleuten events in Zurich:

curl "https://bushdrum.com/api/events?city=zurich&q=Kaufleuten&per_page=10"

MCP Server

Bushdrum exposes an MCP server for clients that support MCP. Bushdrum MCP v1 is intentionally small and does one thing well: live event search inside one explicit city.

Available MCP Tools

ToolDescription
list_citiesList public Bushdrum cities with event and venue counts
search_eventsSearch events inside one required city and return structured JSON results

Search Contract

Bushdrum MCP does not expose venue tools, event detail tools, AI search, stats tools, or admin tools. The live public contract is:

search_events(city, limit, q, category[], subcategory, vibe[], audience[], neighborhood, date_from, date_to, is_free, price_max, indoor_outdoor, event_language, tags[], time_from, time_to, age_max)
  • city is required and must be one of the slugs returned by list_cities
  • results are structured JSON, not prose
  • limit defaults to 10 and caps at 20
  • there is no pagination in MCP v1
  • when q is present, Bushdrum keeps the API's normal search relevance ordering

Remote MCP Config

Add this to a remote MCP client:

{
  "mcpServers": {
    "bushdrum": {
      "url": "https://bushdrum.com/mcp"
    }
  }
}

If your client needs the transport spelled out, choose HTTP / Streamable HTTP and use https://bushdrum.com/mcp.

Local Stdio Config

For local development, run the MCP server from this repo and point it at your local API:

{
  "mcpServers": {
    "bushdrum": {
      "command": "python3",
      "args": [
        "/path/to/bushdrum/mcp-server/server.py"
      ],
      "env": {
        "BUSHDRUM_API_URL": "http://localhost:8000"
      }
    }
  }
}

Auto-Discovery

Bushdrum publishes official registry metadata at:

https://bushdrum.com/.well-known/mcp/server.json

A legacy discovery file also remains available at:

https://bushdrum.com/.well-known/mcp.json

For older clients that only support SSE, use the compatibility URL:

https://bushdrum.com/mcp/sse

Recommended Agent Flow

  1. Call list_cities first.
  2. Choose a city slug such as zurich or berlin.
  3. Call search_events(city=...) with only the public filters you need.
  4. If the user does not specify a city, ask for one instead of guessing.

Coverage & Fair Use

  • public city-scoped event search for agents
  • structured JSON outputs designed for agent use
  • default top 10 results, hard max 20, no pagination
  • city-aware Bushdrum event links for handoff back to the site

If you publish Bushdrum data in a product or service, please credit Bushdrum and link back to bushdrum.com.

Contact

Questions, feedback, or partnership ideas? Reach us at [email protected].