项目简介
MCPRules 是一个基于 Model Context Protocol (MCP) 的服务器,旨在管理和提供编程规范与规则。它允许开发者将代码规范整理成结构化的规则集,并通过 MCP 协议提供的工具接口,供支持 MCP 协议的 LLM 客户端(如代码编辑器插件、 Claude 等)访问和使用。这有助于在开发过程中保持代码风格和质量的一致性。
主要功能点
- 规则管理: 通过 MCP 工具访问和检索编程规则,支持按类别过滤规则。
- 灵活存储: 支持本地文件系统和 GitHub 仓库作为规则的存储源。规则以 Markdown 格式定义,易于编辑和管理。
- 分类组织: 内置多种规则类别,如核心编程原则、代码风格、语言特定指南、项目管理规则和操作系统特定规则,方便用户组织和查找规则。
- 工具集成: 提供标准的 MCP 工具接口,可以方便地集成到各种支持 MCP 协议的开发工具和 LLM 客户端中。
安装步骤
-
克隆仓库
git clone https://github.com/MCP-Mirror/bartwisch_MCPRules.git cd bartwisch_MCPRules/rules-server -
安装依赖
npm install -
构建服务器
npm run build -
配置环境变量 设置 'RULES_FILE_PATH' 环境变量,指向您的规则文件路径。可以是本地 Markdown 文件路径或 GitHub 仓库中规则文件的 URL。如果规则文件位于私有 GitHub 仓库,还需要设置 'GITHUB_TOKEN' 环境变量。
export RULES_FILE_PATH=/path/to/your/rules.md # 本地文件示例 # export RULES_FILE_PATH=https://github.com/your-org/your-repo/blob/main/rules.md # GitHub URL 示例 # export GITHUB_TOKEN=your_github_token # 私有仓库可选
服务器配置
要将 MCPRules 服务器配置到 MCP 客户端,您需要提供服务器的启动命令和参数。以下是一些常见 MCP 客户端的配置示例。
对于 VSCode Cline Extension:
在 'cline_mcp_settings.json' 文件中,添加如下配置 (请根据实际路径替换 '/path/to/rules-server/build/index.js'):
{ "mcpServers": { "rules": { "command": "node", "args": ["/path/to/rules-server/build/index.js"], "disabled": false, "alwaysAllow": [] } } }
- 'server name': 'rules' (服务器名称,客户端用于标识和调用)
- 'command': 'node' (启动服务器的命令,这里使用 Node.js 运行时)
- 'args': '["/path/to/rules-server/build/index.js"]' (命令参数,指向编译后的服务器入口文件)
- 'disabled': 'false' (是否禁用此服务器,'false' 表示启用)
- 'alwaysAllow': '[]' (允许客户端始终访问的工具列表,默认为空)
对于 Claude Desktop:
请参考 Claude Desktop 的 MCP 服务器配置文档进行配置,配置信息与 VSCode Cline Extension 类似,关键在于提供正确的 'command' 和 'args' 以启动 MCPRules 服务器。
基本使用方法
MCPRules 服务器提供了以下工具供客户端调用:
-
get_rules: 获取规则。
- 可以不带参数获取所有规则。
- 可以通过 'category' 参数指定规则类别,例如 '{"category": "Code Style"}'。
- 返回 JSON 格式的规则列表。
-
get_categories: 获取所有规则类别。
- 无需参数。
- 返回 JSON 格式的类别列表。
客户端可以使用 MCP 协议的 'CallToolRequest' 请求调用这些工具,并根据返回的 'content' 获取规则或类别信息。具体调用方式请参考您使用的 MCP 客户端的文档。
例如,在支持 MCP 协议的代码编辑器或 LLM 应用中,您可以配置并连接 MCPRules 服务器,然后使用 "get_rules" 工具来查询特定类别的编码规范,或者使用 "get_categories" 工具来查看所有可用的规范类别。
信息
分类
开发者工具