文档聚合服务器

MCP服务器为开发者提供统一接口访问多源库文档,支持搜索、版本管理和自动更新功能。

  • by SubaashNair
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 subaashnair/documentation-mcp-server

使用说明

文档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).

建筑

文档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

有关完整的配置选项,请参阅 安装指南.

添加新库

要将新库添加到文档服务器,请执行以下操作:

  1. 在中创建新文件 src/libraries/ 遵循现有库的模式
  2. 实现获取和解析文档所需的接口
  3. 将库添加到配置中

示例实现:

// 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等)
  • []实现用户帐户和收藏夹
  • []添加离线文档支持
  • []创建用于访问文档的CLI工具
  • []实施社区对文档的贡献

贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢