使用说明
项目简介
本项目 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 框架构建,保证服务器的稳定性和可扩展性。
安装步骤
-
安装 uv: 根据仓库 'README.md' 的指示,首先需要安装 'uv'。uv 是一个 Python 包安装和解析器,可以使用 pip 进行安装。
pip install uv -
安装 Chroma MCP (chroma-mcp): 本项目依赖于 'chroma-mcp',但 'README.md' 中没有明确的安装步骤,假设 'chroma-mcp' 已经安装或者可以通过 'uv' 或 'pip' 安装。通常 Chroma MCP 可能需要单独安装,请参考 Chroma MCP 官方文档进行安装。 如果可以直接通过 'uvx' 命令运行 'chroma-mcp',则可能已经安装或在环境路径中。
-
克隆仓库: 将 'swift-evolution-mcp' 仓库克隆到本地。
git clone https://github.com/giginet/swift-evolution-mcp.git cd swift-evolution-mcp -
构建数据库: 运行 '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'。
基本使用方法
- 启动服务器: 根据上述服务器配置,使用 MCP 客户端连接到 'swift-evolution' 服务器。客户端会根据配置中的 'command' 和 'args' 启动 'chroma-mcp' 服务器。
- 客户端请求: 客户端可以使用 MCP 协议定义的标准 JSON-RPC 请求与服务器交互,例如:
- 请求获取特定 Swift 提案资源。
- 请求执行提案检索工具,根据关键词查询相关提案。
- 服务器响应: 服务器接收到客户端请求后,会根据 MCP 协议返回 JSON-RPC 响应,包含请求的数据或工具执行结果。
具体 MCP 客户端如何与服务器交互,以及可以使用的具体 MCP 方法,需要参考 MCP 协议文档和 Chroma MCP 的具体实现。 本仓库主要提供了 Swift Evolution 提案数据的准备和 Chroma MCP 服务器的基础配置。
信息
分类
AI与计算