Anchoring MCP 服务器使用说明
项目简介
Anchoring 是一个桌面应用程序,内置了 Model Context Protocol (MCP) 服务器。该 MCP 服务器的核心功能是为 Cursor 和 Claude 等支持 MCP 协议的 LLM 客户端提供结构化的技术文档代码片段。它允许用户通过自然语言查询,检索特定语言、框架或库及其版本的文档片段,从而辅助开发者更高效地编写代码。
主要功能点
- 版本化文档检索: 根据指定的编程语言、框架或库的版本,检索相关的文档代码片段。
- 语义搜索: 支持基于自然语言的语义搜索,帮助用户快速找到所需的文档信息。
- 组件列表: 提供 API 接口,列出服务器中可用的文档组件(如支持的语言、框架和库)。
- MCP 协议支持: 完全兼容 Model Context Protocol,可以无缝集成到支持该协议的 LLM 客户端中。
- ChromaDB 向量数据库: 使用 ChromaDB 存储和检索文档片段,实现高效的语义搜索。
- OpenAI Embedding: 利用 OpenAI 的 embedding 模型,将文档和查询转换为向量,实现语义相似度计算。
安装步骤
-
安装前提条件: 确保已安装以下软件:
- Node.js
- Python (3.10 - 3.12)
- uv (Python 包管理器)
- Rust
- Docker
- OpenAI API 密钥
- Google Chrome 或 Chromium 浏览器
并根据您的操作系统(Windows, Linux, macOS)安装相应的平台特定依赖,具体步骤请参考仓库 README.md 的 "Initial Setup" 部分。
-
配置 MCP 服务器环境:
- 导航到 'mcp-server' 目录: 'cd /path/to/anchoring/mcp-server'
- 复制并配置 '.env' 文件: 'cp .env.EXAMPLE .env',然后编辑 '.env' 文件,填入您的 'OPENAI_API_KEY' 等必要信息。
- 复制并配置 'docker-compose.yml' 文件: 'cp docker-compose.EXAMPLE.yml docker-compose.yml',根据需要修改 'docker-compose.yml' 文件中的 ChromaDB 数据存储路径。
-
启动 ChromaDB 容器: 在 'mcp-server' 目录下,运行命令 'docker-compose up -d' 启动 ChromaDB 容器。
-
安装 MCP 服务器: 运行命令:
uv run --python ">=3.10,<3.13" --with chromadb --with "mcp[cli]" --with numpy --with openai --with pydantic --with semantic-text-splitter --with tiktoken mcp install "/path/to/anchoring/mcp-server/app/server.py"此命令会将 MCP 服务器安装到您的环境中,以便 Cursor 或 Claude 等客户端可以发现和连接它。
服务器配置
对于 MCP 客户端(如 Cursor, Claude),您需要配置 MCP 服务器的启动命令。配置信息通常为 JSON 格式,以下是 Anchoring MCP 服务器的典型配置信息:
{ "serverName": "Version-Pinned Documentation Snippets", "command": "uv", "args": [ "run", "--python", ">=3.10,<3.13", "--with", "chromadb", "--with", "mcp[cli]", "--with", "numpy", "--with", "openai", "--with", "pydantic", "--with", "semantic-text-splitter", "--with", "tiktoken", "mcp", "run", "/path/to/anchoring/mcp-server/app/server.py" ] }
参数说明:
- 'serverName': MCP 服务器的名称,显示在客户端中。
- 'command': 启动 MCP 服务器的命令,这里使用 'uv' (快速 Python 包管理器和运行器)。
- 'args': 传递给 'command' 的参数列表,包括:
- 'run': 'uv run' 命令用于运行 Python 脚本。
- '--python ">=3.10,<3.13"': 指定 Python 版本范围。
- '--with ...': 指定运行 MCP 服务器所需的 Python 依赖包,包括 'chromadb', 'mcp[cli]', 'numpy', 'openai', 'pydantic', 'semantic-text-splitter', 'tiktoken'。
- 'mcp run': 调用 'mcp' 工具的 'run' 命令来启动服务器。
- '/path/to/anchoring/mcp-server/app/server.py': MCP 服务器应用程序的路径。
重要提示: 请根据您的实际 'anchoring' 仓库路径,替换 '/path/to/anchoring/mcp-server/app/server.py' 为正确的服务器脚本路径。在 Cursor 或 Claude 等 MCP 客户端中配置时,请移除 JSON 配置中的注释。
基本使用方法
- 确保 ChromaDB 容器正在运行 ('docker ps' 检查)。
- 在 Cursor 或 Claude 等 MCP 客户端中,配置上述服务器配置信息。
- 在 LLM 客户端中,您可以使用以下工具与 MCP 服务器交互:
- 'query-documentation-snippets': 用于查询文档代码片段。您可以提供自然语言查询、文档类别(language, framework, library)以及可选的代码上下文和技术栈信息(语言、框架、库及其版本)。
- 'list-documentation-components': 用于列出指定类别(language, framework, library)的可用文档组件。
例如,在 Claude 中,您可以指示 Claude 使用 'query-documentation-snippets' 工具来查找 React Hooks 的用法,或者使用 'list-documentation-components' 工具来查看支持的 JavaScript 框架列表。
注意事项
- 首次使用前,请务必完成 README.md 中 "Initial Setup" 部分的所有前提条件和配置步骤。
- 确保 '.env' 文件中配置了有效的 'OPENAI_API_KEY'。
- 如果遇到 ChromaDB 连接问题,请检查 Docker 容器是否运行正常,并检查 '.env' 文件中的 ChromaDB 连接配置。
- 如果 Claude 无法找到 MCP 服务器,请重启 Claude 客户端,并检查 MCP 服务器是否已正确安装 ('mcp list' 命令)。
信息
分类
开发者工具