Space Frontiers MCP Server 使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为语言模型提供访问 Space Frontiers 数据的接口。通过该服务器,语言模型可以利用预定义的工具,安全、便捷地查询和检索 Space Frontiers 平台上的信息资源。
主要功能点
- 数据访问工具: 提供 'simple_search' 和 'search' 两个工具,分别支持对 Space Frontiers 数据库(library, telegram, reddit)进行关键词搜索和语义搜索。
- API 认证: 支持通过 API 密钥进行身份验证,保障数据访问安全。API 密钥可以通过环境变量 'SPACE_FRONTIERS_API_KEY' 或请求头 'Authorization', 'X-Api-Key' 传递。
- 标准 MCP 协议: 遵循 MCP 协议规范,方便与各种 MCP 客户端集成。
- FastAPI 框架: 基于 FastAPI 构建,性能高效,易于扩展。
- SSE 支持: 通过 Server-Sent Events (SSE) 实现服务器推送,支持实时通信(虽然本例中未明确展示 SSE 的具体应用场景,但 'mcp.sse_app()' 的挂载表明具备 SSE 能力)。
安装步骤
-
克隆仓库: 从 GitHub 克隆该仓库到本地。
git clone https://github.com/SpaceFrontiers/mcp cd mcp -
安装依赖 (如果需要): 虽然仓库信息中没有明确的依赖安装步骤,但通常 Python 项目需要安装依赖,如果需要,请根据项目实际情况安装依赖,例如使用 'pip install -r requirements.txt' (如果存在 requirements.txt 文件)。
-
配置环境变量: 设置 'SPACE_FRONTIERS_API_KEY' 环境变量,用于 Space Frontiers API 的身份验证。您可以从 https://spacefrontiers.org/developers/keys 获取 API 密钥。
export SPACE_FRONTIERS_API_KEY="YOUR_API_KEY"
服务器配置 (MCP 客户端)
MCP 客户端需要配置以下信息以连接到 Space Frontiers MCP 服务器。配置信息为 JSON 格式:
{ "serverName": "Space Frontiers MCP Server", "command": "uv", "args": [ "run", "mcp", "run", "main.py" ] }
配置参数说明:
- 'serverName': 服务器名称,设置为 "Space Frontiers MCP Server"。
- 'command': 启动服务器的命令,这里使用 'uv' (假设已安装 uv 包,实际运行可能需要根据 uv 安装情况调整)。
- 'args': 启动命令的参数列表,包括 'run mcp run main.py',用于执行 'main.py' 文件启动 MCP 服务器。
注意:
- 确保 MCP 客户端能够执行 'uv' 命令。如果使用其他 ASGI 服务器 (如 uvicorn),请相应修改 'command' 和 'args'。
- 实际运行命令可能需要根据您的 Python 环境和依赖安装情况进行调整。
基本使用方法
-
启动服务器: 在终端中执行以下命令启动 MCP 服务器。
uv run mcp run main.py -
MCP 客户端请求: 使用 MCP 客户端工具,根据配置信息连接到服务器。客户端可以发送 JSON-RPC 请求调用以下工具:
- 'simple_search': 进行关键词搜索。需要提供 'source' (数据源: "library", "telegram", "reddit"), 'query' (关键词), 'limit' (返回结果数量上限), 'offset' (结果偏移量) 等参数。
- 'search': 进行语义搜索。需要提供 'query' (搜索query), 可选参数 'sources' (数据源列表), 'filters' (过滤器), 'limit' (返回结果数量上限)。
具体工具参数和使用方法请参考仓库 README.md 中 "Tools" 部分的详细描述。 MCP 客户端需要按照 MCP 协议规范构造 JSON-RPC 请求,并发送到服务器地址。服务器将返回 JSON-RPC 响应,包含工具执行结果。
信息
分类
AI与计算