Cassini Mission Plan MCP
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Cassini Mission Plan MCP
A read-only Model Context Protocol server over the Cassini-Huygens mission dataset (~62k activity rows). Built as an AI workshop demo: clean, readable TypeScript that runs live in Claude Desktop.
Live endpoint: https://cassini-mission-plan.paganio.workers.dev
π©Ί A plain GET / returns a JSON health/info page. The MCP protocol itself is POST-only JSON-RPC, so any other request gets a 405.
# Health check
curl https://cassini-mission-plan.paganio.workers.dev
# List the tools (JSON-RPC over POST)
curl -X POST https://cassini-mission-plan.paganio.workers.dev \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'What it does
Exposes 7 MCP tools so an LLM client can query the Cassini master_plan table:
Tool | What it answers |
| Filtered, paginated rows (date range, team, target) |
| Single row by id |
| FTS5 full-text search over title + description |
| Row count matching the same filters as list |
| Group-by counts (team / target / spass_type) |
| Bucketed counts over a date range (year or month) β zero-filled |
| Distinct values of team / target / spass_type |
Related MCP server: Cassini Mission Plan MCP
Architecture
Runtime: Cloudflare Workers (TypeScript)
Data: Cloudflare D1 (SQLite) β
master_plantable + FTS5 virtual tableTransport: hand-rolled MCP-over-HTTP (JSON-RPC 2.0 over plain HTTP POST)
Validation: zod schemas per tool; errors surface as JSON-RPC error objects
See docs/ARCHITECTURE.md for the full design.
Project setup
npm installRun tests
npm test # Jest β all specs against in-memory SQLiteThe deploy spec (spec/deploy-and-initialize.spec.ts) needs a live URL:
DEPLOY_URL=https://cassini-mission-plan.paganio.workers.dev npm testDeploy (one-time setup)
Create the D1 database:
npx wrangler d1 create cassiniCopy the
database_idintowrangler.toml.Import the data (generates
data/cassini.d1.sqlfromdata/cassini.db):npm run import # tsx scripts/import.ts β writes data/cassini.d1.sql npx wrangler d1 execute cassini --remote --file=data/cassini.d1.sqlDeploy:
npm run deploy
Local dev
npm run dev # wrangler dev (uses local D1)π Query the data directly
The local D1 starts empty β seed it once from the generated SQL:
npx wrangler d1 execute cassini --local --file=data/cassini.d1.sqlThen run SQL against the master_plan table (drop --local for --remote to hit the deployed DB):
# Top science teams by activity count
npx wrangler d1 execute cassini --local \
--command="SELECT team, COUNT(*) AS activities FROM master_plan GROUP BY team ORDER BY activities DESC LIMIT 5;"
# Full-text search via the FTS5 table
npx wrangler d1 execute cassini --local \
--command="SELECT id, title FROM master_plan_fts JOIN master_plan USING(rowid) WHERE master_plan_fts MATCH 'titan flyby' LIMIT 5;"
# Activities targeting Enceladus, earliest first
npx wrangler d1 execute cassini --local \
--command="SELECT start_iso, title FROM master_plan WHERE target='Enceladus' ORDER BY start_iso LIMIT 5;"Docs
File | What's in it |
| Problem, audience, goals, scope |
| Components, data model, key decisions |
| Tool API reference + functional/non-functional requirements |
| User stories (source for the spec suite) |
| Build task checklist (all complete) |
| Decision log maintained with Claude Code |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
Related MCP Connectors
Discover, verify, and access NASA Earth science datasets via the Common Metadata Repository (CMR)
Search CERN Open Data, fetch records, files, analysis environments, CMS good-run lists, HLT paths.
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
MAST MCP β Space Telescopes archive.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides access to the NASA Planetary Data System Registry API, enabling human-in-the-loop search and exploration of planetary data products, missions, celestial bodies, and instruments.75MIT
- AlicenseNot gradedqualityDmaintenanceA read-only MCP server over the Cassini-Huygens mission dataset exposing tools for querying activity data such as listing, searching, counting, aggregating, and timeline analysis.1MIT
- AlicenseNot gradedqualityDmaintenanceNASA CDAWeb data access for heliophysics β browse observatories, inspect parameters, fetch CDF data.MIT
- AlicenseAqualityDmaintenanceEnables controlled, auditable search and retrieval of data from the CSIRO ASKAP Science Data Archive via structured tools, with optional authenticated staging and downloads.45BSD 3-Clause