返回市场
主控节点

主控节点

作者:SpaceFrontiers8 星标更新:2025-11-06

项目介绍

Space Frontiers MCP Server

概述

该项目实现了一个模型上下文协议(MCP)服务器,作为与Space Frontiers API接口的桥梁。它允许语言模型通过MCP工具与Space Frontiers的数据源进行交互。该服务器使用FastMCP库构建。

<a href="https://glama.ai/mcp/servers/@SpaceFrontiers/mcp"> <img width="380" height="200" src="https://gips2.baidu.com/it/u=67859318,685400854&fm=3081&app=3081&f=PNG?w=760&h=400" alt="mcp-spacefrontiers MCP server" /> </a>

该服务器提供了四个核心工具,用于LLM可访问的跨Space Frontiers数据源的搜索和发现:

  1. search - 在多个来源(学术文献、维基百科、Telegram、Reddit、YouTube等)中执行语义搜索。
  2. resolve_id - 将文档标识符(DOI、ISBN、PubMed ID、URL等)转换为带有来源信息的标准URI。
  3. get_document - 通过URI检索单个文档,并通过搜索查询过滤内容(始终返回过滤后的片段)。
  4. get_document_metadata - 快速检索文档元数据(标题、作者、摘要、参考文献),而不进行内容搜索。

推荐使用模式

使用这些工具的典型工作流程遵循以下模式:

  1. search - 使用搜索查询找到相关文档。这会返回文档ID和片段。
  2. resolve_id - 如果您有一个文档标识符(DOI、ISBN、URL等),将其转换为URI和来源名称。
  3. get_document_metadata - 快速获取基本元数据(标题、作者、摘要、参考文献),无需搜索内容。快速且高效。
  4. get_document - 使用其URI和搜索查询从特定文档中检索过滤后的内容。始终仅返回与查询相关的片段。

示例工作流程:

用户: "查找关于CRISPR基因编辑的论文"
→ 使用 search("CRISPR基因编辑") 获取相关论文

→ 如果提到一个具体的DOI(例如,“10.1038/nature12345”):
  resolve_id("10.1038/nature12345")
  返回:{
    "success": true,
    "matches": [{
      "resolved_uri": "doi://10.1038/nature12345",
      "source": "library",
      ...
    }]
  }

→ 只获取元数据(快速,不搜索内容):
  get_document_metadata(
    document_uri="doi://10.1038/nature12345",
    source="library"
  )
  返回:标题、作者、摘要、参考文献

→ 从文档中获取过滤后的内容(需要查询):
  get_document(
    document_uri="doi://10.1038/nature12345",
    source="library",
    query="脱靶效应"
  )
  返回与“脱靶效应”相关的片段

→ 对于更广泛的内容,使用更一般的查询:
  get_document(
    document_uri="doi://10.1038/nature12345",
    source="library",
    query="CRISPR方法结果"
  )
  返回关于方法和结果的片段

工具通过MCP模式和注释自我描述;您的MCP客户端可以在运行时列出并检查它们。

托管选项: Space Frontiers在https://mcp.spacefrontiers.org提供了一个公开托管的MCP服务器。从https://spacefrontiers.org/developers/keys获取API密钥,并通过Authorization: Bearer <your_api_key>头包含它。

环境变量

服务器使用以下环境变量:

  • SPACE_FRONTIERS_API_ENDPOINT:Space Frontiers API的基础URL。
    • 默认值: https://api.spacefrontiers.org
  • SPACE_FRONTIERS_API_KEY:用于向Space Frontiers API验证请求的可选API密钥。
    • 注意: 验证也可以通过请求头提供:
      • Authorization: Bearer <your_api_key>
      • X-Api-Key: <your_api_key>
      • 或者,可以通过X-User-Id头提供用户ID。如果未提供这些中的任何一个,服务器将尝试使用设置的SPACE_FRONTIERS_API_KEY环境变量。
      • 关于X-User-Id的注意事项: 此头仅供Space Frontiers内部使用,不能用于外部认证。

运行服务器

uv run fastmcp run mcp_server.py

确保在环境中设置了SPACE_FRONTIERS_API_KEY,如果客户端没有传递认证头。

示例Claude桌面应用配置(claude_desktop_config.json

{
  "mcpServers": {
    "Space Frontiers MCP server": {
      "command": "/path/to/your/uv",
      "args": [
        "run",
        "fastmcp",
        "run",
        "--with",
        "izihawa-loglib",
        "--with",
        "mcp[cli]",
        "--with",
        "spacefrontiers-clients",
        "/path/to/your/spacefrontiers-mcp/mcp_server.py"
      ],
      "env": {
        "SPACE_FRONTIERS_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

注意:用实际路径和API密钥替换占位符。