Sponsored by Deepsite.site

Eventflare MCP

Created By
mluckx6 days ago
Search 8,000+ corporate and unique event venues across 40+ cities. Tools for venue search by capacity/category, pricing guides, expert advice articles, and inquiry handoff. Read-only, PII-redacted, UTM-attributed.
Overview

Eventflare MCP Server v2

Makes Eventflare's production venue data queryable by AI assistants — Claude, ChatGPT, Perplexity, Cursor — via the Model Context Protocol.

8,000+ corporate event venues across 40+ cities. Designed so LLMs cite Eventflare URLs in their answers and lead-attribution is measurable end-to-end.

What's new in v2

  • Production API + JWT auth — was: dev API with no auth
  • PII redactionjobPhone, venueEmail, commission, spaceNotes etc. never leave the API
  • UTM attribution — every outbound URL is tagged so leads from MCP traffic are attributable in GA4 / Mixpanel / your CRM
  • Client classification — logs distinguish Claude Desktop / ChatGPT / Perplexity / Cursor / etc.
  • Click-through tracking — when a get_venue_details or request_quote references a venue from a prior search_venues in the same session, that's logged as a click-through
  • OpenPanel sink — events mirror to OpenPanel (or any webhook) for the data team
  • New tool: find_expert_advice — surfaces Eventflare's editorial articles. The LLM-citation differentiator.

Tools

ToolDescription
search_venuesFind venues by city + capacity + category + event type. Returns names, pricing, capacity by setup, neighborhood, photos, URLs.
get_venue_detailsFull detail for a specific venue.
get_city_infoOverview of what's available in a city — venue count, categories, price range.
list_citiesAll 40+ cities with venue counts and URLs. Filter by region.
get_pricing_guideIndicative pricing per city, per category.
find_expert_adviceSurface editorial articles from Eventflare's expert-advice library for a city.
request_quoteGenerate a UTM-tagged inquiry URL (no data submission).

All tools include a citation_url and quotable_summary per result, optimized for LLM responses.

Quick start

npm install
cp .env.example .env
# fill EVENTFLARE_API_TOKEN
npm run build
npm start          # stdio — Claude Desktop, Claude Code, Cursor

# or HTTP mode (remote MCP):
TRANSPORT=http PORT=3001 npm start

Connect to Claude Desktop

claude_desktop_config.json:

{
  "mcpServers": {
    "eventflare": {
      "command": "node",
      "args": ["/path/to/eventflare-mcp-server/dist/index.js"],
      "env": {
        "EVENTFLARE_API_TOKEN": "eyJhbGciOi..."
      }
    }
  }
}

Connect to Claude Code

claude mcp add eventflare \
  -e EVENTFLARE_API_TOKEN=eyJhbGciOi... \
  -- node /path/to/eventflare-mcp-server/dist/index.js

Environment variables

See .env.example. Only EVENTFLARE_API_TOKEN is required.

VarDefaultPurpose
EVENTFLARE_API_TOKEN(required)Strapi API token, mcp-readonly role
EVENTFLARE_API_URLhttps://content.eventflare.io/apiAPI base
EVENTFLARE_URLhttps://eventflare.ioSite base for outbound URLs
TRANSPORTstdiostdio or http
PORT3001HTTP port
RATE_LIMIT60Per-IP req/min on /mcp
DASHBOARD_KEY(unset)If set, /dashboard requires ?key=...
OPENPANEL_CLIENT_ID(unset)OpenPanel project id (enables remote sink)
OPENPANEL_CLIENT_SECRET(unset)OpenPanel write key
OPENPANEL_API_URLhttps://api.openpanel.devOpenPanel base
ANALYTICS_SINK_URL(unset)Fallback generic webhook
ANALYTICS_SINK_TOKEN(unset)Bearer token for the webhook
LOG_DIR./logsLocal JSONL logs

Security model

  • Read-only — no POST/PUT/DELETE anywhere. Confirmed against the production API spec (123 endpoints, all GET).
  • JWT auth requiredAuthorization: Bearer ${EVENTFLARE_API_TOKEN} on every outbound request.
  • Field allowlists — uses fields[]= query params so PII fields are never fetched. Defense in depth: a redaction allowlist drops anything that slips through.
  • Input sanitization — every tool param is validated; slugs match ^[a-z0-9-]+$, numbers are clamped, dates ISO-validated.
  • Rate limiting — 60 req/min per IP on /mcp (HTTP transport).
  • No PII logged — analytics fields: tool, city, capacity, event type, category, result count, session id, client class, budget band. Never user identity, never message content.
  • Generic error messages — internal API errors are mapped to stable user-facing strings ("Eventflare API temporarily unavailable"); details only go to stderr.

Analytics

Local: every tool call appends to logs/queries.jsonl and shows on /dashboard.

Remote: if OPENPANEL_CLIENT_ID + OPENPANEL_CLIENT_SECRET are set, every event is mirrored as a mcp.{tool} track event with profileId = sessionId. Use OPENPANEL_API_URL to point at a self-hosted OpenPanel.

Or set ANALYTICS_SINK_URL (+ optional ANALYTICS_SINK_TOKEN) to POST raw events to any HTTP endpoint.

Both options are non-blocking and never throw — analytics failures don't break the MCP.

UTM attribution

Every URL the MCP returns is tagged:

https://eventflare.io/spaces/london/skyline-glass-hall?utm_source=mcp&utm_medium=ai&utm_campaign=search_venues&utm_content=claude_desktop&mcp_session=abc123

So when a planner clicks through and submits an inquiry, your existing GA4 / Mixpanel / CRM picks up the source as mcp / ai. This is the measurement spine for "did the MCP actually drive leads?".

Development

npm run dev        # tsx, no build
npm run inspect    # MCP Inspector UI

Deploy

Railway: push the repo, set env vars in the dashboard, set TRANSPORT=http. Health check is /health. Dashboard is /dashboard?key=....

License

MIT — © Eventflare

Server Config

{
  "mcpServers": {
    "eventflare": {
      "url": "https://eventflare-mcp-server-production.up.railway.app/mcp"
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Serper MCP ServerA Serper MCP Server
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
WindsurfThe new purpose-built IDE to harness magic
Amap Maps高德地图官方 MCP Server
Tavily Mcp
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Playwright McpPlaywright MCP server
CursorThe AI Code Editor
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
ChatWiseThe second fastest AI chatbot™
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
DeepChatYour AI Partner on Desktop