Skip to main content

MCP server wrapping the Brahe astrodynamics library

Project description

brahe-mcp

Tests PyPI

This project provides a Model Context Protocol (MCP) server that exposes the astrodynamics capabilities of the Brahe library enabling language models to get smarter about astrodynamics and space situational awareness.

demo

Installation

uv tool install brahe-mcp

or

pip install brahe-mcp

Then configure your MCP client to use the installed tool:

{
  "mcpServers": {
    "brahe": {
      "command": "brahe-mcp"
    }
  }
}

The MCP configuration location depends on your client. For popular tools you can find it here:

Client Config Location
Claude Desktop (macOS) ~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop (Windows) %APPDATA%\Claude\claude_desktop_config.json
Claude Code .claude/settings.json (project-level or global)
Gemini CLI ~/.gemini/settings.json
OpenAI Codex CLI ~/.codex/config.toml (see below)

[!NOTE]
ChatGPT Desktop does not support local stdio MCP servers — it requires remote HTTPS endpoints

OpenAI Codex CLI

Codex CLI stores MCP configuration in TOML format at ~/.codex/config.toml (or project-scoped .codex/config.toml):

[mcp_servers.brahe]
command = "brahe-mcp"
args = []

You can also add it via the CLI:

codex mcp add brahe -- brahe-mcp

To include SpaceTrack credentials:

codex mcp add brahe --env SPACETRACK_USER=your@email.com --env SPACETRACK_PASS=your-password -- brahe-mcp

SpaceTrack Configuration

The SpaceTrack tools require a Space-Track.org account. Add your credentials via the env key in the server config:

{
  "mcpServers": {
    "brahe": {
      "command": "brahe-mcp",
      "env": {
        "SPACETRACK_USER": "your@email.com",
        "SPACETRACK_PASS": "your-password"
      }
    }
  }
}

[!NOTE]
Claude Desktop does not expand shell variables like ${SPACETRACK_USER} — you must put the actual values in the config. Claude Code inherits your shell environment, so you can alternatively set the variables in ~/.zshrc and omit the env block.

Without these variables, the CelesTrak tools will still work normally — only the SpaceTrack tools will return an error prompting you to set the credentials.

Local Setup

To run the server from a local clone (useful for development or testing before installing):

git clone https://github.com/duncaneddy/brahe-mcp.git
cd brahe-mcp
uv sync --group dev

Then configure your MCP client to launch the server via uv run. Add the following to your MCP settings file:

{
  "mcpServers": {
    "brahe": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/brahe-mcp", "brahe-mcp"]
    }
  }
}

Replace /path/to/brahe-mcp with the absolute path to your local clone.

Development

uv sync --group dev
uv run pytest tests/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brahe_mcp-0.2.2.tar.gz (31.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brahe_mcp-0.2.2-py3-none-any.whl (55.2 kB view details)

Uploaded Python 3

File details

Details for the file brahe_mcp-0.2.2.tar.gz.

File metadata

  • Download URL: brahe_mcp-0.2.2.tar.gz
  • Upload date:
  • Size: 31.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for brahe_mcp-0.2.2.tar.gz
Algorithm Hash digest
SHA256 73d45857be49954a806f5382d035624adfc5987b85be2598d9319ef002ea2038
MD5 f387c8da59793ee13cc3aa6c49e3e2ed
BLAKE2b-256 7ffea73c8132bc8025b9d8996171f2b2d55969b5da0669a1f3ffeb9c88c5cf10

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe_mcp-0.2.2.tar.gz:

Publisher: release.yml on duncaneddy/brahe-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file brahe_mcp-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: brahe_mcp-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 55.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for brahe_mcp-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 368adfca410fb4fe26038eea6237deb5cade52ae65abdf1e24349f5439f741bc
MD5 c5bf80383cf1c294e973a0c2b80aed54
BLAKE2b-256 ef514180834e0abee65acb9369c3c6bfcce71fe2592453ca08c8a00ac0fceb0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for brahe_mcp-0.2.2-py3-none-any.whl:

Publisher: release.yml on duncaneddy/brahe-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page