使用说明
项目简介
MCP-RTFM 是一个基于 Model Context Protocol (MCP) 构建的文档管理服务器,旨在帮助开发者提升项目文档的质量和可检索性。它通过内容分析、元数据生成和智能搜索等功能,将项目文档转化为结构化、易于理解和使用的知识库,从而有效地解答用户关于项目的常见问题。
主要功能点
- 文档结构初始化与分析:
- 自动创建和初始化项目文档结构。
- 分析项目代码和现有文档,提取关键信息。
- 使用 'unified/remark' 进行 Markdown 内容分析,提升文档内容的结构化程度。
- 生成智能元数据,例如标题、类别、标签和文档间的关联关系。
- 文档内容管理:
- 支持读取、更新和获取文档内容。
- 基于差异的内容更新,确保文档修改的可追溯性。
- 通过 '[[文档名]]' 语法实现文档间的内容链接,自动跟踪文档关系。
- 强大的文档搜索:
- 使用 'minisearch' 构建快速、模糊的全文搜索引擎。
- 支持字段加权搜索,标题匹配优先级更高。
- 提供搜索结果高亮和上下文展示。
- 元数据驱动的文档组织:
- 使用类别和标签灵活组织文档。
- 基于元数据和内容链接自动发现文档间的关联关系。
- 灵活的文档模板:
- 内置标准文档、API 文档和工作流文档模板。
- 支持自定义文档模板,满足不同类型的文档需求。
安装步骤
- 安装 Node.js 和 npm:确保你的开发环境中已安装 Node.js 和 npm (Node Package Manager)。
- 下载仓库代码:从 GitHub 仓库 MCP-RTFM 下载代码到本地。
- 安装依赖:在仓库根目录下打开终端,运行以下命令安装项目依赖:
npm install - 构建服务器:运行以下命令构建服务器代码:
构建成功后,会在 'build' 目录下生成服务器的可执行文件 'index.js'。npm run build
服务器配置
要将 MCP-RTFM 服务器配置到 MCP 客户端(例如 Roo Cline 或 Claude Desktop),你需要提供服务器的启动命令和参数。以下是配置示例,你需要根据实际情况修改 '<path-to-mcp-rtfm>' 为你本地仓库的路径。
VSCode (Roo Cline) 配置示例:
打开 VSCode 的全局存储设置文件 'cline_mcp_settings.json',通常路径如下:
- Windows: '%APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json'
- MacOS: '~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json'
- Linux: '~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json'
在 'mcpServers' 字段中添加以下配置:
{ "mcpServers": { "mcp-rtfm": { "command": "node", // 启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件 "args": ["<path-to-mcp-rtfm>/build/index.js"], // 命令参数,指向构建后的服务器入口文件 "disabled": false, // 设置为 false 启用该服务器 "alwaysAllow": [] // 允许始终访问的工具列表,默认为空 } } }
Claude Desktop 配置示例:
打开 Claude Desktop 的配置文件 'claude_desktop_config.json',通常路径如下:
- Windows: '%APPDATA%\Claude\claude_desktop_config.json'
- MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Linux: '~/.config/Claude/claude_desktop_config.json'
在 'mcpServers' 字段中添加与 VSCode 相同的配置信息:
{ "mcpServers": { "mcp-rtfm": { "command": "node", "args": ["<path-to-mcp-rtfm>/build/index.js"], "disabled": false, "alwaysAllow": [] } } }
基本使用方法
配置完成后,在 MCP 客户端中即可使用 MCP-RTFM 服务器提供的工具。以下是一些基本的使用示例,展示如何通过 'use_mcp_tool' 调用服务器提供的工具:
1. 初始化项目文档结构并进行元数据增强:
await use_mcp_tool({ server: "mcp-rtfm", // 指定使用的 MCP 服务器名称,与配置中的 server name 一致 tool: "analyze_project_with_metadata", // 调用 'analyze_project_with_metadata' 工具 args: { projectPath: "/path/to/your/project" } // 工具的参数,指定项目根路径 });
2. 搜索文档内容:
const searchResults = await use_mcp_tool({ server: "mcp-rtfm", tool: "search_docs", // 调用 'search_docs' 工具进行文档搜索 args: { projectPath: "/path/to/your/project", // 项目根路径 query: "authentication" // 搜索关键词 } }); console.log(searchResults); // 打印搜索结果
3. 更新文档内容 (示例为更新 'techStack.md' 文件):
// 首先读取文档 await use_mcp_tool({ server: "mcp-rtfm", tool: "read_doc", // 调用 'read_doc' 工具读取文档 args: { projectPath: "/path/to/your/project", // 项目根路径 docFile: "techStack.md" // 要读取的文档文件名 } }); // 然后更新文档内容 await use_mcp_tool({ server: "mcp-rtfm", tool: "update_doc", // 调用 'update_doc' 工具更新文档 args: { projectPath: "/path/to/your/project", // 项目根路径 docFile: "techStack.md", // 要更新的文档文件名 searchContent: "[Why this domain is critical to the project]", // 要替换的内容 replaceContent: "The tech stack documentation provides essential context for development. See [[workflowDetails]] for implementation steps.", // 替换后的内容 continueToNext: false // 是否继续处理下一个文档 } });
更多工具的使用方法和参数说明,请参考仓库的 README 文档和源代码。
信息
分类
生产力应用