MCP

MANNA

MCP Architecture for NOIRLab and NRAO Archives: an MCP server exposing IVOA-compliant astronomical archives (Astro Data Lab, NRAO/ALMA, CADC, ESO, Gaia) to LLM clients.

bjfultn
No ratings
GaiaALMAcatalogsimages

Install

# Add to your Claude Code MCP settings:
claude mcp add manna -- python https://github.com/dangause/manna

About

MANNA gives LLM clients standard IVOA access to multiple archives: TAP (sync and async ADQL), RegTAP registry search, Simple Cone Search, SIA 2.0 image search, and Sesame name resolution. Each archive ships a curated knowledge module with endpoints, usage notes and per-table schema quirks, so the model writes working ADQL. A one-call vo_find_observations facade chains target resolution, archive selection and SIA/SCS search. Large results are promoted to async jobs with a pyvo fetch recipe instead of being inlined. Private and loopback hosts are refused; archives can be narrowed with MANNA_ARCHIVES.

Tools

vo_archive_list

List known archives with endpoint URLs and usage notes

vo_schema_describe

Curated per-table schema facts (missing columns, enum values, spatial index hints)

vo_target_resolve

Resolve an object name (e.g. M87) to RA/Dec via Sesame

vo_tap_query

Submit sync or async ADQL queries; returns inline or promoted results

vo_tap_status

Poll an async TAP job by ID

vo_tap_results

Return a completed async job's result URL plus a pyvo fetch recipe

vo_tap_abort

Abort a running async TAP job

vo_registry_search

Search the IVOA registry (RegTAP) by keyword or service type

vo_registry_describe

Describe a registry resource (columns, capabilities)

vo_cone_search

Simple Cone Search for legacy SCS-only archives

vo_sia_search

SIA 2.0 image search by position and waveband

vo_find_observations

One-call facade: resolve a target, pick an archive, run SIA or SCS

Installation

git clone https://github.com/dangause/manna && cd manna
uv sync
uv run python -m manna   # serves http://localhost:8000/mcp

# or Docker
docker build -t manna:dev . && docker run -p 8000:8000 manna:dev

claude mcp add --transport http manna http://localhost:8000/mcp

Scores

Quality10/10
Security9/10

Details

License
MIT
Runtime
python
Transport
streamable-http