what is EventCatalog - MCP Server?
EventCatalog - MCP Server is an open-source tool designed to enhance the documentation and querying of event-driven architectures by integrating with various MCP clients.
how to use EventCatalog - MCP Server?
To use the MCP Server, enable the LLMS.txt feature in your EventCatalog instance, deploy it, and configure your MCP clients (like Claude or Cursor) to connect to the server.
key features of EventCatalog - MCP Server?
- Connects to multiple MCP clients (e.g., Claude, Cursor, Windsurf)
- Local deployment with a single command
- Queries about domains, services, messages, and schemas
- Supports OpenAPI and AsyncAPI specifications
- Provides schemas for events, queries, commands, and services
use cases of EventCatalog - MCP Server?
- Developers can document and query their event-driven architectures.
- Stakeholders can ask questions about the architecture using their preferred tools.
- Integration with various IDEs to enhance development workflows.
FAQ from EventCatalog - MCP Server?
- Can I use EventCatalog with any MCP client?
Yes! EventCatalog supports multiple MCP clients and can be integrated with any that follow the MCP protocol.
- Is there a cost associated with using EventCatalog - MCP Server?
No, it is an open-source tool and free to use.
- How do I contribute to the project?
You can contribute by cloning the repository, installing dependencies, and submitting pull requests.
📖 EventCatalog - MCP Server
Claude, Cursor, Windsurf, etc)
Get insights from your EventCatalog directly from your MCP Client (
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. Using EventCatalog you can document your domains, services and messages, schemas and much more.
EventCatalog will visualize your architecture for you all, provide the ability to add semantic meaning for stakeholders, host your OpenPAI and AsyncAPI specifications and integrate with any broker in the world.
Using the EventCatalog MCP Server you can get more value from your EventCatalog by asking 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 about your architecture in the tools they use (e.g Claude)
- If you are using tools that do not support the MCP protocol, you can still use the
llms.txt
standard to integrate with other LLLM tools (e.g Gemini, GPT-4)
Getting Started
Installation
First, you need to enable the LLMS.txt
feature in your EventCatalog instance.
- Enable the
LLMS.txt
feature in your EventCatalog instance, by configuring youreventcatalog.config.js
file. - Deploy your EventCatalog instance with the
LLMS.txt
feature enabled.
Setup MCP Clients
Each MCP client has a different way of adding the MCP server.
You can find some helpful links below to get started.
Adding the MCP server to Claude Desktop
To use this with Claude Desktop, add the following to your claud_desktop_config.json
file. The full path on MacOS: ~/Library/Application Support/Claude/claud_desktop_config.json
, on Windows: %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
You can also create .mcp.json
files in your project to configure the MCP server for your project using Cursor.
{
"mcpServers": {
"eventcatalog": {
"command": "npx",
"args": ["-y", "@eventcatalog/mcp-server", "https://demo.eventcatalog.dev"]
}
}
}
You can read more about configuration for your project in the Cursor documentation.
API
Here is a list of all the APIs that the MCP server supports.
Resources
eventcatalog://all
- Returns all messages, domains, services in the catalog
eventcatalog://domains
- Returns all domains in the catalog
eventcatalog://services
- Returns all services in the catalog
eventcatalog://events
- Returns all events in the catalog
eventcatalog://queries
- Returns all queries in the catalog
eventcatalog://commands
- Returns all commands in the catalog
eventcatalog://flows
- Returns all flows in the catalog
eventcatalog://teams
- Returns all teams in the catalog
eventcatalog://users
- Returns all users in the catalog
Tools
get_domains
- Gets and returns a list of all domains in the catalog
get_services
- Gets and returns a list of all services in the catalog
get_events
- Gets and returns a list of all events in the catalog
get_commands
- Gets and returns a list of all commands in the catalog
get_queries
- Gets and returns a list of all queries in the catalog
get_flows
- Gets and returns a list of all flows in the catalog
get_teams
- Gets and returns a list of all teams in the catalog
get_team
- Gets and returns a team from the catalog
get_users
- Gets and returns a list of all users in the catalog
get_user
- Gets and returns a user from the catalog
Schemas
get_event_schema
- Gets and returns the schema for a given event id
get_query_schema
- Gets and returns the schema for a given query id
get_command_schema
- Gets and returns the schema for a given command id
OpenAPI
get_openapi_spec
- Gets and returns the OpenAPI spec for a given service id
get_asyncapi_spec
- Gets and returns the AsyncAPI spec for a given service id
Missing an API?
We are working on adding more APIs to the MCP server. If you need something specific, please open an issue and we will add it to the server.
TODO
Some ideas for the MCP server, feel free to add to the list!
- Add support for private hosted EventCatalog instances
- We make fetch requests to EventCatalog instances, let the user specify custom headers or auth params we can add onto each request.
- Add prompts / tools to write to EventCatalog, if we get interest from the community
- Add support to get teams and users
- Add support to get flows from EventCatalog
Contributing
- Clone the repository
- Run
pnpm install
to install the dependencies - Run
pnpm run build
To use the build as your MCP server you can 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
Sponsors help make EventCatalog sustainable, want to help the project? Get in touch! Or visit our sponsor page.
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.