Anchoring MCP 服务器使用说明

项目简介

Anchoring 是一个桌面应用程序,内置了 Model Context Protocol (MCP) 服务器。该 MCP 服务器的核心功能是为 Cursor 和 Claude 等支持 MCP 协议的 LLM 客户端提供结构化的技术文档代码片段。它允许用户通过自然语言查询,检索特定语言、框架或库及其版本的文档片段,从而辅助开发者更高效地编写代码。

主要功能点

  • 版本化文档检索: 根据指定的编程语言、框架或库的版本,检索相关的文档代码片段。
  • 语义搜索: 支持基于自然语言的语义搜索,帮助用户快速找到所需的文档信息。
  • 组件列表: 提供 API 接口,列出服务器中可用的文档组件(如支持的语言、框架和库)。
  • MCP 协议支持: 完全兼容 Model Context Protocol,可以无缝集成到支持该协议的 LLM 客户端中。
  • ChromaDB 向量数据库: 使用 ChromaDB 存储和检索文档片段,实现高效的语义搜索。
  • OpenAI Embedding: 利用 OpenAI 的 embedding 模型,将文档和查询转换为向量,实现语义相似度计算。

安装步骤

  1. 安装前提条件: 确保已安装以下软件:

    • Node.js
    • Python (3.10 - 3.12)
    • uv (Python 包管理器)
    • Rust
    • Docker
    • OpenAI API 密钥
    • Google Chrome 或 Chromium 浏览器

    并根据您的操作系统(Windows, Linux, macOS)安装相应的平台特定依赖,具体步骤请参考仓库 README.md 的 "Initial Setup" 部分。

  2. 配置 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 数据存储路径。
  3. 启动 ChromaDB 容器: 在 'mcp-server' 目录下,运行命令 'docker-compose up -d' 启动 ChromaDB 容器。

  4. 安装 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 配置中的注释。

基本使用方法

  1. 确保 ChromaDB 容器正在运行 ('docker ps' 检查)。
  2. 在 Cursor 或 Claude 等 MCP 客户端中,配置上述服务器配置信息。
  3. 在 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' 命令)。

信息

分类

开发者工具