事件目录MCP服务器

EventCatalog MCP服务器是一个开源工具,帮助用户通过MCP客户端直接从EventCatalog中获取架构洞察,包括文档、服务和消息查询等功能。

  • by event-catalog
  • TypeScript
  • 本地部署
  • 24 星标
  • 更新于
在 GitHub 查看 event-catalog/mcp-server

使用说明

📖 EventCatalog - MCP Server

Save time and money by getting 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.

阅读文档 | 查看演示


为什么选择EventCatalog MCP服务器?

EventCatalog是一个开源工具,可帮助您记录事件驱动的架构。 使用EventCatalog,您可以记录您的域、服务和消息、模式等等。

使用 事件目录MCP服务器 通过在您已经使用的工具中询问有关架构的问题,您可以从EventCatalog中获得更多价值。

示例问题:

  • 我们的建筑中有哪些事件?
  • 告诉我有关{service}服务的更多信息。
  • 我想创建一个新功能,在用户注册时发送电子邮件,我们的架构中有哪些与用户注册相关的事件?
  • 给我事件的模式 UserCreated 在EventCatalog中。
  • 这是一个新版本的 UserCreated 模式,哪些下游消费者会受到这一变化的影响?

您可以直接从MCP客户端询问MCP服务器,而不是深入了解您的架构以找到所需的答案。


事件目录MCP功能

  • 🤖 连接到任何MCP客户端(克劳德, 光标, 帆板运动等)
  • 🤖 使用一个命令在您的计算机上本地运行MCP服务器
  • 🤖 连接到EventCatalog实例
  • 🤖 询问有关架构的问题
  • 🤖 询问有关OpenAPI和AsyncAPI规范的问题
  • 🤖 询问域名、服务和消息等
  • 🤖 获取事件、查询、命令和服务的模式(OpenAPI、AsyncAPI、JSON模式)
  • 🤖 询问任何领域及其实体的泛在语言问题

入门指南

安装

首先,您需要启用 LLMS.txt 特征 在EventCatalog实例中。

  1. 启用 LLMS.txt 特征 在EventCatalog实例中,通过配置 eventcatalog.config.js 文件。
  2. 使用部署EventCatalog实例 LLMS.txt 功能已启用。

接下来,您需要获取EventCatalog Scale许可证密钥,您可以从以下网址获取14天试用许可证密钥 事件目录云.

通过Smithery安装

通过以下方式自动安装克劳德桌面的EventCatalog 史密瑟里:

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

作为Docker容器运行

如果您想将MCP服务器作为独立的Docker容器运行(例如,将其作为HTTP服务器运行),请参阅 Docker部署指南.

这有助于:

  • 在生产环境中运行MCP服务器
  • 部署为容器化服务
  • 以HTTP模式运行以与多个客户端集成
  • Kubernetes、Docker Swarm或其他容器编排平台

运输方式

EventCatalog MCP服务器支持两种传输模式:

STDIO模式(默认)

  • 使用标准输入/输出进行通信
  • 非常适合本地开发和MCP客户端,如Claude Desktop和Cursor
  • 将服务器添加到MCP客户端时自动启动
  • 无需暴露端口
  • 推荐:Claude Desktop、Cursor、Windsurf和其他桌面MCP客户端

HTTP模式

  • 在指定端口上作为HTTP服务器运行(默认值:3000)
  • 非常适合生产部署和容器环境
  • 允许多个客户端连接到单个服务器实例
  • 包括用于监控的健康检查端点
  • 推荐:Docker部署、Kubernetes、生产环境和多客户端设置

要使用HTTP模式,请传递 http 作为传输参数:

npx -y @eventcatalog/mcp-server {URL} {LICENSE_KEY} http {PORT}

或设置 MCP_TRANSPORT 环境变量 http (参见 Docker部署指南 详细信息)。

设置MCP客户端

每个MCP客户端都有不同的添加MCP服务器的方式。

你可以在下面找到一些有用的链接来开始。

将MCP服务器添加到Claude Desktop

要在Claude Desktop中使用此功能,请将以下内容添加到您的 claud_desktop_config.json 文件。MacOS上的完整路径: ~/Library/Application Support/Claude/claud_desktop_config.json,在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
      ]
    }
  }
}

将MCP服务器添加到游标

转到光标设置->MCP服务器->添加MCP服务器。

  • 姓名: eventcatalog
  • 命令: npx
  • Args: -y @eventcatalog/mcp-server {URL_TO_YOUR_EVENTCATALOG_INSTANCE}

项目的配置

您还可以创建 .mcp.json 使用Cursor为项目配置MCP服务器。

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

您可以在 光标文档.

API

以下是MCP服务器支持的所有API的列表。

工具

  • find_resources
    • 查找EventCatalog中可用的资源,包括服务、域、事件、命令、查询、流、实体、渠道、团队、用户和文档
    • 支持按类型和搜索词过滤
    • 包括光标分页支持
  • find_resource
    • 使用其id和版本在EventCatalog中获取有关服务、域、事件、命令、查询、流、实体或通道的更多信息
    • 返回完整的资源详细信息,包括规格、所有者、生产者和消费者
  • find_owners
    • 在EventCatalog中查找域、服务、消息、事件、命令、查询、流或实体的所有者(团队或用户)
    • 通过文档链接返回详细的所有者信息
  • find_producers_and_consumers
    • 获取EventCatalog中服务的生产者(发送方)和消费者(接收方)
    • 帮助理解消息流和服务依赖关系
  • get_schema
    • 返回EventCatalog中服务(例如OpenAPI、AsyncAPI、GraphQL)、事件、命令或查询的模式
    • 支持所有主要模式格式
  • review_schema_changes
    • 检查架构更改是否存在破坏性更改,并提出修复建议
    • 比较新旧模式以识别潜在问题
    • 提供处理重大更改的建议
  • explain_ubiquitous_language_terms
    • 解释给定领域中无处不在的语言术语
    • 返回特定领域术语的定义和上下文
  • create_flow
    • 在EventCatalog中创建一个新的流,给出业务工作流的描述
    • 该工具将检查EventCatalog中的所有资源,以找到与描述相匹配的最佳资源
    • 将创建流(markdown文件),并可以在EventCatalog中可视化
  • eventstorm_to_eventcatalog
    • 将EventStorm会话的照片转换为EventCatalog
    • 自动生成域、服务、事件、命令、流和无处不在的语言术语
    • 使用frontmatter创建正确的文件夹结构和MDX文件
  • create_eventcatalog
    • 从头开始创建新的EventCatalog项目
    • 生成所有必要的配置文件(package.json、eventcatalog.config.ts)
    • 设置完整的文件夹结构和初始文档

资源

资源提供了对EventCatalog中数据集合的快速访问。它们可用于获取有关您的架构的上下文。

  • eventcatalog://all
    • EventCatalog中的所有资源(消息、域、服务、流、团队、用户等)
    • 使用此功能可以全面了解您的架构
  • eventcatalog://events
    • EventCatalog中的所有事件
    • 包括事件名称、版本和描述
  • eventcatalog://commands
    • EventCatalog中的所有命令
    • 查看系统中的所有命令消息
  • eventcatalog://queries
    • EventCatalog中的所有查询
    • 访问所有查询消息
  • eventcatalog://services
    • EventCatalog中的所有服务
    • 完整的服务列表及其元数据
  • eventcatalog://domains
    • EventCatalog中的所有域
    • 查看域边界和子域
  • eventcatalog://flows
    • EventCatalog中的所有流(业务流程)
    • 访问工作流定义和状态机
  • eventcatalog://teams
    • EventCatalog中的所有团队
    • 查看团队信息和所有权
  • eventcatalog://users
    • EventCatalog中的所有用户
    • 访问用户配置文件和所有权信息

缺少API?

我们正在努力为MCP服务器添加更多API。如果你需要一些具体的东西,请 打开一个问题 我们将把它添加到服务器上。

贡献

  1. 克隆仓库
  2. 跑 npm install 安装依赖项
  3. 跑 npm run build

运行测试

npm test

要运行覆盖率测试,请执行以下操作:

npm test:coverage

要将该版本用作MCP服务器,您可以将MCP客户端指向 dist 文件夹。

光标示例:

{
  "mcpServers": {
    "eventcatalog": {
      "command": "npx",
      "args": ["-y", "tsx /PATH_TO_YOUR_REPO/src/index.ts",  "https://demo.eventcatalog.dev", "ABCD-1234-5678-9012-3456-7890"]
    }
  }
}

许可证

此功能的使用是 EventCatalog规模计划