EventCatalog MCP Server
Enables querying event-driven architecture documentation including domains, services, messages, and schemas through MCP clients like Claude and Cursor.
README
<div align="center">
<h1>📖 EventCatalog - MCP Server</h1> <h3>Save time and money by getting insights from your EventCatalog directly from your MCP Client (<a href="https://www.anthropic.com/claude">Claude</a>, <a href="https://www.cursor.com/">Cursor</a>, <a href="https://codeium.com/windsurf">Windsurf</a>, etc)</h3>
<!-- <img width="745" alt="Screenshot 2024-12-13 at 09 56 05" src="https://github.com/user-attachments/assets/f537ec1f-54ee-4de1-996c-c6b72191be39" /> --> <img width="745" alt="EventCatalog" src="./images/mcp.png" />
<h4>Features: Ask about domains, services and messages. Get answers in seconds. Request schemas, who owns what and much more.</h4>
</div> <hr/>
Why EventCatalog MCP Server?
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.
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.
Example questions:
- What events do we have in our architecture?
- Tell me more about the {service} service.
- I want to create a new feature that will send emails when a user signs up, what events do we have in our architecture that are related to user signups?
- Get me the schema for the event
UserCreatedin EventCatalog. - Here is a new version of the
UserCreatedschema, what downstream consumers will be affected by this change?
Rather then digging through your architecture to find the answers you need, you can ask the MCP server directly from your MCP Client.
EventCatalog MCP 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)
- 🤖 Ask questions about ubiquitous language for any domain and their entities
Getting Started
Installation
First, you need to enable the LLMS.txt feature in your EventCatalog instance.
- Enable the
LLMS.txtfeature in your EventCatalog instance, by configuring youreventcatalog.config.jsfile. - Deploy your EventCatalog instance with the
LLMS.txtfeature enabled.
Next, you will need to get a EventCatalog Scale license key, you can get a 14 day trial license key from EventCatalog Cloud.
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.
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
"ABCD-1234-5678-9012-3456-7890" // Replace with your EventCatalog Scale license key
]
}
}
}
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", "ABCD-1234-5678-9012-3456-7890"]
}
}
}
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.
Tools
find_resources- Find resources that are available in EventCatalog
find_resource- Get more information about a service, domain, event, command, query or flow in EventCatalog using its id and version
find_producers_and_consumers- Get the producers (sends) and consumers (receives) for a service in EventCatalog
get_schema- Returns the schema for a service, event, command or query in EventCatalog
review_schema_changes- Reviews schema changes for breaking changes and suggests fixes.
explain_ubiquitous_language_terms- Explain ubiquitous language terms for a given domain
find_owners- Find owners (teams or users) for a domain, services, messages, events, commands, queries, flows or entities in EventCatalog
create_flow- Create a new flow in EventCatalog given a description of the business workflow.
- The tool will check all your resources in EventCatalog to find the best resources to match against the description.
- The flow will be created (markdown file) and can be visualized in EventCatalog.
Resources
eventcatalog://all- All messages, domains and services in EventCatalog
eventcatalog://events- All events in EventCatalog
eventcatalog://domains- All domains in EventCatalog
eventcatalog://services- All services in EventCatalog
eventcatalog://queries- All queries in EventCatalog
eventcatalog://commands- All commands in EventCatalog
eventcatalog://flows- All flows in EventCatalog
eventcatalog://teams- All teams in EventCatalog
eventcatalog://users- All users in EventCatalog
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.
Contributing
- Clone the repository
- Run
pnpm installto 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", "ABCD-1234-5678-9012-3456-7890"]
}
}
}
Sponsors
Thank you to our project sponsors.
Gold sponsors
<div align="center"> <picture> <source srcset="./images/sponsors/gravitee-logo-white.webp" media="(prefers-color-scheme: dark)" /> <img alt="hookdeck" src="./images/sponsors/gravitee-logo-black.svg" width="50%" /> </picture> <p style="margin: 0; padding: 0;">Manage, secure, and govern every API in your organization</p> <a href="https://gravitee.io?utm_source=eventcatalog&utm_medium=web&utm_campaign=sponsorship" target="_blank">Learn more</a> </div>
<hr />
<div align="center"> <img alt="oso" src="./images/sponsors/oso-logo-green.png" width="30%" /> <p style="margin: 0; padding: 0;">Delivering Apache Kafka professional services to your business </p> <a href="https://oso.sh/?utm_source=eventcatalog&utm_medium=web&utm_campaign=sponsorship" target="_blank" >Learn more</a> </div>
<hr />
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.