MCP 检索服务
本文档站点已接入 vitepress-plugin-mcp,将 VitePress 文档以 MCP Server 的形式对外提供检索能力。本篇介绍其工作原理、支持 MCP 的 AI 客户端接入方法及使用限制。
简介
本文档站点已接入 vitepress-plugin-mcp,将 VitePress 文档以「MCP Server」的形式对外提供检索能力。
启用后,支持 MCP 的 AI 客户端(如 Claude Desktop、Cursor、VS Code、opencode 等)可以直接检索 Z-Blog 官方文档内容,而无需手动复制粘贴整篇文档。
- 插件源码:Hal-Spidernight/vitepress-plugin-mcp
- npm 包:
vitepress-plugin-mcp
工作原理
vitepress-plugin-mcp 是一个 Vite 插件。它:
- 复用 VitePress 内置的本地全文搜索(
search.provider: 'local')所生成的search-index.json索引; - 在本地启动一个 Express 服务,作为 MCP Server 运行;
- 通过名为
search_vitepress_docs的工具(tool),按关键词检索文档并返回匹配内容。
重要: 该插件依赖 VitePress 本地搜索的索引数据,因此必须在
themeConfig.search中启用provider: 'local',且启动的是docs:dev(开发服务器),插件才会启动 MCP Server。执行docs:build构建静态站点时,插件会自动跳过启动。
已提供的工具
| 名称 | 说明 |
|---|---|
search_vitepress_docs | 检索本产品的 VitePress 文档。传入一组关键词(中英文各最多 5 个、建议为单词),返回匹配的文档内容。 |
本地启用
1. 安装依赖
bash
pnpm add -D vitepress-plugin-mcp2. 配置 .vitepress/config.mts
在 defineConfig 中引入并启用插件:
ts
import { defineConfig } from 'vitepress'
import { MCPPlugin } from 'vitepress-plugin-mcp'
export default defineConfig({
themeConfig: {
search: {
provider: 'local',
options: {}, // 必须存在
},
// ...其他主题配置
},
vite: {
plugins: [MCPPlugin({ port: 4000 })] // 默认端口 4000
},
})注:
search必须配置为provider: 'local',且options不能为undefined;MCPPlugin可选的配置项:port:MCP Server 监听端口,默认4000;specPath:OpenAPI 规范文件路径(可选)。
3. 启动开发服务器
bash
pnpm run docs:dev启动成功后,控制台会输出 MCP Server 地址:
text
Streamable Server is running on http://localhost:4000/mcp
SSE Server is running on http://localhost:4000/mcp/__sse插件会随开发服务器的文件变更自动重启 MCP Server。
在 AI 客户端中连接
将以下任意一个地址作为 MCP Server 的 URL 填入客户端即可:
- Streamable HTTP:
http://localhost:4000/mcp - SSE:
http://localhost:4000/mcp/__sse
Claude Desktop / Cursor / VS Code 等
在客户端的 MCP 配置中添加一条 type: "sse"(或 streamable-http)的服务:
json
{
"mcpServers": {
"Z-Blog-Docs": {
"type": "sse",
"url": "http://localhost:4000/mcp/__sse"
}
}
}opencode
在 opencode.json 的 mcp 字段中增加:
json
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"zblog-docs": {
"type": "sse",
"url": "http://localhost:4000/mcp/__sse",
"enabled": true
}
}
}校验
连接成功后,AI 客户端应能列出 search_vitepress_docs 工具。向其提问「请检索 Z-Blog 文档中关于 API 的内容」之类的请求即可验证检索是否生效。
注意事项
- 该 MCP Server 仅在本机
docs:dev开发服务器运行期间可用,并未随静态站点对外发布; - 如需在 CI / 构建流程中固定端口或做其他调整,请在
.vitepress/config.mts中按需修改MCPPlugin配置; - 插件依赖 VitePress 本地搜索索引,若后续更换为第三方搜索(如 Algolia、Pagefind),需同步评估该插件的兼容性。