Evento Public MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Evento Public MCP Serverlist upcoming events for user 'john'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: eesti.ai events MCP server
Features
list-eventsLists user events
Optional filters:
type,limit
get-eventGets 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 buildCreate your env file:
cp .env.example .envSet at least:
PUBLIC_API_KEY
Then run:
npm startInstallable 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.mdCanonical source and docs:
Skill file:
https://github.com/andreneves/evento-public-mcp/blob/main/SKILL.mdDocs page:
https://docs.evento.so/mcp-server/skill
Versioning and sync policy
Source of truth is this repository's
SKILL.mdWhen updating skill behavior or instructions, update
SKILL.mdfirstKeep the docs mirror page in sync:
evento-docs/ai/skill.mdxBump
metadata.versioninSKILL.mdfor meaningful content changesVerify the docs page still reflects the full file content before release
Environment Variables
Required:
PUBLIC_API_KEYDeveloper-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 ifPUBLIC_API_KEYis 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
argsRestart 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.tsprocess entrypoint
src/mcp-server.tsMCP protocol handling (
tools/list,tools/call)
src/public-tools.tssingle runtime registry (
PUBLIC_TOOLS)generic executor (
executePublicTool)auth/header injection, path interpolation, timeout/retry, normalized response
PUBLIC_MCP.tools.jsonmanifest mirror of runtime tools
Execution flow:
MCP client calls
tools/listserver returns
PUBLIC_TOOLSMCP client calls
tools/callserver delegates to
executePublicTool(name, args)executor validates required args, resolves path placeholders, strips path args from body
executor calls Evento API with auth header and retry/timeout policy
executor normalizes success/error payload back to MCP response
Local Development
Install deps:
npm installRun directly in TypeScript:
npm run devBuild:
npm run buildRun built server:
npm startTesting and Verification
Run tests:
npm testRun build + tests:
npm run verifySmoke check (live API):
EVENTO_SMOKE_USERNAME=your-username npm run smokeTest layers included:
Unit:
tests/public-tools.unit.test.tsManifest parity:
tests/manifest-parity.test.tsMCP stdio e2e:
tests/mcp.e2e.test.ts
Adding a New Tool
Add a new tool definition to
PUBLIC_TOOLSinsrc/public-tools.tsname, description, method, path, input schema
Ensure route/path placeholders align with args
Update
PUBLIC_MCP.tools.jsonto matchAdd/extend unit tests and parity assertions
Run
npm run verify
Error Handling and Retry Policy
Retries on retryable statuses:
408,429,5xxRetries on retryable network errors (timeout / DNS / connection reset classes)
Controlled by env vars (
EVENTO_API_RETRY_*)Returns MCP
isError: truewith structured error payload when failed
Troubleshooting
Missing API key
Symptom:
Tool call returns missing key error
Fix:
Set
PUBLIC_API_KEYin MCP client env config
Tools not visible in client
Fix checklist:
Run
npm run buildConfirm
dist/index.jsexistsConfirm absolute path in MCP config
Restart MCP client app
API errors
Fix checklist:
Verify key is valid for authenticated public endpoints
Verify
EVENTO_API_BASE_URLRun 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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sevenlabsxyz/evento-public-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server