mdbook mcp服务器
用于mdbook项目的通用MCP(模型上下文协议)服务器。此服务器允许Claude Code和其他MCP客户端以编程方式访问和读取mdbook文档。
特性
- 📖 阅读mdbook结构:从获取目录
SUMMARY.md元数据来自book.toml - 📄 阅读内容:访问mdbook项目中的单个markdown文件
- 🔒 安全:路径遍历保护确保文件只能在mdbook根目录中访问
- 🚀 通用的:适用于任何mdbook项目,而不仅仅是特定的项目
- ⚡ 简单:所需配置最少-只需设置一个环境变量
- 📦 易于安装:可通过npm获得,无需复杂的设置
安装
您可以使用 npx 要在不全局安装的情况下运行服务器:
npx mdbook-mcp-server用法
使用克劳德代码
将以下配置添加到Claude Code配置文件中(~/.config/claude/config.json):
{
"mcpServers": {
"my-mdbook": {
"command": "npx",
"args": ["mdbook-mcp-server"],
"env": {
"MDBOOK_ROOT_PATH": "/absolute/path/to/your/mdbook/project",
"MDBOOK_SERVER_NAME": "my_mdbook"
}
}
}
}环境变量:
MDBOOK_ROOT_PATH(必填):指向mdbook项目根的绝对路径(其中book.toml位于)MDBOOK_SERVER_NAME(可选):服务器的友好名称(默认为“mdbook mcp server”)
多个mdbook项目
您可以为不同的mdbook项目运行多个服务器实例:
{
"mcpServers": {
"mdbook-project-a": {
"command": "npx",
"args": ["mdbook-mcp-server"],
"env": {
"MDBOOK_ROOT_PATH": "/path/to/project-a",
"MDBOOK_SERVER_NAME": "project_a"
}
},
"mdbook-project-b": {
"command": "npx",
"args": ["mdbook-mcp-server"],
"env": {
"MDBOOK_ROOT_PATH": "/path/to/project-b",
"MDBOOK_SERVER_NAME": "project_b"
}
}
}
}MCP工具
此服务器提供三个工具:
1. list_structure
获取mdbook项目的完整结构,包括元数据和目录。
参数: 无
退货:
{
"title": "My Book",
"authors": ["Author Name"],
"language": "en",
"src": "src",
"chapters": [
{
"title": "Introduction",
"path": "intro.md",
"level": 0
},
{
"title": "Chapter 1",
"path": "chapter1.md",
"level": 0,
"children": [
{
"title": "Section 1.1",
"path": "chapter1/section1.md",
"level": 1
}
]
}
]
}2. read_content
读取特定markdown文件的内容。
参数:
path(string,必填):markdown文件的相对路径src/目录
例子:
{
"path": "intro.md"
}退货:
{
"path": "intro.md",
"content": "# Introduction\n\nWelcome to...",
"metadata": {
"size": 1234,
"lastModified": "2025-11-10T12:34:56.789Z"
}
}3. search_content
使用模糊搜索在mdbook项目中搜索内容。支持英语和日语关键字。
参数:
query(字符串,必填):搜索查询maxResults(number,可选):返回的最大结果数(默认值:10,最大值:100)
例子:
{
"query": "authentication",
"maxResults": 5
}退货:
{
"query": "authentication",
"totalMatches": 3,
"results": [
{
"path": "auth/intro.md",
"title": "Authentication",
"score": 0.001,
"matchCount": 2,
"matches": [
{
"snippet": "...user authentication is important...",
"position": 123
},
{
"snippet": "...authentication methods include...",
"position": 456
}
]
}
]
}特征:
- 模糊搜索:处理拼写错误和拼写变化
- 日本支持:与平假名、片假名和汉字合作
- 智能评分:结果按相关性排序(得分越低=匹配越好)
- 上下文片段:显示每个匹配的周围文本
需求
- Node.js>=24.0.0
- 一个有效的mdbook项目
book.toml和src/SUMMARY.md
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交问题或拉取请求。
