Docs Mcp

Docs Mcp

🚀 Docs MCP Server

本项目提供了一个灵活的模型上下文协议(MCP)服务器,由 Probe 提供支持,旨在让人工智能助手能够搜索文档或代码库。只需指定一个 Git 仓库或文件夹,你就可以与代码或文档进行对话。

MseeP.ai Security Assessment Badge smithery badge

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

🚀 快速开始

你可以通过以下命令快速启动服务:

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

✨ 主要特性

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

📦 安装指南

通过 Smithery 安装

要通过 Smithery 自动为 Claude Desktop 安装 Docs MCP Server,请运行以下命令:

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

💻 使用示例

基础用法

与任何 GitHub 仓库进行对话

将服务器指向公共或私有 Git 仓库,即可对其内容进行自然语言查询。

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

搜索你的文档

将项目文档(来自本地目录或 Git)集成到服务器中,方便进行搜索。

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

高级用法

创建自定义 MCP 服务器

使用本项目作为模板,创建针对特定文档集甚至代码库的官方 MCP 服务器。

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

📚 详细文档

配置

在根目录中创建 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 克隆/拉取操作。
autoUpdateInterval (运行时) 自动检查 Git 更新的时间间隔(分钟,默认值:0,表示禁用)。将此值设置为大于 0 可启用 Git 克隆和定期 git pull 操作,需要系统路径中可使用 git 命令。
dataDir (运行时) 包含要搜索内容的目录路径,在运行时覆盖从配置文件中定义的 includeDirgitUrl 或打包到软件包中的内容,可用于在不重新构建的情况下将服务器指向实时数据。
toolName (构建/运行时) 服务器公开的 MCP 工具的名称(默认值:search_docs),应选择与内容相关的描述性名称。
toolDescription (构建/运行时) 向 AI 助手显示的 MCP 工具的描述(默认值:"Search documentation using the probe search engine.")。
ignorePatterns (构建/运行时) 全局模式数组。
enableBuildCleanup (构建) 如果为 true(默认值),在构建步骤后从 data 目录中删除常见的二进制/媒体文件(图像、视频、存档等)和大于 100KB 的文件。设置为 false 可禁用此清理操作。
- 如果在构建时使用 includeDir:复制到 data 时将排除匹配这些模式的文件,同时也会遵循 .gitignore 规则。
- 如果在运行时使用 gitUrldataDir:搜索索引器将忽略 data 目录中匹配这些模式的文件。

优先级

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

注意:如果在 同一 配置源中同时提供了 includeDirgitUrl(例如,都在配置文件中,或都作为命令行参数),gitUrl 将优先使用。

创建自己的预构建 MCP 服务器

你可以使用本项目作为模板,创建并发布自己的 npm 软件包,其中预构建了文档或代码,为用户提供零配置体验(如上述示例 2)。

  1. 分叉/克隆此仓库:从本项目的代码开始。
  2. 配置 docs-mcp.config.json:定义指向内容源的 includeDirgitUrl,设置默认的 toolNametoolDescription
  3. 更新 package.json:更改 name(例如,@my-org/my-docs-mcp)、versiondescription 等。
  4. 构建:运行 npm run build,这将把你的内容克隆/复制到 data 目录,并使软件包准备就绪。
  5. 发布:运行 npm publish(需要配置 npm 身份验证)。

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

与 AI 助手一起使用

此 MCP 服务器通过模型上下文协议向连接的 AI 助手公开一个搜索工具,工具的名称和描述可配置(请参阅配置部分),它将搜索当前活动的 data 目录中的内容(由构建设置、配置文件、命令行参数或环境变量确定)。

工具参数

  • query:自然语言查询或描述要搜索内容的关键字(例如,"how to configure the gateway"、"database connection example"、"user authentication"),服务器使用 Probe 的搜索功能查找相关内容(必需)。
  • page:处理多个匹配结果时的页码,省略时默认为 1(可选)。

工具调用示例

{
"tool_name": "search_tyk_docs",
"arguments": {
"query": "gateway rate limiting",
"page": 1 // 请求第一页
}
}
{
"tool_name": "search_tyk_official_docs",
"arguments": {
"query": "dashboard api access",
"page": 2 // 请求第二页
}
}

📄 许可证

本项目采用 MIT 许可证。

  • 0 关注
  • 0 收藏,7 浏览
  • system 提出于 2025-09-23 02:51

相似服务问题