📖 EventCatalog - MCP Server

📖 EventCatalog - MCP Server

Mirror of

MCP-Mirror

Research & Data
Visit Server

README

<div align="center">

<h1>📖 EventCatalog - MCP Server</h1> <h3>Get 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>

Read the Docs | View Demo

</div> <hr/>

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.

  1. Enable the LLMS.txt feature in your EventCatalog instance, by configuring your eventcatalog.config.js file.
  2. 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

  1. Clone the repository
  2. Run pnpm install to install the dependencies
  3. 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

<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

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.

Featured
TypeScript
MCP PubMed Search

MCP PubMed Search

Server to search PubMed (PubMed is a free, online database that allows users to search for biomedical and life sciences literature). I have created on a day MCP came out but was on vacation, I saw someone post similar server in your DB, but figured to post mine.

Featured
Python
dbt Semantic Layer MCP Server

dbt Semantic Layer MCP Server

A server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.

Featured
TypeScript
mixpanel

mixpanel

Connect to your Mixpanel data. Query events, retention, and funnel data from Mixpanel analytics.

Featured
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python
Nefino MCP Server

Nefino MCP Server

Provides large language models with access to news and information about renewable energy projects in Germany, allowing filtering by location, topic (solar, wind, hydrogen), and date range.

Official
Python
Vectorize

Vectorize

Vectorize MCP server for advanced retrieval, Private Deep Research, Anything-to-Markdown file extraction and text chunking.

Official
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

A server that provides access to Mathematica documentation through FastMCP, enabling users to retrieve function documentation and list package symbols from Wolfram Mathematica.

Local
Python
kb-mcp-server

kb-mcp-server

An MCP server aimed to be portable, local, easy and convenient to support semantic/graph based retrieval of txtai "all in one" embeddings database. Any txtai embeddings db in tar.gz form can be loaded

Local
Python
Research MCP Server

Research MCP Server

The server functions as an MCP server to interact with Notion for retrieving and creating survey data, integrating with the Claude Desktop Client for conducting and reviewing surveys.

Local
Python