使用说明
项目简介
docs-server 是一个基于 Model Context Protocol (MCP) 的文档服务器,它允许你将文档资源(以 llms.txt 格式定义)发布为 MCP 服务器,以便支持 MCP 协议的客户端(如 LLM 应用)可以访问这些文档。该服务器主要用于为大型语言模型提供结构化的文档数据,作为其上下文信息来源。
主要功能点
- 文档资源托管: 支持通过 llms.txt 文件定义和托管文档资源,允许服务器管理员轻松管理可被 LLM 访问的文档集合。
- 多种配置方式: 支持通过 YAML、JSON 配置文件或直接在命令行中指定 llms.txt 文件的 URL 来配置文档来源,灵活适应不同的部署场景。
- 文档内容获取: 提供 'fetch_docs' 工具,允许 MCP 客户端通过 URL 获取指定文档的内容,并以 Markdown 格式返回。
- 文档源列表: 提供 'list_doc_sources' 工具,允许 MCP 客户端获取所有可用的文档资源列表,方便客户端进行资源发现和选择。
- 支持多种传输协议: 支持 Stdio, HTTP, WebSocket 等多种 MCP 服务器常用的传输协议。
安装步骤
- 安装 Python 包: 确保你的系统已安装 Python 和 pip。然后在命令行中执行以下命令安装 'mcp-mcpdoc' 包:
pip install mcp-mcpdoc
服务器配置
MCP 客户端需要配置连接到 docs-server 的信息。以下是配置示例 (JSON 格式):
{ "serverName": "llms-txt", "command": "mcpdoc", "args": [ "--urls", "文档源名称1:文档源URL1", "文档源名称2:文档源URL2" ], "transport": "stdio" }
配置参数说明:
- 'serverName': 服务器名称,固定为 'llms-txt',在服务器代码中定义。
- 'command': 启动服务器的命令,这里是 'mcpdoc',即安装后可用的命令行工具。
- 'args': 传递给 'mcpdoc' 命令的参数,用于配置文档源和其他选项。
- '--urls': 指定文档源 URL 列表。可以同时指定多个 URL。
- '文档源名称1:文档源URL1': 指定一个文档源,格式为 '名称:URL'。名称是可选的,用于在 'list_doc_sources' 工具中标识文档源。URL 指向 llms.txt 文件的网络地址。
- 例如: 'LangGraph:https://langchain-ai.github.io/langgraph/llms.txt' 表示名称为 "LangGraph",URL 为 'https://langchain-ai.github.io/langgraph/llms.txt' 的文档源。
- 其他可选参数 (可以添加到 'args' 数组中):
- '--yaml <YAML配置文件路径>': 使用 YAML 配置文件指定文档源。
- '--json <JSON配置文件路径>': 使用 JSON 配置文件指定文档源。
- '--follow-redirects': 如果需要跟随 HTTP 重定向,请添加此参数。
- '--timeout <秒数>': 设置 HTTP 请求超时时间,默认为 10 秒。
- '--transport <传输协议>': 指定 MCP 服务器使用的传输协议,默认为 'stdio'。 可选值包括 'stdio', 'http', 'websocket'。
- '--urls': 指定文档源 URL 列表。可以同时指定多个 URL。
配置示例 (使用 YAML 配置文件):
假设你有一个名为 'config.yaml' 的 YAML 配置文件,内容如下:
- name: LangGraph Python llms_txt: https://langchain-ai.github.io/langgraph/llms.txt
则 MCP 客户端的配置可以修改为:
{ "serverName": "llms-txt", "command": "mcpdoc", "args": [ "--yaml", "config.yaml" ], "transport": "stdio" }
确保 'config.yaml' 文件与 'mcpdoc' 命令在同一目录下,或者提供正确的路径。
基本使用方法
- 启动服务器: MCP 客户端根据上述配置启动 'docs-server'。
- 客户端请求: MCP 客户端可以向 'docs-server' 发送 MCP 请求,调用以下工具 (tools):
- 'list_doc_sources()': 获取所有可用的文档源列表。客户端应首先调用此工具,了解有哪些文档资源可以访问。
- 'fetch_docs(url: str)': 根据提供的 'url' 获取文档内容。'url' 必须是 'list_doc_sources()' 返回的文档源 URL 或其子路径。服务器会验证 URL 的有效性,确保其属于配置的文档源域名下。
使用流程示例:
- MCP 客户端调用 'list_doc_sources()' 获取文档源列表。
- 客户端解析返回的列表,选择合适的文档源 URL。
- 客户端调用 'fetch_docs(url="选定的文档源URL/具体文档路径")' 获取文档内容。
- 服务器返回 Markdown 格式的文档内容。
通过以上步骤,MCP 客户端可以利用 'docs-server' 提供的文档资源作为上下文信息,增强 LLM 应用的功能。
信息
分类
数据库与文件