使用说明
项目简介
mcproto 项目旨在构建一个去中心化的 Model Context Protocol (MCP) 服务器生态系统。它利用 Authenticated Transfer Protocol (ATProto) 来实现 MCP 服务器的注册、发现和信誉跟踪。该项目包含客户端 SDK、服务器注册中心以及用于信誉评估的基础设施,为 LLM 应用提供可信赖的上下文服务。
主要功能点
- MCP 服务器注册: MCP 服务器发布者可以使用提供的 Python 和 TypeScript SDK 将他们的服务器注册到 ATProto 网络。注册信息包括服务器名称、安装命令、版本、描述和提供的工具列表。
- 服务器发现与浏览: 注册中心提供 Web UI 和 API,用户可以浏览已注册的 MCP 服务器,查看服务器的 capabilities 和信誉评分。
- 信誉跟踪 (未来功能): 项目计划利用 ATProto 的标签系统和用户评价,为 MCP 服务器建立去中心化的信誉评估机制,帮助用户选择可靠的服务器。
- 客户端 SDK: 提供 Python 和 TypeScript 客户端 SDK,简化 MCP 服务器的注册和与 ATProto 网络的交互。
- 实时更新: 注册中心通过监听 ATProto Firehose 获取服务器注册信息的实时更新。
安装步骤
1. Registry (Web UI 和 API)
Registry 使用 'bun' 进行前端开发。
cd registry bun install
运行 Registry (需要配置 ATProto 凭据):
HANDLE=your.handle PASSWORD=your-password bun dev
Web UI 访问地址: http://localhost:3000 API 访问地址: http://localhost:3000/api/servers
2. Python Client SDK
Python Client SDK 使用 'uv' 工具链。
cd clients/python uv sync
运行示例服务器:
uv run mcproto example_server.py:mcp
3. Firehose Consumer
Firehose Consumer 使用 Docker Compose 运行。
cd _extra/docket_firehose docker compose up --build
这将启动 Firehose 监听器和 Redis 队列服务,用于处理服务器注册记录。
服务器配置
以下是 MCP 客户端连接 Python 和 TypeScript 示例服务器所需的配置信息 (JSON 格式)。MCP 客户端需要根据这些配置信息启动 MCP 服务器进程。
Python 示例服务器配置 (example_server.py):
{ "server name": "Bloop Server 2", "command": "uv run", "args": [ "https://github.com/zzstoatzz/mcproto/blob/main/clients/python/example_server.py" ], "description": "一个简单的示例 MCP 服务器" }
- 'server name': 服务器的显示名称,例如 "Bloop Server 2"。
- 'command': 启动服务器的命令,例如 "uv run"。
- 'args': 启动服务器命令的参数列表,例如服务器脚本的 URL。
- 'description': 服务器的简要描述。
TypeScript 示例服务器配置 (example-server.ts):
{ "server name": "Typescript Example Server", "command": "bun run", "args": [ "https://github.com/zzstoatzz/mcproto/blob/main/clients/typescript/examples/example-server.ts" ], "description": "一个 Typescript MCP 示例服务器 (示例)" }
- 'server name': 服务器的显示名称,例如 "Typescript Example Server"。
- 'command': 启动服务器的命令,例如 "bun run"。
- 'args': 启动服务器命令的参数列表,例如服务器脚本的 URL。
- 'description': 服务器的简要描述。
基本使用方法
- 注册 MCP 服务器: 参考 'clients/python/example_server.py' 和 'clients/typescript/examples/example-server.ts' 中的示例代码,使用相应的 SDK 注册您的 MCP 服务器。您需要设置 ATProto 的 'BSKY_HANDLE' 和 'BSKY_PASSWORD' 环境变量,以便进行服务器注册。
- 浏览已注册服务器: 访问 Registry Web UI 或使用 Registry API,您可以查看和搜索已注册的 MCP 服务器列表。
信息
分类
通信与社交