Docs MCP 服务器
该项目提供了一个灵活的模型上下文协议 (MCP) 服务器,由Probe提供支持,旨在使 AI 助手可以搜索文档或代码库。
您只需指向 git repo 或文件夹即可与代码或文档聊天。
用例:
**与任何 GitHub 存储库聊天:**将服务器指向公共或私有 Git 存储库,以启用有关其内容的自然语言查询。
**搜索您的文档:**集成您的项目文档(来自本地目录或 Git)以便于搜索。
**构建自定义 MCP 服务器:**使用此项目作为模板来创建您自己的针对特定文档集甚至代码库的官方 MCP 服务器。
内容源(文档或代码)可以在npm run build步骤中预先构建到包中,也可以在运行时使用本地目录或 Git 仓库动态配置。默认情况下,如果使用gitUrl且未启用自动更新,服务器会下载.tar.gz存档以加快启动速度。仅当autoUpdateInterval大于 0 时才会使用完整的 Git 克隆。
特征
**由 Probe 提供支持:**利用Probe搜索引擎获得高效且相关的结果。
**灵活的内容来源:**包括特定的本地目录或克隆 Git 存储库。
**预构建内容:**可选择将文档/代码内容直接捆绑到包中。
**动态配置:**通过配置文件、CLI 参数或环境变量配置内容源、Git 设置和 MCP 工具详细信息。
**自动 Git 更新:**通过以可配置的时间间隔自动从 Git 存储库中提取更改来保持内容新鲜。
**可定制的 MCP 工具:**定义向 AI 助手公开的搜索工具的名称和描述。
**AI 集成:**与支持模型上下文协议 (MCP) 的 AI 助手无缝集成。
Related MCP server: Codebase MCP
用法
使用此服务器的主要方式是通过npx ,它无需本地安装即可下载并运行软件包。这使得它可以轻松地与 AI 助手和 MCP 客户端(如 IDE 扩展)集成。
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 Docs MCP Server:
与 MCP 客户端(例如 IDE)集成
你可以配置你的 MCP 客户端,使用npx启动此服务器。以下是如何配置客户端的示例(具体语法可能因客户端而异):
示例 1:动态搜索 Git 存储库(Tyk 文档)
此配置告知客户端使用npx运行最新的@buger/docs-mcp包,并将其动态指向 Tyk 文档存储库。 -y参数会自动确认npx安装提示。-- --toolName和--toolDescription参数自定义搜索工具在 AI 助手中的显示方式。
或者,某些客户端可能允许直接指定完整命令。您可以使用以下命令实现与示例 1 相同的效果:
示例 2:使用预构建的品牌 MCP 服务器(例如 Tyk 包)
如果团队发布了包含特定文档的预构建包(例如@tyk-technologies/docs-mcp ),则配置会变得更加简单,因为内容源和工具详细信息已嵌入到该包中。对于npx ,仍然建议使用-y参数。
这种方法非常适合为官方文档或代码库提供标准化的搜索体验。请参阅下文“创建您自己的预建 MCP 服务器”部分。
以下是 Tyk 团队如何构建自己的文档 MCP 服务器的示例https://github.com/TykTechnologies/docs-mcp 。
配置
在根目录中创建一个docs-mcp.config.json文件来定义构建期间和运行时使用的默认内容源和 MCP 工具详细信息(除非被 CLI 参数或环境变量覆盖)。
示例 1:使用本地目录
示例 2:使用 Git 存储库
配置选项
includeDir:(**构建/运行时)**本地目录的绝对路径,其内容将在构建期间复制到data目录;如果未指定dataDir,则在运行时直接使用。请使用此路径或gitUrl。gitUrl:(构建/运行时) Git 仓库的 URL。使用此 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:(**运行时)**包含运行时要搜索内容的目录路径。覆盖配置文件中定义或包内置的includeDir或gitUrl的内容。用于将服务器指向实时数据而无需重建。toolName:(**构建/运行时)**服务器公开的 MCP 工具名称(默认值:search_docs)。请选择一个与内容相关的描述性名称。toolDescription:(**构建/运行时)**向 AI 助手显示的 MCP 工具的描述(默认:“使用探测搜索引擎搜索文档。”)。ignorePatterns:(**构建/运行时)**全局模式数组。enableBuildCleanup:(**构建)**如果设置为true(默认值),则在构建步骤后从data目录中删除常见的二进制/媒体文件(图片、视频、存档等)以及大于 100KB 的文件。设置为false则禁用此清理功能。如果在构建期间使用
includeDir:复制到data时将排除与这些模式匹配的文件.gitignore规则也会受到尊重。如果在运行时使用
gitUrl或dataDir:data目录中与这些模式匹配的文件将被搜索索引器忽略。
优先级:
运行时配置(最高): CLI 参数(
--dataDir、--gitUrl等)和环境变量(DATA_DIR、GIT_URL等)会覆盖所有其他设置。CLI 参数优先于环境变量。构建时配置:
docs-mcp.config.json中的设置(includeDir、gitUrl、toolName等)定义了npm run build期间使用的默认值,如果没有被覆盖,则也可作为运行时默认值。**默认值(最低):**如果未提供配置,则使用内部默认值(例如,
toolName: 'search_docs'、autoUpdateInterval: 5)。
注意:如果在同一个配置源中同时提供了includeDir和gitUrl (例如,都在配置文件中,或者都作为 CLI 参数),则gitUrl优先。
创建您自己的预建 MCP 服务器
您可以使用此项目作为模板,创建并发布您自己的 npm 包,其中包含预置的文档或代码。这为用户提供了零配置体验(如上例 2 所示)。
**分叉/克隆此存储库:**从该项目的代码开始。
**配置
docs-mcp.config.json:**定义指向内容源的includeDir或gitUrl。设置默认的toolName和toolDescription。**更新
package.json:**更改name(例如,@my-org/my-docs-mcp)、version、description等。**构建:**运行
npm run build。这会将您的内容克隆/复制到data目录中,并使包准备就绪。**发布:**运行
npm publish(您需要配置 npm 身份验证)。
现在,用户可以轻松运行您的特定文档服务器: npx @my-org/my-docs-mcp@latest 。
(先前的“运行”、“运行时的动态配置”和“环境变量”部分已被删除,因为在客户端配置中使用带有参数的
与人工智能助手一起使用
此 MCP 服务器通过模型上下文协议 (MCP) 向连接的 AI 助手公开一个搜索工具。该工具的名称和描述可配置(参见配置部分)。它会搜索当前活动data目录中的内容(由构建设置、配置文件、CLI 参数或环境变量确定)。
工具参数:
query:用于描述搜索内容的自然语言查询或关键字(例如,“如何配置网关”、“数据库连接示例”、“用户身份验证”)。服务器会使用 Probe 的搜索功能来查找相关内容。(必需)page:处理多个匹配项时的结果页码。如果省略,则默认为 1。(可选)
示例工具调用(使用示例 1 中的
示例工具调用(使用
假设预构建包@tyk/docs-mcp将其工具名称定义为search_tyk_official_docs :
(之前的“作为 npm 包发布”部分已被上面的“创建您自己的预建 MCP 服务器”部分取代。)
执照
麻省理工学院