A Model Context Protocol (MCP) server providing AI assistants with access to 61,874 mission plan entries from the Cassini-Huygens space mission.
- MCP Protocol Support: Full implementation of resources, prompts, and tools
- RESTful API: 9 HTTP endpoints for mission data access
- SQLite Database: 61,874 mission plan entries from 2004-2017
- Comprehensive Testing: 29 unit and integration tests
- Full Documentation: API docs, MCP integration guide, and model references
npm installnpm startServer runs on http://localhost:3000
npm run mcpnpm testcurl http://localhost:3000/health# Get first 10 entries
curl "http://localhost:3000/api/mission-plan?limit=10"
# Filter by team
curl "http://localhost:3000/api/mission-plan?team=CAPS&limit=5"
# Get by ID
curl http://localhost:3000/api/mission-plan/2curl "http://localhost:3000/api/mission-plan/search/text?q=Saturn&limit=5"# Get all teams
curl http://localhost:3000/api/metadata/teams
# Get statistics
curl http://localhost:3000/api/metadata/statsAdd to your MCP client config (e.g., Claude Desktop):
{
"mcpServers": {
"cassini-huygens": {
"command": "node",
"args": ["/path/to/mcp-project10/mcp-server.js"]
}
}
}Resources (4):
cassini://mission-plan/all- All mission entriescassini://metadata/teams- Team listcassini://metadata/targets- Target listcassini://metadata/stats- Statistics
Prompts (3):
mission-summary- Filtered activity summaryactivity-details- Specific activity infosearch-activities- Keyword search
Tools (4):
get-mission-plan- Query with filtersget-activity-by-id- Get by IDsearch-activities- Text searchget-metadata- Get metadata
.
├── data/
│ └── master_plan.db # SQLite database (61,874 entries)
├── docs/
│ ├── api-endpoints.md # API documentation
│ ├── database-schema.md # Database schema
│ ├── mcp-integration.md # MCP guide
│ ├── models-api.md # Model reference
│ └── logs/ # Session logs
├── lib/
│ ├── middleware/
│ │ ├── errorHandler.js # Error handling
│ │ └── validation.js # Request validation
│ ├── models/
│ │ └── MasterPlan.js # Data model
│ ├── routes/
│ │ ├── metadata.js # Metadata routes
│ │ └── missionPlan.js # Mission plan routes
│ └── services/
│ ├── database.js # Database service
│ └── mcpServer.js # MCP server
├── tests/
│ ├── api/
│ │ └── endpoints.test.js # API integration tests
│ └── models/
│ └── MasterPlan.test.js # Model unit tests
├── mcp-server.js # MCP entry point
├── server.js # REST API entry point
└── package.json
- Total Entries: 61,874
- Teams: 15 (CAPS, CDA, CIRS, INMS, ISS, MAG, MIMI, MP, PROBE, RADAR, RPWS, RSS, UVIS, VIMS)
- Targets: 47 (Saturn, Titan, Enceladus, etc.)
- SPASS Types: 6
- Date Range: 2004-2017
CREATE TABLE master_plan (
id INTEGER PRIMARY KEY AUTOINCREMENT,
start_time_utc TEXT NOT NULL,
duration TEXT,
date TEXT,
team TEXT,
spass_type TEXT,
target TEXT,
request_name TEXT,
library_definition TEXT,
title TEXT,
description TEXT
);GET /- Service informationGET /health- Health check
GET /api/mission-plan- List entries (with filters)GET /api/mission-plan/:id- Get by IDGET /api/mission-plan/search/text- Text search
GET /api/metadata/teams- List teamsGET /api/metadata/targets- List targetsGET /api/metadata/spass-types- List SPASS typesGET /api/metadata/stats- Get statistics
Run the test suite:
npm testTest Coverage:
- 12 model unit tests
- 17 API integration tests
- 29 total tests passing
- Node.js 14+
- npm 6+
express- Web frameworksqlite3- Database driver@modelcontextprotocol/sdk- MCP implementation
jest- Testing frameworksupertest- API testing
npm start- Start REST API servernpm run mcp- Start MCP servernpm test- Run tests
- API Endpoints - Complete API reference
- Database Schema - Database structure
- MCP Integration - MCP usage guide
- Models API - Model reference
The Cassini-Huygens mission was a joint NASA/ESA/ASI mission to explore Saturn and its moons. Launched in 1997, it operated from 2004 to 2017, providing unprecedented insights into the Saturnian system.
Key Achievements:
- Discovered liquid water on Enceladus
- Landed Huygens probe on Titan
- Studied Saturn's rings in detail
- Observed seasonal changes on Titan
- Completed 294 orbits of Saturn
ISC
This project was developed iteratively with detailed session logs available in docs/logs/.
For issues or questions, please refer to the documentation in the docs/ directory.