mcp-server
by: event-catalog
MCP server for EventCatalog
πOverview
Purpose: The EventCatalog MCP Server aims to enhance the EventCatalog experience by enabling users to interact with their event-driven architecture through various MCP clients.
Overview: EventCatalog is an Open Source tool designed for documenting event-driven architectures. By using the MCP Server, users can easily ask questions and retrieve information about their architecture, including domains, services, and schemas, directly from popular client applications.
Key Features:
-
MCP Client Integration: Seamlessly connect with various MCP clients (e.g., Claude, Cursor, Windsurf) to facilitate interaction with EventCatalog.
-
Local Deployment: Run the MCP server locally with a single command, ensuring quick and easy access to the EventCatalog functionalities.
-
Versatile Queries: Users can inquire about domains, services, and messages, and receive answers within seconds, thus enhancing productivity and understanding of the architecture.
-
Schema Access: Obtain event, query, command, and service schemas in formats like OpenAPI and AsyncAPI, streamlining documentation and integration processes.
π EventCatalog - MCP Server
Get insights from your EventCatalog directly from your MCP Client (Claude, Cursor, Windsurf, etc).
Features: Ask about domains, services and messages. Get answers in seconds. Request schemas, who owns what and much more.
Features
- π€ Connect to any MCP Client (Claude, Cursor, Windsurf, etc)
- π€ Run MCP server locally on your machine with one command
- π€ Connect to your EventCatalog instances
- π€ Ask questions about your architectures
- π€ Ask questions about your OpenAPI and AsyncAPI specifications
- π€ Ask about domains, services and messages, and much more
- π€ Get the schemas for events, queries, commands and services (OpenAPI, AsyncAPI, JSON Schema)
Using AI to get more value from EventCatalog
EventCatalog is an Open Source tool that helps you document your event-driven architecture. You can document your domains, services and messages, schemas and more.
EventCatalog visualizes your architecture, allows you to add semantic meaning for stakeholders, hosts your OpenAPI and AsyncAPI specifications, and integrates with any broker.
With the EventCatalog MCP Server, you can ask questions about your architecture in the tools you already use:
- Developers can integrate the MCP server with MCP supported IDEs (e.g. Cursor, Windsurf)
- Stakeholders can ask questions in tools like Claude
- For tools without MCP protocol support, use the
llms.txt
standard to integrate with other LLM tools (e.g. Gemini, GPT-4)
Getting Started
Installation
First, enable the LLMS.txt
feature in your EventCatalog instance by configuring your eventcatalog.config.js
file and redeploy.
Installing via Smithery
To install EventCatalog for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @event-catalog/mcp-server --client claude
Setup MCP Clients
Each MCP client has a different way of adding the MCP server.
Helpful links to get started:
- Adding the MCP server to Claude Desktop
- Adding the MCP server to Cursor
Adding the MCP server to Claude Desktop
Add the following to your claud_desktop_config.json
file.
MacOS path: ~/Library/Application Support/Claude/claud_desktop_config.json
Windows path: %APPDATA%\Claude\claud_desktop_config.json
{
"mcpServers": {
"eventcatalog": {
"command": "npx",
"args": [
"-y",
"@eventcatalog/mcp-server",
"https://demo.eventcatalog.dev" // Replace with your EventCatalog URL
]
}
}
}
Adding the MCP server to Cursor
Go to Cursor Settings -> MCP Servers -> Add MCP Server.
- Name:
eventcatalog
- Command:
npx
- Args:
-y @eventcatalog/mcp-server {URL_TO_YOUR_EVENTCATALOG_INSTANCE}
Configuration for your project
Create .mcp.json
files in your project to configure the MCP server:
{
"mcpServers": {
"eventcatalog": {
"command": "npx",
"args": ["-y", "@eventcatalog/mcp-server", "https://demo.eventcatalog.dev"]
}
}
}
More about configuration in the Cursor documentation.
API
Resources
eventcatalog://all
- Returns all messages, domains, services in the catalogeventcatalog://domains
- Returns all domainseventcatalog://services
- Returns all serviceseventcatalog://events
- Returns all eventseventcatalog://queries
- Returns all querieseventcatalog://commands
- Returns all commandseventcatalog://flows
- Returns all flowseventcatalog://teams
- Returns all teamseventcatalog://users
- Returns all users
Tools
get_domains
- Returns list of all domainsget_services
- Returns list of all servicesget_events
- Returns list of all eventsget_commands
- Returns list of all commandsget_queries
- Returns list of all queriesget_flows
- Returns list of all flowsget_teams
- Returns list of all teamsget_team
- Returns a teamget_users
- Returns list of all usersget_user
- Returns a user
Schemas
get_event_schema
- Returns schema for an event idget_query_schema
- Returns schema for a query idget_command_schema
- Returns schema for a command id
OpenAPI
get_openapi_spec
- Returns OpenAPI spec for a service idget_asyncapi_spec
- Returns AsyncAPI spec for a service id
Missing an API?
If you need something specific, please open an issue in the GitHub repository to request it.
TODO
Some ideas for the MCP server:
- Add support for private hosted EventCatalog instances (custom headers/auth for fetch requests)
- Add prompts/tools to write to EventCatalog (based on community interest)
- Add support to get teams and users
- Add support to get flows from EventCatalog
Contributing
- Clone the repository
- Run
pnpm install
to install dependencies - Run
pnpm run build
to build
To use the build as your MCP server, point your MCP client to the dist
folder.
Example for Cursor:
{
"mcpServers": {
"eventcatalog": {
"command": "npx",
"args": ["-y", "tsx /PATH_TO_YOUR_REPO/src/index.ts", "https://demo.eventcatalog.dev"]
}
}
}
Sponsors
Thank you to our project sponsors.
Gold sponsors
Gravitee
Manage, secure, and govern every API in your organization
Learn more
Oso
Delivering Apache Kafka professional services to your business
Learn more
Sponsors help make EventCatalog sustainable, want to help the project? Get in touch!
Enterprise support
Interested in collaborating with us? Our offerings include dedicated support, priority assistance, feature development, custom integrations, and more.
Find more details on our services page.
License
Usage of this feature is part of the EventCatalog Pro Edition