使用说明

项目简介

MCP-RTFM 是一个基于 Model Context Protocol (MCP) 构建的文档管理服务器,旨在帮助开发者提升项目文档的质量和可检索性。它通过内容分析、元数据生成和智能搜索等功能,将项目文档转化为结构化、易于理解和使用的知识库,从而有效地解答用户关于项目的常见问题。

主要功能点

  • 文档结构初始化与分析
    • 自动创建和初始化项目文档结构。
    • 分析项目代码和现有文档,提取关键信息。
    • 使用 'unified/remark' 进行 Markdown 内容分析,提升文档内容的结构化程度。
    • 生成智能元数据,例如标题、类别、标签和文档间的关联关系。
  • 文档内容管理
    • 支持读取、更新和获取文档内容。
    • 基于差异的内容更新,确保文档修改的可追溯性。
    • 通过 '[[文档名]]' 语法实现文档间的内容链接,自动跟踪文档关系。
  • 强大的文档搜索
    • 使用 'minisearch' 构建快速、模糊的全文搜索引擎。
    • 支持字段加权搜索,标题匹配优先级更高。
    • 提供搜索结果高亮和上下文展示。
  • 元数据驱动的文档组织
    • 使用类别和标签灵活组织文档。
    • 基于元数据和内容链接自动发现文档间的关联关系。
  • 灵活的文档模板
    • 内置标准文档、API 文档和工作流文档模板。
    • 支持自定义文档模板,满足不同类型的文档需求。

安装步骤

  1. 安装 Node.js 和 npm:确保你的开发环境中已安装 Node.js 和 npm (Node Package Manager)。
  2. 下载仓库代码:从 GitHub 仓库 MCP-RTFM 下载代码到本地。
  3. 安装依赖:在仓库根目录下打开终端,运行以下命令安装项目依赖:
    npm install
  4. 构建服务器:运行以下命令构建服务器代码:
    npm run build
    构建成功后,会在 'build' 目录下生成服务器的可执行文件 'index.js'。

服务器配置

要将 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 文档和源代码。

信息

分类

生产力应用