Getting started
Prerequisites​
- SSR mode - EventCatalog must run in server mode (not static)
- 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
- Get your MCP URL
https://your-eventcatalog.com/docs/mcp/ - Navigate to the Connectors page in Claude Settings.
- Select Add custom connector
- Select Add
- When using Claude, select the attachments button (the plus icon).
- Select your MCP server.
Claude Code
- Get your MCP URL
https://your-eventcatalog.com/docs/mcp/ - Run the command to connect claude code to your eventcatalog instance
claude mcp add --transport http <name> <url>
Cursor
- Get your MCP URL
https://your-eventcatalog.com/docs/mcp/ - Use
Command+Shift+P(Ctrl+Shift+Pon Windows) to open the Command Palette. - Search for "Open MCP settings"
- Select Add custom MCP. This opens the
mcp.jsonfile. - Add the following to the
mcp.jsonfile:
{
"servers": {
"<your-mcp-server-name>": {
"url": "https://your-eventcatalog.com/docs/mcp/"
}
}
}
VS Code
- Get your MCP URL
https://your-eventcatalog.com/docs/mcp/ - Create a
.vscode/mcp.jsonfile. - Inside the
mcp.jsonfile, 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, domainsgetResource- Get a specific resource by id and versiongetMessagesProducedOrConsumedByResource- Messages a resource sends/receivesgetSchemaForResource- Get OpenAPI, AsyncAPI, or other schemasfindResourcesByOwner- Resources owned by a team or usergetProducersOfMessage- Services that produce a messagegetConsumersOfMessage- Services that consume a messageanalyzeChangeImpact- Impact of changing a messageexplainBusinessFlow- Detailed flow informationgetTeams/getTeam- Query teamsgetUsers/getUser- Query usersfindMessageBySchemaId- Find messages by schema identifiersexplainUbiquitousLanguageTerms- DDD ubiquitous language from domains
See full API documentation →
12 resources​
eventcatalog://all- All resourceseventcatalog://events- All eventseventcatalog://commands- All commandseventcatalog://queries- All querieseventcatalog://services- All serviceseventcatalog://channels- All channelseventcatalog://diagrams- All diagramseventcatalog://containers- All containerseventcatalog://domains- All domainseventcatalog://flows- All flowseventcatalog://teams- All teamseventcatalog://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.txtfeature - 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: