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 "Install 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: Google Cloud Healthcare API 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Galaxy-Maps/galaxy-maps-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server