使用说明
项目简介
MCPRules服务器是一个实现了 Model Context Protocol (MCP) 的后端服务,专门用于管理和提供编程规范与规则。它旨在帮助开发者在不同的开发工具和环境中保持一致的编码标准。通过 MCP 协议,该服务器可以与支持 MCP 协议的客户端(如代码编辑器插件、LLM 应用等)集成,为它们提供编程规则数据,从而提升代码质量和开发效率。
主要功能点
- 规则管理与访问: 通过 MCP 协议提供的工具,客户端可以轻松获取编程规则。规则可以按类别进行过滤,方便用户查找特定领域的规则。
- 灵活的规则来源: 支持从本地文件系统或 GitHub 仓库加载规则,适应不同的项目和团队需求。规则以 Markdown 格式定义,易于编写和维护。
- 结构化规则组织: 规则按照明确的类别组织,例如核心编程原则、代码风格、特定语言指南等,方便管理和检索。
- 可扩展性: 作为一个 MCP 服务器,它可以方便地集成到各种支持 MCP 协议的工具和平台中,为 LLM 应用提供结构化的编程规范上下文。
安装步骤
-
克隆仓库
git clone https://github.com/bartwisch/MCPRules.git cd MCPRules/rules-server -
安装依赖
npm install -
构建服务器
npm run build -
配置环境变量
- 'RULES_FILE_PATH': 必须配置。指定规则文件的路径。可以是本地 Markdown 文件路径,也可以是 GitHub 仓库中 Markdown 文件的 URL。
- 本地文件路径示例:'/path/to/your/rules.md'
- GitHub URL 示例:'https://github.com/yourusername/your-rules-repo/blob/main/rules.md' 或 'https://raw.githubusercontent.com/yourusername/your-rules-repo/main/rules.md'
- 'GITHUB_TOKEN': 可选配置。如果 'RULES_FILE_PATH' 指向私有 GitHub 仓库,则需要设置 GitHub Token 以进行身份验证。
在终端中设置环境变量示例:
export RULES_FILE_PATH=/path/to/your/rules.md # 或 export RULES_FILE_PATH=https://github.com/yourusername/your-rules-repo/blob/main/rules.md # 可选,如果使用私有 GitHub 仓库 export GITHUB_TOKEN=your_github_token - 'RULES_FILE_PATH': 必须配置。指定规则文件的路径。可以是本地 Markdown 文件路径,也可以是 GitHub 仓库中 Markdown 文件的 URL。
服务器配置
对于 MCP 客户端(例如 VSCode Cline 扩展 或 Claude Desktop),您需要配置 MCP 服务器的启动命令。以下是配置示例,请根据您的实际安装路径进行调整。
MCP 服务器名称: 'rules' (或其他您自定义的名称)
启动命令 (command): 'node'
启动参数 (args): '["/path/to/rules-server/build/index.js"]' (请将 '/path/to/rules-server' 替换为 'rules-server' 目录的实际绝对路径)
配置示例 (JSON 格式,用于 MCP 客户端配置):
{ "mcpServers": { "rules": { // 服务器名称,客户端通过此名称引用 "command": "node", // 启动服务器的命令 "args": ["/path/to/rules-server/build/index.js"], // 启动命令的参数,指向编译后的服务器入口文件 "disabled": false, // 是否禁用此服务器,通常设置为 false "alwaysAllow": [] // 总是允许的操作,默认为空数组 } } }
请注意:
- 上述 '/path/to/rules-server' 必须替换 为您 'rules-server' 目录在您计算机上的实际绝对路径。例如,如果您将 'rules-server' 克隆到用户根目录下的 'projects' 文件夹中,那么路径可能类似于 '/Users/yourusername/projects/MCPRules/rules-server/build/index.js' (macOS/Linux) 或 'C:\Users\yourusername\projects\MCPRules\rules-server\build\index.js' (Windows)。
- 具体的客户端配置文件位置请参考仓库 README.md 中 "Configuration" 部分的说明。
基本使用方法
配置完成后,MCP 客户端 (如支持 MCP 的代码编辑器或 LLM 应用) 就可以通过以下工具与 MCPRules 服务器交互:
-
获取规则 (get_rules)
客户端可以调用 'get_rules' 工具来获取所有规则,或者根据类别过滤规则。
- 获取所有规则: 发送空的参数对象 '{}'。
- 按类别获取规则: 发送包含 'category' 字段的参数对象,例如 '{"category": "Code Style and Formatting"}'。
服务器会返回 JSON 格式的规则列表。
-
获取类别 (get_categories)
客户端可以调用 'get_categories' 工具来获取所有可用的规则类别列表。
- 获取所有类别: 发送空的参数对象 '{}'。
服务器会返回 JSON 格式的类别列表。
使用示例 (在支持 MCP 协议的客户端中调用工具):
假设您使用的 MCP 客户端允许您手动调用工具,您可能会看到类似以下的界面或操作方式:
- 调用工具名称: 'rules/get_rules' (假设您配置的服务器名称为 'rules')
- 工具参数: '{ "category": "Code Style and Formatting" }' (例如,获取 "Code Style and Formatting" 类别的规则)
或者
- 调用工具名称: 'rules/get_categories'
- 工具参数: '{}' (获取所有规则类别)
具体的调用方式取决于您使用的 MCP 客户端的功能和界面。请参考您所使用的 MCP 客户端的文档。
信息
分类
开发者工具