Space Frontiers
HTTP-SSESTDIOMCP server interface for accessing Space Frontiers data through search tools
MCP server interface for accessing Space Frontiers data through search tools
This project implements a Model Context Protocol (MCP) server that acts as an interface to the Space Frontiers API. It allows language models to interact with Space Frontiers data sources through MCP tools. The server is built using the FastMCP library.
The server provides 4 core tools for LLM-accessible search and discovery across Space Frontiers sources:
The typical workflow for using these tools follows this pattern:
Example workflow:
User: "Find papers about CRISPR gene editing"
→ Use search("CRISPR gene editing") to get relevant papers
→ If a specific DOI is mentioned (e.g., "10.1038/nature12345"):
  resolve_id("10.1038/nature12345")
  Returns: {
    "success": true,
    "matches": [{
      "resolved_uri": "doi://10.1038/nature12345",
      "source": "library",
      ...
    }]
  }
→ Get metadata only (fast, no content search):
  get_document_metadata(
    document_uri="doi://10.1038/nature12345",
    source="library"
  )
  Returns: title, authors, abstract, references
→ Get filtered content from the document (query is required):
  get_document(
    document_uri="doi://10.1038/nature12345",
    source="library",
    query="off-target effects"
  )
  Returns only the snippets relevant to "off-target effects"
→ For broader content, use a more general query:
  get_document(
    document_uri="doi://10.1038/nature12345",
    source="library",
    query="CRISPR methods results"
  )
  Returns snippets about methods and results
Tools are self-describing via MCP schemas and annotations; your MCP client can list and introspect them at runtime.
Hosted option: Space Frontiers provides a publicly hosted MCP server at https://mcp.spacefrontiers.org. Obtain an API key from https://spacefrontiers.org/developers/keys and include it via the Authorization: Bearer <your_api_key> header.
The server utilizes the following environment variables:
SPACE_FRONTIERS_API_ENDPOINT: The base URL for the Space Frontiers API.
https://api.spacefrontiers.orgSPACE_FRONTIERS_API_KEY: An optional API key for authenticating requests to the Space Frontiers API.
Authorization: Bearer <your_api_key>X-Api-Key: <your_api_key>X-User-Id header. If none of these are provided, the server will attempt to use the SPACE_FRONTIERS_API_KEY environment variable if set.X-User-Id: This header is intended for Space Frontiers internal usage only and cannot be exploited for external authentication.uv run fastmcp run mcp_server.py
Ensure SPACE_FRONTIERS_API_KEY is set in the environment if your client does not pass authentication headers.
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" } } } }
Note: replace placeholder paths and the API key with your actual values.