EventCatalog

by event-catalog

16 stars
258 downloads
Not rated
GitHub

About

Provides a dynamic event catalog server for querying and retrieving architectural metadata, enabling developers to explore complex event-driven system components through predefined tools and resources.

Details

Author
event-catalog
Repository
event-catalog/mcp-server
GitHub stars
16
Downloads
258
License
Other
Categories
AI, Design, Developer Tools, Search, Frontend, Infrastructure, Knowledge Base

- 🤖 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

---

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name EventCatalog
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @eventcatalog/mcp-server
    • Argument 3 https://demo.eventcatalog.dev
    • Argument 4 ABCD-1234-5678-9012-3456-7890

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

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.

Next, you will need to get a EventCatalog Scale license key, you can get a 14 day trial license key from EventCatalog Cloud.

To install EventCatalog for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @event-catalog/mcp-server --client claude

If you want to run the MCP server as a standalone Docker container (for example, to run it as an HTTP server), see the Docker Deployment Guide.

This is useful for:
- Running the MCP server in production environments
- Deploying as a containerized service
- Running in HTTP mode for integration with multiple clients
- Kubernetes, Docker Swarm, or other container orchestration platforms

Each MCP client has a different way of adding the MCP server.

You can find some helpful links below to get started.

- Claude Desktop
- Cursor

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.

npm test

To run tests with coverage:

npm test:coverage

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"]
    }
  }
}

find_resources

Find resources that are available in EventCatalog including services, domains, events, commands, queries, flows, entities, channels, teams, users, and docs. Supports filtering by type and search terms. Includes pagination support with cursors.

find_resource

Get more information about a service, domain, event, command, query, flow, entity, or channel in EventCatalog using its id and version. Returns complete resource details including specifications, owners, producers, and consumers.

find_owners

Find owners (teams or users) for a domain, service, message, event, command, query, flow, or entity in EventCatalog. Returns detailed owner information with documentation links.

find_producers_and_consumers

Get the producers (sends) and consumers (receives) for services in EventCatalog. Helps understand message flow and service dependencies.

get_schema

Returns the schema for a service (e.g., OpenAPI, AsyncAPI, GraphQL), event, command, or query in EventCatalog. Supports all major schema formats.

review_schema_changes

Reviews schema changes for breaking changes and suggests fixes. Compares old and new schemas to identify potential issues. Provides recommendations for handling breaking changes.

explain_ubiquitous_language_terms

Explain ubiquitous language terms for a given domain. Returns definitions and context for domain-specific terminology.

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.

eventstorm_to_eventcatalog

Turn a photo of an EventStorm session into an EventCatalog. Automatically generates domains, services, events, commands, flows, and ubiquitous language terms. Creates proper folder structure and MDX files with frontmatter.

create_eventcatalog

Create a new EventCatalog project from scratch. Generates all necessary configuration files (package.json, eventcatalog.config.ts). Sets up the complete folder structure and initial documentation.

- find_resources
- Find resources that are available in EventCatalog including services, domains, events, commands, queries, flows, entities, channels, teams, users, and docs
- Supports filtering by type and search terms
- Includes pagination support with cursors
- find_resource
- Get more information about a service, domain, event, command, query, flow, entity, or channel in EventCatalog using its id and version
- Returns complete resource details including specifications, owners, producers, and consumers
- find_owners
- Find owners (teams or users) for a domain, service, message, event, command, query, flow, or entity in EventCatalog
- Returns detailed owner information with documentation links
- find_producers_and_consumers
- Get the producers (sends) and consumers (receives) for services in EventCatalog
- Helps understand message flow and service dependencies
- get_schema
- Returns the schema for a service (e.g., OpenAPI, AsyncAPI, GraphQL), event, command, or query in EventCatalog
- Supports all major schema formats
- review_schema_changes
- Reviews schema changes for breaking changes and suggests fixes
- Compares old and new schemas to identify potential issues
- Provides recommendations for handling breaking changes
- explain_ubiquitous_language_terms
- Explain ubiquitous language terms for a given domain
- Returns definitions and context for domain-specific terminology
- 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
- eventstorm_to_eventcatalog
- Turn a photo of an EventStorm session into an EventCatalog
- Automatically generates domains, services, events, commands, flows, and ubiquitous language terms
- Creates proper folder structure and MDX files with frontmatter
- create_eventcatalog
- Create a new EventCatalog project from scratch
- Generates all necessary configuration files (package.json, eventcatalog.config.ts)
- Sets up the complete folder structure and initial documentation

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "eventcatalog": {
            "env": {},
            "args": [
                "-y",
                "@eventcatalog/mcp-server",
                "https://demo.eventcatalog.dev",
                "ABCD-1234-5678-9012-3456-7890"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-y",
        "@eventcatalog/mcp-server",
        "https://demo.eventcatalog.dev",
        "ABCD-1234-5678-9012-3456-7890"
    ],
    "command": "npx"
}

Macos

{
    "env": [],
    "args": [
        "-y",
        "@eventcatalog/mcp-server",
        "https://demo.eventcatalog.dev",
        "ABCD-1234-5678-9012-3456-7890"
    ],
    "command": "npx"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "-y",
        "@eventcatalog/mcp-server",
        "https://demo.eventcatalog.dev",
        "ABCD-1234-5678-9012-3456-7890"
    ],
    "command": "cmd"
}

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 UserCreated in EventCatalog.
- Here is a new version of the UserCreated schema, 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.

---

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.