Skip to main content

satnogs-mcp

An MCP server that gives Claude (and other MCP clients) full access to the SatNOGS open satellite observation network — the world's largest open-source ground-station network for amateur satellites.


MCP Tools

SatNOGS DB (satellite catalogue)

Tool Description
search_satellites Search the satellite catalogue by name, NORAD ID, status, country, or operator
get_satellite Full details for one satellite
get_transmitters Transmitters filtered by satellite, status, type, or mode
get_transmitter Detail for one transmitter by UUID
get_tle Current TLE sets, filtered by NORAD ID or satellite ID
get_telemetry Decoded telemetry frames, filtered by satellite and date range
get_modes All communication modes in the DB
get_artifacts Reference artifacts, optionally filtered by observation ID

SatNOGS Network (ground stations & observations)

Tool Description
list_stations All ground stations with location, antenna, and status
get_station Full detail for one station
find_nearby_stations Find stations within a radius (km) of a lat/lon point
list_observations Observations filtered by satellite, station, date range, and vetting status
get_observation Full observation detail including waterfall, audio, and demodulated data URLs
list_jobs Scheduled observation jobs

Installation

pip install satnogs-mcp

Or run without installing via uvx:

uvx satnogs-mcp

Claude Desktop Configuration

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "satnogs": {
      "command": "uvx",
      "args": ["satnogs-mcp"],
      "env": {
        "SATNOGS_DB_API_KEY": "optional-key-here",
        "REDIS_URL": "redis://localhost:6379"
      }
    }
  }
}

Config file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Environment Variables

Variable Required Description
SATNOGS_DB_API_KEY No API key for SatNOGS DB (read access works without it; key may enable higher rate limits and write access)
REDIS_URL No Redis connection URL for caching (e.g. redis://localhost:6379). Falls back to in-memory cache if unset.

Copy .env.example to .env and fill in any values you need:

cp .env.example .env

Example Prompts

Try these prompts in Claude once the server is running:

  • "Search for active cubesats launched by universities."
  • "What are the current TLEs for ISS (NORAD 25544)?"
  • "Show me all FM transmitters for the FUNcube-1 satellite."
  • "Find SatNOGS ground stations within 200 km of London."
  • "List recent good observations of NORAD 39444."
  • "What ground stations are online in Europe?"
  • "Show me the waterfall image from observation 12345."
  • "What telemetry has been collected for FUNCUBE-1 this week?"

Development

git clone https://github.com/atlas/satnogs-mcp
cd satnogs-mcp
pip install -e ".[dev]"
pytest tests/ -v

Architecture

  • cache.py — Dual-tier cache: Redis primary (when REDIS_URL is set), in-memory TTL dict fallback
  • client.py — HTTP clients for DB and Network APIs with sliding-window rate limiter (20 req/min, 200 req/hour) and exponential back-off on HTTP 429
  • server.py — FastMCP server with @mcp.tool() decorated tools; module-level singleton clients share sessions and rate-limiter state

License

MIT

Metadata

Release files for satnogs-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for satnogs-mcp 0.1.0
File Size Uploaded Provenance
satnogs_mcp-0.1.0.tar.gz 13.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for satnogs-mcp 0.1.0
File Interpreter ABI Platform
satnogs_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.3 kB

Release files / satnogs_mcp-0.1.0.tar.gz

Download URL satnogs_mcp-0.1.0.tar.gz
Size 13.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1538eaf1c7bc32df46ed7b95b63a374bb5189c7a36e37b4cf622164f7f10484c
BLAKE2b-256 checksum
How to use checksums
8496fef9f7f74c00b27f0f7cbd4007f8fa5cc41aa5188190d7e9c672e43943d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / satnogs_mcp-0.1.0-py3-none-any.whl

Download URL satnogs_mcp-0.1.0-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
14c112b52683c3e4a8844a75963e993a5824469bd4f97034b680f227c439576a
BLAKE2b-256 checksum
How to use checksums
55afc4aacbcc4028914d2b61f0ee7448bbb3ab2a9bb2de18f17dda4c46f9485d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for satnogs-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page