本项目实现了一个模型上下文协议(MCP)服务器,它作为与空间前沿 API 的接口,允许语言模型通过预定义的工具与空间前沿数据源进行交互。该服务器基于 FastAPI 框架和 FastMCP 库构建。
⚠️ 重要提示
空间前沿提供了公开托管的 MCP 服务器,地址为
https://mcp.spacefrontiers.org。要使用它,请从 https://spacefrontiers.org/developers/keys 获取一个 API 密钥,并在请求中包含该密钥,格式为Authorization: Bearer。
要运行服务器以供 Claude App 或 STDIO 通信使用,请在终端中执行以下命令:
uv run mcp run main.py
请确保在运行服务器之前设置了 SPACE_FRONTIERS_API_KEY 环境变量。
claude_desktop_config.json)以下是将空间前沿 MCP 服务器与 Claude 桌面应用程序集成的一个示例配置:
{
"mcpServers": {
"Space Frontiers MCP server": {
"command": "/path/to/your/uv", // 替换为您实际的 uv 安装路径
"args": [
"run",
"main.py"
],
"env": {
"SPACE_FRONTIERS_API_KEY": ""
}
}
}
}
⚠️ 重要提示
在配置文件中,请将
替换为您的实际 API 密钥。
服务器公开了以下工具用于与空间前沿数据源进行交互:
simple_search对指定的空间前沿数据库(图书馆、电报或 Reddit)执行关键字搜索。
source (SourceName):要搜索的数据源(例如,“library”,“telegram”,“reddit”)。query (str):关键字搜索查询。limit (int):要返回的最大结果数。offset (int):结果的起始偏移量。search对指定的空间前沿数据库(图书馆、电报或 Reddit)执行语义搜索。
query (str):语义搜索查询。sources (list[SourceName] | None, optional):要搜索的数据源列表,默认为 ["library"]。filters (FiltersType | None, optional):可选的过滤器应用于搜索,默认为 None。limit (int, optional):要返回的最大结果数,默认为 10。服务器使用以下环境变量:
| 属性 | 详情 |
|---|---|
SPACE_FRONTIERS_API_ENDPOINT |
空间前沿 API 的基础 URL,默认值为 https://api.spacefrontiers.org |
SPACE_FRONTIERS_API_KEY |
用于认证请求到空间前沿 API 的可选 API 密钥。认证也可以通过请求头提供,如 Authorization: Bearer 、X-Api-Key: ,或者通过 X-User-Id 头提供用户 ID。如果这些都不提供,服务器将尝试使用环境变量 SPACE_FRONTIERS_API_KEY(如果有设置)。注意,X-User-Id 头仅用于空间前沿内部使用,不能用于外部认证。 |