galaxy-maps-mcp
OfficialProvides tools for managing Galaxy Maps courses, including validation, saving, publishing, and inspecting courses, using Firebase for authentication and Firestore database operations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@galaxy-maps-mcpvalidate the galaxy map at /home/user/galaxy-map.json"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
galaxy-maps-mcp
MCP stdio server for validating, saving, publishing, and inspecting Galaxy Maps courses from local JSON files.
Setup
Install dependencies with Bun when you are ready to run the server:
bun installRuntime environment is read lazily, so the server can start without credentials. Firebase credentials are only required for tools that call Firebase.
export GALAXY_MAPS_FIREBASE_API_KEY="..."
export GALAXY_MAPS_EMAIL="..."
export GALAXY_MAPS_PASSWORD="..."Optional overrides:
export GALAXY_MAPS_PROJECT_ID="galaxy-maps-ac367"
export GALAXY_MAPS_REGION="us-central1"The Firebase API key value already lives in the platform repo .env as VITE_FIREBASE_API_KEY; reuse that value here as GALAXY_MAPS_FIREBASE_API_KEY.
Related MCP server: JSON Canvas MCP Server
Claude MCP Registration
Add this to ~/.claude.json:
{
"mcpServers": {
"galaxy-maps-mcp": {
"command": "bun",
"args": ["/home/ian/code/galaxy-maps-mcp/src/server.ts"],
"env": {
"GALAXY_MAPS_FIREBASE_API_KEY": "your-api-key",
"GALAXY_MAPS_EMAIL": "your-email",
"GALAXY_MAPS_PASSWORD": "your-password"
}
}
}
}Tools
validate_galaxy_map
Input:
{ "jsonPath": "/absolute/path/to/galaxy-map.json" }Reads a local JSON file with Bun.file(path).text(). Accepts either a bare Galaxy Map object or a wrapped object:
{ "galaxyMap": { "...": "..." }, "mapLayout": "zigzag" }Validation checks title, description, non-empty stars, non-empty planets, and required planet mission content. The report includes star count, planet count, total payload bytes, per-planet mission field byte sizes, and warnings for large payloads. It never prints mission HTML or the full map.
save_galaxy_map
Input:
{ "jsonPath": "/absolute/path/to/galaxy-map.json", "mapLayout": "zigzag" }mapLayout is optional and may be "zigzag" or "spiral". The selected layout is explicit input first, then wrapped file mapLayout, then "zigzag".
Flow:
Validate the local file.
Sign in with Firebase Auth REST.
POST to
https://{GALAXY_MAPS_REGION}-{GALAXY_MAPS_PROJECT_ID}.cloudfunctions.net/saveGalaxyMap.Return course ID, total planets, layout, and
https://app.galaxymaps.io/galaxy/{courseId}.
publish_course
Input:
{
"courseId": "course-id",
"visibility": "unlisted",
"presentationOnly": false
}visibility defaults to "unlisted" and may be "private", "unlisted", or "public". presentationOnly defaults to false.
Behavior:
Public visibility patches the course to
status: "submitted"andvisibility: "public", then stops because admin review is required.Private or unlisted visibility publishes the course.
If the course has no cohort and
presentationOnlyis false, the tool creates a default Squad cohort and attaches it to the course.If
presentationOnlyis true, the course is patched withpresentationOnly: trueandpublic: false.
get_course_status
Input:
{ "courseId": "course-id" }Reads courses/{courseId} from Firestore REST and returns title, status, visibility, public flag, cohort, topic total, task total, and course URL.
Development
Run a TypeScript check:
bunx tsc --noEmitRun the local handshake smoke test after dependencies are installed:
bun test/handshake.tsThis server cannot be deployed
Maintenance
Related MCP Connectors
Create, validate, edit, export (markdown/svg/png/mermaid), and search JSON Canvas files.
The Academy curriculum as an offline MCP library. Hosted course connector adds progress.
Drive a live Cinevva game session: edit game files, import CC0 assets, preview changes.
- FormastyOAuthcom.formasty
Create, edit, validate, publish, and inspect Formasty forms and quizzes over authenticated MCP.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables users to manage data in a simple JSON file database through MCP tools and REST API. Supports creating, reading, updating, and deleting items organized in collections with auto-generated UUIDs.-
- AlicenseNot gradedqualityDmaintenanceCreate, validate, read, edit, export, and search JSON Canvas files with an interactive inline viewer, stored privately per user.MIT
- FlicenseAqualityBmaintenanceA portable local MCP server enabling Canvas reads and safely gated content authoring (pages, modules, assignments, discussions, quizzes) with multi-layer safety checks.11-
- AlicenseNot gradedqualityBmaintenanceEnables browsing your Coursera courses, viewing library maps and course outlines, and downloading transcripts and readings as text via MCP tools.9MIT