本项目提供了一个灵活的模型上下文协议(MCP)服务器,由 Probe 提供支持,旨在让人工智能助手能够搜索文档或代码库。只需指定一个 Git 仓库或文件夹,你就可以与代码或文档进行对话。
npx -y @buger/docs-mcp@latest --gitUrl https://github.com/buger/probe
你可以通过以下命令快速启动服务:
npx -y @buger/docs-mcp@latest --gitUrl https://github.com/buger/probe
要通过 Smithery 自动为 Claude Desktop 安装 Docs MCP Server,请运行以下命令:
npx -y @smithery/cli install @buger/docs-mcp --client claude
将服务器指向公共或私有 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 服务器。
{
"mcpServers": {
"tyk-official-docs": {
"command": "npx",
"args": [
"-y",
"@tyk-technologies/docs-mcp@latest"
],
"enabled": true
}
}
}
在根目录中创建 docs-mcp.config.json
文件,定义构建和运行时使用的 默认 内容源和 MCP 工具细节(除非被命令行参数或环境变量覆盖)。
{
"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"
]
}
{
"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 |
(运行时) 包含要搜索内容的目录路径,在运行时覆盖从配置文件中定义的 includeDir 或 gitUrl 或打包到软件包中的内容,可用于在不重新构建的情况下将服务器指向实时数据。 |
toolName |
(构建/运行时) 服务器公开的 MCP 工具的名称(默认值:search_docs ),应选择与内容相关的描述性名称。 |
toolDescription |
(构建/运行时) 向 AI 助手显示的 MCP 工具的描述(默认值:"Search documentation using the probe search engine.")。 |
ignorePatterns |
(构建/运行时) 全局模式数组。 |
enableBuildCleanup |
(构建) 如果为 true (默认值),在构建步骤后从 data 目录中删除常见的二进制/媒体文件(图像、视频、存档等)和大于 100KB 的文件。设置为 false 可禁用此清理操作。- 如果在构建时使用 includeDir :复制到 data 时将排除匹配这些模式的文件,同时也会遵循 .gitignore 规则。- 如果在运行时使用 gitUrl 或 dataDir :搜索索引器将忽略 data 目录中匹配这些模式的文件。 |
--dataDir
、--gitUrl
等)和环境变量(DATA_DIR
、GIT_URL
等)将覆盖所有其他设置,命令行参数优先于环境变量。docs-mcp.config.json
中的设置(includeDir
、gitUrl
、toolName
等)定义了 npm run build
期间使用的默认值,并且如果未被覆盖,也将作为运行时的默认值。toolName: 'search_docs'
,autoUpdateInterval: 5
)。注意:如果在 同一 配置源中同时提供了 includeDir
和 gitUrl
(例如,都在配置文件中,或都作为命令行参数),gitUrl
将优先使用。
你可以使用本项目作为模板,创建并发布自己的 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 服务器通过模型上下文协议向连接的 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 许可证。