关于 Documentation MCP Server
面向开发者的文档服务,聚合多个库的文档并支持搜索、版本选择和定期更新。提供网页界面与 REST API,便于浏览或程序化获取资料。
主要功能
- 01聚合多个库的文档
- 02跨库或指定库搜索
- 03访问不同文档版本
- 04定期获取最新文档
- 05网页界面与 REST API
适用场景
- 01查找 React 等库的 API 用法
- 02按库和版本核对文档
- 03通过 API 获取文档内容
MCP 相关
作为 MCP 服务,它向 MCP 客户端提供跨库文档搜索与访问能力。README 还描述了网页界面和 REST API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Documentation MCP 服务
为开发者提供访问其常用库最新文档的服务。
概览
此 MCP(模型-控制器-展示器)服务提供了一个统一的接口,用于访问各种库的文档。它汇总多个来源的文档,支持搜索所有库,并确保开发者能够获取最新信息。
功能
- 文档汇总:收集来自各种库的文档
- 搜索功能:搜索所有库,或按特定库筛选
- 版本管理:访问不同版本的库文档
- 自动更新:定期获取最新文档
- API 访问:通过 API 以编程方式访问文档
- 交互式界面:用于浏览文档的 Web 界面
快速安装
使用安装脚本
最简单的入门方式:
# Clone the repository
git clone https://github.com/SubaashNair/documentation-mcp-server.git
cd documentation-mcp-server
# Make the installation script executable
chmod +x install.sh
# Run the installation script
./install.sh
使用 Docker
# Clone the repository
git clone https://github.com/SubaashNair/documentation-mcp-server.git
cd documentation-mcp-server
# Copy and edit environment variables
cp .env.example .env
# Start with Docker Compose
docker-compose up -d
手动安装
详细的安装说明请参阅安装指南。
使用方法
Web 界面
在浏览器中访问 http://localhost:3000,即可使用 Web 界面。
API 用法
此服务提供 RESTful API,以编程方式访问文档。
示例:搜索文档
curl -X GET "http://localhost:3000/api/search?q=useState&library=react"
示例:获取库文档
curl -X GET "http://localhost:3000/api/libraries/react/hooks/useState"
示例:获取 API 状态
curl -X GET "http://localhost:3000/api/status"
完整的 API 文档请访问服务上的 /api-docs(例如 http://localhost:3000/api-docs)。
架构
Documentation MCP 服务遵循模型-控制器-展示器(MCP)模式:
- 模型:用于获取和存储文档的数据服务(
src/services/) - 控制器:API 端点的请求处理程序(
src/controllers/) - 展示器:前端界面和 API 响应格式化(
public/)
配置
可以通过编辑 .env 文件或设置环境变量来配置此服务。
基本配置
| 变量 | 描述 | 默认值 |
|---|---|---|
PORT | 服务运行所用的端口 | 3000 |
GITHUB_TOKEN | 用于 API 访问的 GitHub 令牌 | - |
DOCUMENTATION_UPDATE_SCHEDULE | 更新计划的 Cron 表达式 | 0 0 * * *(每天) |
LIBRARIES | 要获取的库列表,以逗号分隔 | react,vue,angular |
完整的配置选项请参阅安装指南。
添加新库
若要向文档服务添加新库:
- 在
src/libraries/中创建新文件,并遵循现有库的模式 - 实现获取和解析文档所需的接口
- 将该库添加到配置中
实现示例:
// src/libraries/your-library.js
const fetchYourLibraryDocumentation = async (version) => {
// Implementation for fetching documentation
// ...
};
module.exports = {
fetchDocumentation: fetchYourLibraryDocumentation
};
然后将其添加到 .env 文件中:
LIBRARIES=react,vue,angular,your-library
文档
路线图
- 添加对更多库的支持(TypeScript、Node.js 等)
- 实现用户账户和收藏功能
- 添加离线文档支持
- 创建用于访问文档的命令行工具
- 实现文档的社区贡献功能
贡献
欢迎贡献!欢迎提交 Pull Request。
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 将分支推送到远程仓库(
git push origin feature/amazing-feature) - 创建 Pull Request
许可证
本项目采用 MIT License 许可,详情请参阅 LICENSE 文件。
致谢
- 文档和 API 设计受 DevDocs 启发
- 架构模式借鉴自 Express.js
- 搜索功能由 Lunr.js 提供支持
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。