ghost-inspector-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GHOST_INSPECTOR_ORG_ID | No | Organization id, obtainable from gi_whoami. Needed to execute a validation (gi_validate_test), but not for dryRun. | |
| GHOST_INSPECTOR_API_KEY | Yes | Your personal Ghost Inspector API key. Required for all operations. | |
| GHOST_INSPECTOR_ALLOW_WRITES | No | Set to exactly 'true' to register the mutating tools (gi_update_test and gi_move_suite). Defaults to 'false'. | false |
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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gi_whoamiA | Confirms the configured API key works and lists the organizations it can reach. Read-only and safe to call first when diagnosing setup. Returns each organization's id ā export the one you want as GHOST_INSPECTOR_ORG_ID to enable on-demand validation runs. |
| gi_inventoryA | Read-only tour of the whole account: every folder, the suites inside it, and per-suite counts of passing / failing / module / not-yet-run tests, plus the names of the failing ones. Start here ā no other question about this account can be answered without knowing what is in it. Import-only tests (modules: shared steps that other tests import, the equivalent of a function) are counted in their own bucket and never as failures. Marking a test import-only deletes its stored results, so every module looks permanently unrun; folding that into a failure count invents breakage that does not exist and aims cleanup at the steps the live tests all share. Read the Fetches roughly 440 KB from the API and returns a summary of it, so ask for the whole account rather than probing folder by folder. Totals always describe the entire account even when a filter narrows the listing. |
| gi_module_usageA | Answers the one question the API cannot: if I edit this module, which tests break? Builds the reverse index of Also surfaces three things that only appear once the index exists: import-only tests nobody imports (dead, or a test that lost its caller and is silently not running); imported tests NOT flagged import-only, which run standalone and inside their importers, so an edit changes both paths; and execute steps pointing at ids that no longer exist. š“ It also finds This is the expensive tool. |
| gi_stale_testsA | Call this BEFORE diagnosing or editing any red test. Splits failures into two piles by comparing the whole
š“ Re-running is not free advice: many Ghost Inspector suites submit real forms against production. Confirm what a test does before triggering it. Also reports the case nobody looks for: passing tests whose chain changed after their last run, whose green result describes the old definition and proves nothing about the current one. Import-only modules are excluded rather than evaluated, since they have no results to compare against. Costs one request per test, a few seconds for a few hundred tests. |
| gi_validate_testA | Runs a test definition through on-demand execution, which executes it and discards it ā nothing in the account is created or changed. Use it to check that a selector chain still resolves before editing a test, and to check a definition you are authoring before saving it. š“ It drives a real browser against a real URL, so it is an action with real-world effects even though nothing is saved. Two guards apply and neither can be turned off. Modules are inlined first, because a test whose steps are just For an existing test the suite's viewport and browser are replicated, because tests inherit those and a selector can resolve on desktop and fail on mobile. Read A browser run takes 20-100 seconds; the tool polls until it finishes. |
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 targets a unique aspect of the Ghost Inspector account: authentication, inventory, module dependency analysis, stale test detection, and safe on-demand validation. There is no overlap in their purposes, and the descriptions make it clear when to use each one.
All tools share the 'gi_' prefix and use snake_case, making them visually consistent. However, the naming patterns mix noun phrases (gi_inventory, gi_module_usage, gi_stale_tests) with a verb phrase (gi_validate_test) and a command-style name (gi_whoami), so the verb_noun pattern is not strictly maintained.
With exactly 5 tools, the server is well-scoped for its analysis-oriented purpose. Each tool fills a distinct need without redundancy, and the count feels neither too thin nor overwhelming.
The tools cover the full analysis lifecycle: verifying access, understanding the inventory, assessing blast radius before edits, triaging failures by staleness, and validating changes safely. There are no obvious gaps within the stated domain of read-only analysis and safe validation.