Skip to main content

Getting started

i
This feature is available on the Scale plan.

Prerequisites​

  1. SSR mode - EventCatalog must run in server mode (not static)
  2. Scale license - You can get a 14 day free trial at eventcatalog.cloud

Quick start​

Your MCP server is available at:

https://your-eventcatalog.com/docs/mcp/

For local development:

http://localhost:3000/docs/mcp/

Verify the server​

Visit the endpoint in your browser to verify. It returns available tools and resources:

{
"name": "EventCatalog MCP Server",
"version": "1.0.0",
"status": "running",
"tools": ["getResources", "getResource", ...],
"resources": ["eventcatalog://all", "eventcatalog://events", ...]
}

Connect clients​

Claude Desktop
  1. Get your MCP URL https://your-eventcatalog.com/docs/mcp/
  2. Navigate to the Connectors page in Claude Settings.
  3. Select Add custom connector
  4. Select Add
  5. When using Claude, select the attachments button (the plus icon).
  6. Select your MCP server.
Claude Code
  1. Get your MCP URL https://your-eventcatalog.com/docs/mcp/
  2. Run the command to connect claude code to your eventcatalog instance
claude mcp add --transport http <name> <url>
Cursor
  1. Get your MCP URL https://your-eventcatalog.com/docs/mcp/
  2. Use Command + Shift + P (Ctrl + Shift + P on Windows) to open the Command Palette.
  3. Search for "Open MCP settings"
  4. Select Add custom MCP. This opens the mcp.json file.
  5. Add the following to the mcp.json file:
{
"servers": {
"<your-mcp-server-name>": {
"url": "https://your-eventcatalog.com/docs/mcp/"
}
}
}
VS Code
  1. Get your MCP URL https://your-eventcatalog.com/docs/mcp/
  2. Create a .vscode/mcp.json file.
  3. Inside the mcp.json file, add the following:
{
"servers": {
"<your-mcp-server-name>": {
"type": "http",
"url": "https://your-eventcatalog.com/docs/mcp/"
}
}
}

Available tools​

15 built-in tools​

  • getResources - Get events, services, commands, queries, flows, domains
  • getResource - Get a specific resource by id and version
  • getMessagesProducedOrConsumedByResource - Messages a resource sends/receives
  • getSchemaForResource - Get OpenAPI, AsyncAPI, or other schemas
  • findResourcesByOwner - Resources owned by a team or user
  • getProducersOfMessage - Services that produce a message
  • getConsumersOfMessage - Services that consume a message
  • analyzeChangeImpact - Impact of changing a message
  • explainBusinessFlow - Detailed flow information
  • getTeams / getTeam - Query teams
  • getUsers / getUser - Query users
  • findMessageBySchemaId - Find messages by schema identifiers
  • explainUbiquitousLanguageTerms - DDD ubiquitous language from domains

See full API documentation →

12 resources​

  • eventcatalog://all - All resources
  • eventcatalog://events - All events
  • eventcatalog://commands - All commands
  • eventcatalog://queries - All queries
  • eventcatalog://services - All services
  • eventcatalog://channels - All channels
  • eventcatalog://diagrams - All diagrams
  • eventcatalog://containers - All containers
  • eventcatalog://domains - All domains
  • eventcatalog://flows - All flows
  • eventcatalog://teams - All teams
  • eventcatalog://users - All users

Add custom tools​

Extend the MCP server with custom tools in eventcatalog.chat.js:

// eventcatalog.chat.js
export const tools = {
myCustomTool: {
description: 'My custom tool for EventCatalog',
parameters: z.object({
query: z.string().describe('The query parameter'),
}),
execute: async ({ query }) => {
// Your custom logic here
return { result: 'Custom data' };
},
},
};

Custom tools appear alongside built-in tools automatically.

Use standalone server​

For catalogs without SSR mode, use the standalone @eventcatalog/mcp-server package. We plan to deprecate this in a future release, so we recommend migrating to the built-in server when possible.

Standalone server on stdio

For local development and testing, you can use the MCP Server on stdio. This is useful for single-client, low-latency tools.

Prerequisites:

  • EventCatalog configured with the LLMS.txt feature
  • EventCatalog Scale license
  • MCP client installed

Command:

npx -y @eventcatalog/mcp-server {URL_TO_YOUR_EVENTCATALOG_INSTANCE} {EVENTCATALOG_LICENSE_KEY}
Standalone server over HTTP

Run the MCP Server over HTTP for production deployments.

Prerequisites:

  • EventCatalog instance running
  • EventCatalog Scale license
  • MCP client installed

Run using npx:

npx -y @eventcatalog/mcp-server https://your-eventcatalog-instance.com {EVENTCATALOG_LICENSE_KEY} http {PORT} {ROOT_PATH}

Example:

npx -y @eventcatalog/mcp-server https://demo.eventcatalog.dev {EVENTCATALOG_LICENSE_KEY} http 3000 /mcp

This starts the MCP Server over HTTP on port 3000 with root path /mcp.

Run using Docker:

See instructions on the GitHub repository.