LLM Docs MCP Server
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个 MCP 服务器(MCP Server),用于向 AI 客户端提供统一的上下文信息和功能入口。核心能力包括:托管与管理资源(文档集合等数据)、注册并执行工具以扩展外部功能、定义和渲染 Prompt 模板,以及通过 JSON-RPC 与客户端通信完成资源读取、工具调用、文档检索等请求。
-
主要功能点
- 资源与文档管理:对聚合的大模型文档进行集中管理,支持按厂商、语言、路径读取文档内容。
- 工具注册与执行:开放工具接口,允许 MCP 客户端调用外部功能(如列出厂商、列出文档、读取文档、搜索文档、获取统计等)。
- Prompt 与上下文支持:为 LLM 客户端提供统一的 Prompt 模板与文档上下文能力。
- JSON-RPC 通信:服务器端按 MCP 标准约定处理请求并返回 JSON-RPC 响应,便于 LLM 客户端直接调用。
- 会话与统计:维护会话上下文、文档统计与资源引用,便于监控与扩展。
- 简单的资源 URI 标准化:通过 llmdocs://{vendor}/{path} 形式的资源 URI 进行资源定位。
-
安装步骤
- 安装 MCP 运行时依赖(示例:pip 安装 MCP 包)。
- 确保仓库中的 mcp_server.py 为入口服务器脚本。
- 启动 MCP 服务器:运行 python3 mcp_server.py。
- 加入到你的 MCP 客户端配置(示例格式如下,后文给出配置说明),以便客户端通过 MCP 与服务器建立连接。
-
服务器配置 配置示例(JSON 结构,字段含义如下所述,请按实际环境填写): { "mcpServers": { "llm-docs": { "command": "python3", "args": ["mcp_server.py"], "disabled": false, "autoApprove": ["list_vendors","list_docs","read_doc","search_docs","get_doc_stats"] } } }
- server name: llm-docs
- command: 启动服务器所使用的命令
- args: 启动服务器所需的参数
- disabled: 是否禁用服务器
- autoApprove: MCP 客户端在首次交互时自动获得的权限集合(默认允许的 Tool 调用)
服务器会尝试加载并读取以下数据结构来服务请求:
- 文档索引(docs-index.json)以及可选的 crawl-status.json、crawl-events.json 等,用于实现文档列表、统计、在线状态等能力。
- 脚本和工具的注册表,可扩展新的工具入口。
-
基本使用方法
- 启动服务器:在服务器环境执行 python3 mcp_server.py,确保网络和文件路径权限正常。
- 配置 MCP 客户端:将上述配置写入客户端的 MCP 配置文件中,确保客户端能够通过命令启动服务器并建立 JSON-RPC 连接。
- 与 MCP 客户端交互:客户端通过 RPC 调用服务器提供的工具(如 list_vendors、list_docs、read_doc、search_docs、get_doc_stats),获取厂商信息、文档列表、文档内容以及集合统计等信息。
- 资源 URI 使用:在 MCP 客户端中通过 llmdocs://vendor/path 的形式访问资源和文档,服务器端会解析并返回对应的 Markdown 内容或元信息。
-
额外信息
- 本实现依赖仓库中的 docs-index.json、crawl-status.json 等静态数据文件以及 mcp_server.py,提供对聚合文档的统一访问入口,可与前端网站和爬虫数据源配合使用。
- 如需扩展,请在 mcp_server.py 中添加新的 Tools、Resources 或改进数据加载与缓存策略,以支持更多厂商与文档源。
-
备注
- MCP 客户端无需关心服务器内部实现细节,只需要知道可用的工具名称及其输入输出定义,并在配置中正确指向服务器入口即可。