EU Regulations MCP Server

  • 项目简介

    • 该仓库实现了一套完整的 MCP 服务器框架,用于向 LLM 客户端提供 EU 法规的上下文数据、查询工具以及 Prompts 渲染能力。服务器通过 MCP 协议与客户端通信,处理资源读取、工具执行和提示获取等请求,并支持多种传输方式以便嵌入到不同的 AI 工作流中。
    • 核心组件包括:法规资源与全文数据(SQLite/PostgreSQL 适配层)、可注册的工具集、以及基于 MCP 的服务器入口与工具注册逻辑。客户端可以通过 MCP 的请求/响应格式进行数据查询、工具调用和模板渲染,服务器负责会话管理与能力声明。
  • 主要功能点

    • 资源与数据管理:提供法规、文章、定义、跨引用、适用性规则等的数据访问接口,支持全文检索与跨法规对比。
    • 工具注册与执行:定义并暴露一组工具(如 search_regulations、get_article、get_recital、list_regulations、compare_requirements、map_controls 等),LLM 可以通过 JSON-RPC 调用这些工具并获取结构化结果。
    • Prompts 定义与渲染:内置对法规领域的查询/对话模板,方便在对话中拼接、呈现法规上下文。
    • MCP 传输与协议实现:通过 @modelcontextprotocol/sdk 实现 MCP 服务端,支持向 Claude Desktop、Cursor、VS Code 及其他 MCP 客户端提供服务。
    • 多传输模式支持:提供 STDIO 形式的 MCP 服务入口,以及可选的 HTTP/ Streamable HTTP 传输入口,方便在不同运行环境中部署。
    • 数据库适配层:提供 SQLite(默认 MCP 服务器)与 PostgreSQL 的适配器,确保在本地开发和生产环境中的灵活性。
  • 安装步骤

    • 安装依赖:在项目根目录执行安装命令,自动安装所需的依赖包。
    • 构建数据库:运行构建脚本以生成并填充本地 data/regulations.db 数据库(包含法规、文章、定义、映射等数据)。
    • 启动服务器:使用仓库提供的入口启动 STDIO 或 HTTP 服务器,以接入 MCP 客户端。
    • 访问与测试:通过你的 MCP 客户端(如 Claude Desktop、Cursor 等)将服务器地址、名称和启动命令配置为连接点,并进行测试查询。
  • 服务器配置(供 MCP 客户端使用的 JSON 配置示例说明)

    • 服务器名称(server name):eu-regulations-mcp
    • 启动命令(command):npx
    • 参数(args):"-y", "@ansvar/eu-regulations-mcp"
    • 说明:该配置用于 Claude Desktop/Clude Registry 等环境中,将 MCP 服务器作为一个可安装的节点接入到对话客户端。实际客户端会通过 MCP 协议向服务器发送请求,服务器按规范返回 JSON-RPC 风格的响应。

    备注:上述配置是基于仓库 README 中 Quick Start 的推荐用法,客户端仅需按 MCP 客户端要求提供 server 名称、启动命令和参数即可建立连接。

  • 基本使用方法

    • 启动与连接
      • 在 Claude Desktop 等客户端中添加一个 MCP 服务器,命名为 eu-regulations,命令设置为 npx,参数为 ["-y", "@ansvar/eu-regulations-mcp"],完成后重启 Claude Desktop。
      • 客户端成功连接后即可开始对 EU 法规数据进行查询、比较与工具调用。
    • 常用操作流程
      • 通过工具集合查询法规中的相关文章或定义,例如“搜索法规中的 incident 报告相关要求”。
      • 调用 get_article、get_recital 等工具检索具体文章/ recital 的原文内容。
      • 使用 compare_requirements、map_controls、check_applicability 等工具进行跨法规对比、控件映射和合规性分析。
    • 兼容性提醒
      • 该实现提供了基本的 MCP 功能及工具集合,具体输出格式遵循 MCP 标准的 JSON-RPC 风格响应,便于与 LLM 客户端进行无缝集成。
      • 如需 HTTP 入口,可选使用仓库内的 http-server 实现,以流式传输等方式暴露 MCP 服务。
  • 额外信息

    • 服务器默认通过 SQLite 数据库 data/regulations.db 提供数据访问能力,亦支持 PostgreSQL 适配,便于扩展与云端部署。
    • 提供了广泛的工具集用于法规查询、对比、定义、映射和可用性分析,方便在对话中实现丰富的法规上下文交互。

服务器信息