Evento Public MCP Server

Evento Public MCP Server

MCP server to list and get events from Evento's public API using an API key.

Category
访问服务器

README

Evento Public MCP Server

Local MCP server for Evento developer-facing authenticated public APIs.

It runs on your machine over stdio, authenticates every API call with your API key, and can be connected to Claude Desktop (or any MCP client that supports stdio transport).

What This Server Is

  • MCP transport adapter only (stdio)
  • Tool calls mapped to Evento Public API routes
  • Auth injected centrally using your API key
  • No database access, no Supabase, no server-side persistence in MCP layer

This follows the same architecture shape as the admin MCP pattern, with different API routes and key type.

Features

  • list-events
    • Lists user events
    • Optional filters: type, limit
  • get-event
    • Gets one event by ID

Requirements

  • Node.js 18+
  • npm
  • Evento developer-facing API key
  • MCP client (Claude Desktop, Cursor, etc.)

Quick Start

git clone https://github.com/andreneves/evento-public-mcp.git
cd evento-public-mcp
npm install
npm run build

Create your env file:

cp .env.example .env

Set at least:

  • PUBLIC_API_KEY

Then run:

npm start

Installable Skill (SKILL.md)

This repository includes an installable Claude skill file at:

  • SKILL.md

Install it locally:

mkdir -p ~/.claude/skills/evento-public-mcp
cp SKILL.md ~/.claude/skills/evento-public-mcp/SKILL.md

Canonical source and docs:

  • Skill file: https://github.com/andreneves/evento-public-mcp/blob/main/SKILL.md
  • Docs page: https://docs.evento.so/mcp-server/skill

Versioning and sync policy

  • Source of truth is this repository's SKILL.md
  • When updating skill behavior or instructions, update SKILL.md first
  • Keep the docs mirror page in sync: evento-docs/ai/skill.mdx
  • Bump metadata.version in SKILL.md for meaningful content changes
  • Verify the docs page still reflects the full file content before release

Environment Variables

Required:

  • PUBLIC_API_KEY
    • Developer-facing Evento API key used as Authorization: Bearer <key>

Optional:

  • EVENTO_API_BASE_URL (default: https://evento.so/api)
  • EVENTO_API_TIMEOUT_MS (default: 15000)
  • EVENTO_API_RETRY_ATTEMPTS (default: 2)
  • EVENTO_API_RETRY_DELAY_MS (default: 250)
  • EVENTO_PUBLIC_API_KEY (legacy compatibility fallback if PUBLIC_API_KEY is missing)
  • EVENTO_SMOKE_USERNAME (used by smoke command)

MCP Client Configuration

Example Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "evento-public": {
      "command": "node",
      "args": ["/absolute/path/to/evento-public-mcp/dist/index.js"],
      "env": {
        "PUBLIC_API_KEY": "your-evento-api-key",
        "EVENTO_API_BASE_URL": "https://evento.so/api"
      }
    }
  }
}

Notes:

  • Use an absolute path in args
  • Restart Claude Desktop after config changes

Available Tools

list-events

List events for a user.

Input:

  • username (required, string)
  • type (optional, upcoming | past | profile)
  • limit (optional, number)

Route mapping:

  • GET /public/v1/users/{username}/events

get-event

Get event details by ID.

Input:

  • eventId (required, string)

Route mapping:

  • GET /public/v1/events/{eventId}

Architecture

Key files:

  • src/index.ts
    • process entrypoint
  • src/mcp-server.ts
    • MCP protocol handling (tools/list, tools/call)
  • src/public-tools.ts
    • single runtime registry (PUBLIC_TOOLS)
    • generic executor (executePublicTool)
    • auth/header injection, path interpolation, timeout/retry, normalized response
  • PUBLIC_MCP.tools.json
    • manifest mirror of runtime tools

Execution flow:

  1. MCP client calls tools/list
  2. server returns PUBLIC_TOOLS
  3. MCP client calls tools/call
  4. server delegates to executePublicTool(name, args)
  5. executor validates required args, resolves path placeholders, strips path args from body
  6. executor calls Evento API with auth header and retry/timeout policy
  7. executor normalizes success/error payload back to MCP response

Local Development

Install deps:

npm install

Run directly in TypeScript:

npm run dev

Build:

npm run build

Run built server:

npm start

Testing and Verification

Run tests:

npm test

Run build + tests:

npm run verify

Smoke check (live API):

EVENTO_SMOKE_USERNAME=your-username npm run smoke

Test layers included:

  • Unit: tests/public-tools.unit.test.ts
  • Manifest parity: tests/manifest-parity.test.ts
  • MCP stdio e2e: tests/mcp.e2e.test.ts

Adding a New Tool

  1. Add a new tool definition to PUBLIC_TOOLS in src/public-tools.ts
    • name, description, method, path, input schema
  2. Ensure route/path placeholders align with args
  3. Update PUBLIC_MCP.tools.json to match
  4. Add/extend unit tests and parity assertions
  5. Run npm run verify

Error Handling and Retry Policy

  • Retries on retryable statuses: 408, 429, 5xx
  • Retries on retryable network errors (timeout / DNS / connection reset classes)
  • Controlled by env vars (EVENTO_API_RETRY_*)
  • Returns MCP isError: true with structured error payload when failed

Troubleshooting

Missing API key

Symptom:

  • Tool call returns missing key error

Fix:

  • Set PUBLIC_API_KEY in MCP client env config

Tools not visible in client

Fix checklist:

  1. Run npm run build
  2. Confirm dist/index.js exists
  3. Confirm absolute path in MCP config
  4. Restart MCP client app

API errors

Fix checklist:

  1. Verify key is valid for authenticated public endpoints
  2. Verify EVENTO_API_BASE_URL
  3. Run smoke check with a known username

Security Notes

  • Keep API keys in local env config, not source control
  • This project does not store your API key beyond process env

License

ISC

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选