项目简介
RTFD MCP 服务器充当LLM代理与最新在线文档之间的桥梁。它使AI代码助手能够访问实时更新的库文档和上下文信息,从而生成更准确、更符合当前最佳实践的代码。支持多种语言生态系统,并通过优化序列化格式来降低LLM的token成本,同时支持本地运行以保护隐私。
主要功能点
- 实时文档获取: 从PyPI、npm、GitHub、DockerHub等来源获取最新的库文档内容(如README、API参考、使用指南)。
- 智能内容提取: 自动识别并提取文档中的关键部分,如安装说明、快速入门和API参考,以减少不必要的信息噪音。
- 格式转换: 自动将reStructuredText和HTML内容转换为Markdown格式,方便LLM理解和处理。
- 多源搜索: 聚合来自Python (PyPI)、JavaScript/TypeScript (npm)、Rust (crates.io)、Go (GoDocs)、Zig和Docker (DockerHub, GitHub) 等多个生态系统的搜索结果。
- 工具调用: 提供一系列可供LLM直接调用的工具,例如查询Python包的元数据、搜索GitHub仓库、获取Docker镜像的Dockerfile等。
- Token效率优化: 可选支持TOON (Token-Oriented Object Notation) 序列化,与标准JSON相比,可将文档响应的Token成本降低约30%。
- 本地运行与隐私保护: 整个服务器在本地机器上运行,确保所有查询和访问的文档都保留在您的系统上,提供完整的隐私保护。
安装步骤
- 确保您的系统安装了 Python 3.10 或更高版本。
- 打开终端或命令行工具,导航到项目目录。
- 使用 pip 或 uv 安装项目依赖:
pip install . # 或者如果您安装了 uv # uv pip install -e . - (可选,强烈推荐) 为了避免GitHub的严格API速率限制,请导出您的GitHub个人访问令牌:
export GITHUB_TOKEN=ghp_您的GitHub令牌
服务器配置
RTFD MCP 服务器设计用于被支持MCP协议的客户端(如Claude Code)连接和使用。您需要将以下配置添加到客户端的设置文件(例如 '~/.claude/settings.json')中。
{ "mcpServers": { "rtfd": { "command": "rtfd", "type": "stdio" } } }
如果您需要在启动时设置环境变量(例如 'GITHUB_TOKEN'),可以这样配置:
{ "mcpServers": { "rtfd": { "command": "bash", "args": ["-c", "export GITHUB_TOKEN=您的GitHub令牌 && rtfd"], "type": "stdio" } } }
配置参数注释:
- 'mcpServers': 这是客户端配置MCP服务器的顶级键。
- '"rtfd"': 这是您为该MCP服务器实例定义的名称,客户端将使用此名称引用它。
- '"command"': 启动RTFD服务器的可执行文件或脚本路径。通常,在安装后,'rtfd' 命令会在您的PATH中可用。
- '"args"': 如果 'command' 需要额外的参数,可以在这里提供一个字符串数组。例如,用于设置环境变量。
- '"type"': MCP服务器的传输协议类型,'"stdio"' 表示通过标准输入/输出进行通信。
基本使用方法
一旦MCP客户端(例如Claude Code)配置并连接到RTFD服务器,LLM代理就可以通过调用服务器暴露的工具来查询文档和元数据。LLM会根据其任务和上下文自动选择合适的工具。
例如,一个LLM代理可能会:
- 调用 'search_library_docs("requests")' 来查找 Python 'requests' 库的综合文档。
- 调用 'fetch_pypi_docs("pandas", max_bytes=10240)' 来获取 'pandas' 库在PyPI上的最新文档内容。
- 调用 'github_repo_search("async framework", language="Rust", limit=3)' 来搜索GitHub上与异步框架相关的Rust仓库。
- 调用 'fetch_dockerfile("python:3.11-slim")' 来获取 'python:3.11-slim' Docker 镜像的 Dockerfile。
- 调用 'crates_metadata("serde")' 来获取 Rust 'serde' crate 的详细元数据。
- 启用Token效率模式: 在启动服务器前设置环境变量 'export USE_TOON=true',以减少响应的Token消耗。
- 启用Token统计: 在启动服务器前设置环境变量 'export RTFD_TRACK_TOKENS=true',可以在MCP客户端的日志中查看Token使用情况,这些统计信息不会发送给LLM。
信息
分类
开发者工具