gmat-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BASE_URL | No | Docs base URL for scraping. Default: https://documentation.help/gmat/ | |
| GMAT_BIN | Yes | Path to GMAT bin folder containing GmatConsole(.exe). Required for runGmat/samples tools. | |
| MCP_PORT | No | Port for wrappers/adapters that expose this stdio server via TCP/SSE. Server itself uses stdio. | |
| NODE_ENV | No | Set to 'test' to use pages-test.json during setup. | |
| CACHE_DIR | No | Directory for embeddings.json. Default: ./data | |
| GMAT_IDIOMS | No | Path to idioms file. Default: ./data/gmat_idioms.md | |
| GMAT_SAMPLES | No | Path to GMAT samples directory. Default: <GMAT_BIN>\..\samples | |
| OPENAI_API_KEY | No | OpenAI API key, only needed to rebuild the docs-embedding cache (setup). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchDocsA | Semantic search over GMAT documentation. Returns relevant sections with full content and sources. |
| runGmatA | Run a GMAT mission script (text) headless and return the validated outcome: {ok, stage, errors, reports, raw_tail}. This is the validation loop - write a script, run it, read the errors/results, fix, repeat. 'stage' is one of completed | parse | convergence | run. |
| getGmatIdiomsA | Return the curated GMAT idioms & gotchas knowledge base - hard-won rules that prevent common script errors (parameter dependencies, ElapsedSecs being cumulative, no parentheses in conditionals, ImpulsiveBurn vs FiniteBurn, Propagate Synchronized for two-spacecraft burns, etc.). Read this before writing GMAT scripts. |
| listGmatSamplesA | List the available known-good GMAT sample scripts, each tagged with the techniques it demonstrates (targeting, optimization, finite-burn, OD/estimation, B-plane, interplanetary, libration-point, drag, attitude, ...). Covers NASA's official samples plus a locally validated community corpus (real-mission scripts harvested from public repos that pass a headless run; prefixed 'community/'). Scan the tags to pick the right seed for a mission, then getGmatSample to read it. |
| getGmatSampleA | Return the full text of one NASA sample script by file name (from listGmatSamples). Use as a known-good template to seed a phase. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: idioms for rules, samples for templates, run for execution, and search for documentation. No functional overlap.
All names use camelCase with verb prefixes (get, list, run, search), but 'list' and 'run' differ from the predominant 'get' pattern. Still predictable and readable.
5 tools cover the essential operations for GMAT script development without overload. Each tool earns its place for a focused server.
Core lifecycle (access knowledge, fetch samples, run scripts, search docs) is covered. Minor gap: no tool for modifying or saving scripts, but that fits the intended workflow.