mcpField
D
Docs MCP Server

Docs MCP Server

本地服务
probeai.dev记忆与知识9254 周前更新

关于 Docs MCP Server

Docs MCP Server 是基于 Probe 搜索引擎的 MCP 服务,可将文档或代码库转为 AI 助手可检索的内容。它既可指向本地目录,也可指向 Git 仓库,并支持构建自定义的预置服务包。

主要功能

  1. 01基于 Probe 搜索引擎的检索
  2. 02支持本地目录与 Git 仓库作为内容源
  3. 03可在构建时预置内容到包中
  4. 04运行时可配置内容源与工具名称
  5. 05可通过 autoUpdateInterval 定期拉取 Git 更新

适用场景

  1. 01通过自然语言查询 GitHub 仓库内容
  2. 02为项目文档提供搜索能力
  3. 03基于本项目模板构建专用文档 MCP 服务

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露一个可自定义名称和描述的搜索工具,参数包括 query 和 page。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"docs": {
"command": "npx",
"args": [
"-y",
"@probelabs/docs-mcp"
]
}
}
}
启动命令npx -y @probelabs/docs-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@probelabs/docs-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Docs MCP Server

一个灵活的模型上下文协议(MCP)服务,由 Probe 提供支持,可让 AI 助手搜索任何文档或代码库。

只需指定一个 Git 仓库或文件夹,即可与代码或文档对话:

npx -y @probelabs/docs-mcp@latest --gitUrl https://github.com/probelabs/probe

使用场景:

  • 与任意 GitHub 仓库对话: 将服务指向一个公开或私有的 Git 仓库,即可使用自然语言查询其中的内容。
  • 搜索文档: 集成项目文档(来自本地目录或 Git),方便搜索。
  • 构建自定义 MCP 服务: 将此项目用作模板,创建适用于特定文档集乃至代码库的专属 MCP 服务。

内容源(文档或代码)可以在 npm run build 步骤中预先构建到软件包中,也可以在运行时通过本地目录或 Git 仓库进行动态配置。默认情况下,使用 gitUrl 且未启用自动更新时,服务会下载 .tar.gz 归档,以加快启动速度。只有在 autoUpdateInterval 大于 0 时,才会完整克隆 Git 仓库。

功能

  • 由 Probe 提供支持: 利用 Probe 搜索引擎,高效地提供相关结果。
  • 灵活的内容源: 指定本地目录或克隆 Git 仓库。
  • 预先构建内容: 可选择将文档/代码内容直接打包到软件包中。
  • 动态配置: 通过配置文件、命令行参数或环境变量配置内容源、Git 设置和 MCP 工具详情。
  • 自动更新 Git 内容: 按可配置的间隔自动从 Git 仓库拉取更改,保持内容最新。
  • 可自定义的 MCP 工具: 定义向 AI 助手提供的搜索工具名称和描述。
  • AI 集成: 可与支持模型上下文协议(MCP)的 AI 助手无缝集成。

安装

使用 Claude Desktop 快速开始

添加到 Claude Desktop 配置文件(macOS 上的 ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "docs-search": {
      "command": "npx",
      "args": [
        "-y",
        "@probelabs/docs-mcp@latest",
        "--gitUrl",
        "https://github.com/your-org/your-repo",
        "--toolName",
        "search_docs",
        "--toolDescription",
        "Search documentation"
      ]
    }
  }
}
MCP 客户端集成

你可以配置 MCP 客户端,通过 npx 启动此服务。以下是客户端配置示例(具体语法可能因客户端而异):

示例 1:动态搜索 Git 仓库(Tyk 文档)

此配置指示客户端使用 npx 运行最新的 @probelabs/docs-mcp 软件包,并将 Tyk 文档仓库设为动态内容源。-y 参数会自动确认 npx 安装提示。--toolName 和 --toolDescription 参数用于自定义搜索工具在 AI 助手中的显示方式。

{
  "mcpServers": {
    "tyk-docs-search": {
      "command": "npx",
      "args": [
        "-y",
        "@probelabs/docs-mcp@latest",
        "--gitUrl",
        "https://github.com/TykTechnologies/tyk-docs",
        "--toolName",
        "search_tyk_docs",
        "--toolDescription",
        "Search Tyk API Management Documentation"
      ],
      "enabled": true
    }
  }
}

另外,有些客户端可能允许直接指定完整命令。使用以下配置即可实现与示例 1 相同的效果:

npx -y @probelabs/docs-mcp@latest --gitUrl https://github.com/TykTechnologies/tyk-docs --toolName search_tyk_docs --toolDescription "Search Tyk API Management Documentation"

示例 2:使用预先构建的品牌化 MCP 服务(例如 Tyk 软件包)

如果团队发布了包含特定文档的预构建软件包(例如 @tyk-technologies/docs-mcp),则内容源和工具详情已内置于软件包中,配置会更简单。使用 npx 时仍建议添加 -y 参数。

{
  "mcpServers": {
    "tyk-official-docs": {
      "command": "npx",
      "args": [
        "-y",
        "@tyk-technologies/docs-mcp@latest"
      ],
      "enabled": true
    }
  }
}

此方法非常适合分发适用于官方文档或代码库的标准化搜索体验。请参阅下文的“创建你自己的预构建 MCP 服务”部分。

以下是 Tyk 团队构建其文档 MCP 服务的示例:https://github.com/TykTechnologies/docs-mcp。

配置

在根目录中创建 docs-mcp.config.json 文件,用于定义构建时和运行时使用的默认内容源及 MCP 工具详情(除非被命令行参数或环境变量覆盖)。

示例 1:使用本地目录
{
  "includeDir": "/Users/username/projects/my-project/docs",
  "toolName": "search_my_project_docs",
  "toolDescription": "Search the documentation for My Project.",
  "ignorePatterns": [
    "node_modules",
    ".git",
    "build",
    "*.log"
  ]
}
示例 2:使用 Git 仓库
{
  "gitUrl": "https://github.com/your-org/your-codebase.git",
  "gitRef": "develop",
  "autoUpdateInterval": 15,
  "toolName": "search_codebase",
  "toolDescription": "Search the main company codebase.",
  "ignorePatterns": [
    "*.test.js",
    "dist/",
    "__snapshots__"
  ]
}
配置选项
  • includeDir:(构建时/运行时) 本地目录的绝对路径,其内容会在构建期间复制到 data 目录;如果未指定 dataDir,则会在运行时直接使用该目录。使用此选项或 gitUrl。
  • gitUrl:(构建时/运行时) Git 仓库的 URL。使用此选项或 includeDir。
    • 如果 autoUpdateInterval 为 0(默认值),服务会尝试直接下载 .tar.gz 归档文件(目前假设 GitHub URL 结构为:https://github.com/{owner}/{repo}/archive/{ref}.tar.gz)。这种方式更快,但不支持更新。
    • 如果 autoUpdateInterval > 0,服务会执行 git clone 并启用定期更新。
  • gitRef:(构建时/运行时) 要从 gitUrl 使用的分支、标签或提交哈希(默认值:main)。用于下载 tarball 和执行 Git clone/pull。
  • autoUpdateInterval:(运行时) 自动检查 Git 更新的间隔时间,单位为分钟(默认值:0,即禁用)。设置为 > 0 的值可启用 Git 克隆和定期执行 git pull 操作。要求系统路径中可用 git 命令。
  • dataDir:(运行时) 运行时要搜索的内容所在目录的路径。它会覆盖配置文件中指定或内置于软件包中的 includeDir 或 gitUrl 来源内容。适用于将服务指向实时数据,而无需重新构建。
  • toolName:(构建时/运行时) 服务公开的 MCP 工具名称(默认值:search_docs)。请选择与内容相关的描述性名称。
  • toolDescription:(构建时/运行时) 向 AI 助手显示的 MCP 工具描述(默认值:"使用 probe 搜索引擎搜索文档。")。
  • ignorePatterns:(构建时/运行时) glob 模式数组。
  • enableBuildCleanup:(构建时) 如果为 true(默认值),则在构建步骤后从 data 目录中移除常见的二进制/媒体文件(图像、视频、归档文件等)以及大于 100KB 的文件。设置为 false 可禁用此清理。
    • 如果在构建期间使用 includeDir:复制到 data 时会排除与这些模式匹配的文件。也会遵循 .gitignore 规则。
    • 如果在运行时使用 gitUrl 或 dataDir:data 目录中与这些模式匹配的文件会被搜索索引器忽略。

优先级:

  1. 运行时配置(最高): CLI 参数(--dataDir、--gitUrl 等)和环境变量(DATA_DIR、GIT_URL 等)会覆盖所有其他设置。CLI 参数的优先级高于环境变量。
  2. 构建时配置: docs-mcp.config.json 中的设置(includeDir、gitUrl、toolName 等)定义了 npm run build 使用的默认值,也作为未被覆盖时的运行时默认值。
  3. 默认值(最低): 如果未提供配置,则使用内部默认值(例如,toolName: 'search_docs'、autoUpdateInterval: 5)。

注意:如果在同一配置来源中(例如,同时在配置文件中或同时作为 CLI 参数)提供了 includeDir 和 gitUrl,则优先使用 gitUrl。

创建自己的预构建 MCP 服务

你可以将此项目用作模板,创建并发布自己的 npm 包,并将文档或代码预先构建到包中。这能为用户提供零配置体验(如上文示例 2)。

  1. Fork/Clone 此仓库: 从此项目的代码开始。
  2. 配置 docs-mcp.config.json: 定义指向内容源的 includeDir 或 gitUrl。设置默认的 toolName 和 toolDescription。
  3. 更新 package.json: 修改 name(例如,@my-org/my-docs-mcp)、version、description 等。
  4. 构建: 运行 npm run build。此命令会将内容克隆/复制到 data 目录,并使包做好发布准备。
  5. 发布: 运行 npm publish(需要配置 npm 身份验证)。

现在,用户可以轻松运行你专属的文档服务:npx @my-org/my-docs-mcp@latest。

(之前的“运行”“运行时动态配置”和“环境变量”部分已移除,因为在客户端配置中使用带参数的 npx 是现在主要记录的方式。)

与 AI 助手配合使用

此 MCP 服务通过 Model Context Protocol 向连接的 AI 助手提供搜索工具。工具的名称和描述均可配置(请参阅“配置”部分)。它会搜索当前启用的 data 目录中的内容(由构建设置、配置文件、CLI 参数或环境变量决定)。

工具参数:

  • query:描述要搜索内容的自然语言查询或关键词(例如,“如何配置网关”“数据库连接示例”“用户身份验证”)。服务会使用 Probe 的搜索功能查找相关内容。(必填)
  • page:匹配结果较多时使用的结果页码。省略时默认为 1。(可选)

工具调用示例(使用示例 1 中的 search_tyk_docs):

{
  "tool_name": "search_tyk_docs",
  "arguments": {
    "query": "gateway rate limiting",
    "page": 1 // Requesting the first page
  }
}

工具调用示例(使用 @tyk/docs-mcp 包中的工具):

假设预构建包 @tyk/docs-mcp 将其工具名称定义为 search_tyk_official_docs:

{
  "tool_name": "search_tyk_official_docs",
  "arguments": {
    "query": "dashboard api access",
    "page": 2 // Requesting the second page
  }
}

(之前的“作为 npm 包发布”部分已由上文的“创建自己的预构建 MCP 服务”部分取代。)

第三方集成

通过 Smithery 安装

通过 Smithery 为 Claude Desktop 自动安装 Docs MCP Server:

npx -y @smithery/cli install @probelabs/docs-mcp --client claude

smithery 徽章

社区列表
Docs Server MCP 服务

MseeP.ai 安全评估徽章

使用 GitHub Actions 自动发布 NPM

此项目包含一个可复用的 GitHub Actions 工作流,可让 MCP 服务发布到 NPM 变得极其简单。你可以在任何项目中使用此工作流,在推送 git 标签时自动构建并发布 MCP 服务。

使用可复用的发布工作流

要在自己的项目中使用此自动发布系统,请创建一个文件 .github/workflows/release.yml:

name: Release MCP

on:
  push:
    tags:
      - 'v*'

jobs:
  release:
    uses: probelabs/docs-mcp/.github/workflows/release-mcp.yml@main
    with:
      package-name: '@yourorg/your-mcp-server'
      package-description: 'Your MCP Server Description'
      include-folders: 'src,data,bin'  # Folders to include in the package
      include-files: '*.json,*.md'     # File patterns to include
    secrets:
      NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

然后,只需创建一个 git 标签即可触发发布:

git tag v1.0.0
git push origin v1.0.0
工作流输入参数
参数必填默认值描述
package-name是-NPM 包名称(例如:@org/my-mcp)
package-description否MCP Server包描述
entry-point否src/index.js主入口文件路径
include-folders否src,data,bin要包含的文件夹列表,以逗号分隔
include-files否*.json,*.md,LICENSE要包含的文件模式列表,以逗号分隔
dependencies否{}JSON 字符串格式的其他依赖项
build-command否-发布前要运行的构建命令
node-version否18要使用的 Node.js 版本
配置示例
最简配置
jobs:
  release:
    uses: probelabs/docs-mcp/.github/workflows/release-mcp.yml@main
    with:
      package-name: '@myorg/simple-mcp'
    secrets:
      NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
使用自定义依赖项
jobs:
  release:
    uses: probelabs/docs-mcp/.github/workflows/release-mcp.yml@main
    with:
      package-name: '@myorg/custom-mcp'
      dependencies: '{"lodash": "^4.17.21", "dotenv": "^16.0.0"}'
    secrets:
      NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
包含构建步骤
jobs:
  release:
    uses: probelabs/docs-mcp/.github/workflows/release-mcp.yml@main
    with:
      package-name: '@myorg/built-mcp'
      build-command: 'npm run build && npm run prepare-data'
      include-folders: 'dist,assets'
    secrets:
      NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
前置条件
  1. 将 NPM_TOKEN 密钥添加到你的 GitHub 仓库中(Settings → Secrets → Actions)
  2. 确保你拥有组织/作用域的 npm 发布权限

此工作流会自动:

  • 从 git 标签中提取版本(例如:v1.0.0 → 1.0.0)
  • 生成包含 MCP 依赖项的完整 package.json
  • 运行可选的构建命令
  • 以公开访问权限发布到 NPM

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。