使用说明

项目简介

本项目 swift-evolution-mcp 是一个基于 Model Context Protocol (MCP) 的服务器实现,专注于提供对 Swift 语言演进提案的检索和访问能力。它利用 Chroma MCP 作为基础框架,将 Swift Evolution 提案数据构建为可查询的资源,使得 LLM 客户端可以通过标准的 MCP 协议获取 Swift 语言的演进历史和详细内容,从而为 LLM 应用提供专业的 Swift 语言知识库支持。

主要功能点

  • Swift 提案数据托管: 收集并存储 Swift Evolution 提案的 Markdown 文档,作为 MCP 服务器的资源进行管理。
  • 提案内容检索: 通过 Chroma MCP 的向量数据库能力,支持基于内容的 Swift 提案检索,方便 LLM 客户端根据用户查询获取相关提案。
  • 标准 MCP 协议: 遵循 MCP 协议规范,通过 JSON-RPC 与客户端通信,提供标准化的数据访问接口。
  • Chroma MCP 基础: 基于成熟的 Chroma MCP 框架构建,保证服务器的稳定性和可扩展性。

安装步骤

  1. 安装 uv: 根据仓库 'README.md' 的指示,首先需要安装 'uv'。uv 是一个 Python 包安装和解析器,可以使用 pip 进行安装。

    pip install uv
  2. 安装 Chroma MCP (chroma-mcp): 本项目依赖于 'chroma-mcp',但 'README.md' 中没有明确的安装步骤,假设 'chroma-mcp' 已经安装或者可以通过 'uv' 或 'pip' 安装。通常 Chroma MCP 可能需要单独安装,请参考 Chroma MCP 官方文档进行安装。 如果可以直接通过 'uvx' 命令运行 'chroma-mcp',则可能已经安装或在环境路径中。

  3. 克隆仓库: 将 'swift-evolution-mcp' 仓库克隆到本地。

    git clone https://github.com/giginet/swift-evolution-mcp.git
    cd swift-evolution-mcp
  4. 构建数据库: 运行 'create_collection.py' 脚本以创建 ChromaDB 数据库并导入 Swift Evolution 提案数据。这会下载 swift-evolution 仓库并将提案数据处理后存入本地的 ChromaDB 数据库中。

    uv run create_collection.py

    运行成功后,会在项目目录下生成 '.chroma' 文件夹,包含数据库文件。

服务器配置

MCP 客户端需要配置以下 JSON 信息才能连接到本 MCP 服务器。这里的服务器实际上是 'chroma-mcp','swift-evolution-mcp' 仓库提供了运行 'chroma-mcp' 的配置示例。

{
  "swift-evolution": {  // 服务器名称,客户端根据此名称识别和连接
    "command": "uvx",    // 启动服务器的命令,这里使用 uvx 运行
    "args": [           // 启动命令的参数列表
      "chroma-mcp",     // 实际运行的 MCP 服务器程序是 chroma-mcp
      "--client-type",  // chroma-mcp 参数:指定客户端类型为持久化存储
      "persistent",
      "--data-dir",     // chroma-mcp 参数:指定数据存储目录为 swift-evolution-mcp 项目下的 .chroma 目录
      "/path/to/swift-evolution-mcp/.chroma" // 请将 "/path/to/swift-evolution-mcp" 替换为 swift-evolution-mcp 仓库在您本地的实际路径
    ]
  }
}

注意:

  • 请务必将上述配置 JSON 中的 '/path/to/swift-evolution-mcp' 替换为您本地 'swift-evolution-mcp' 仓库的绝对路径。
  • 确保您的环境中可以执行 'uvx chroma-mcp' 命令,这可能需要您先安装 'chroma-mcp' 并将其添加到环境变量中,或者确保 'uvx' 可以找到 'chroma-mcp'。

基本使用方法

  1. 启动服务器: 根据上述服务器配置,使用 MCP 客户端连接到 'swift-evolution' 服务器。客户端会根据配置中的 'command' 和 'args' 启动 'chroma-mcp' 服务器。
  2. 客户端请求: 客户端可以使用 MCP 协议定义的标准 JSON-RPC 请求与服务器交互,例如:
    • 请求获取特定 Swift 提案资源。
    • 请求执行提案检索工具,根据关键词查询相关提案。
  3. 服务器响应: 服务器接收到客户端请求后,会根据 MCP 协议返回 JSON-RPC 响应,包含请求的数据或工具执行结果。

具体 MCP 客户端如何与服务器交互,以及可以使用的具体 MCP 方法,需要参考 MCP 协议文档和 Chroma MCP 的具体实现。 本仓库主要提供了 Swift Evolution 提案数据的准备和 Chroma MCP 服务器的基础配置。

信息

分类

AI与计算