Ghostqa MCP Server

SpecterQA sends AI personas through your application — they look at the screen, decide what to do, and interact like real humans. No test scripts. No

Local serverstdioPython

What is the Ghostqa MCP server?

SpecterQA sends AI personas through your application — they look at the screen, decide what to do, and interact like real humans. No test scripts. No selectors. You describe personas and journeys in YAML, and SpecterQA handles the rest. Exposed over MCP by the ghostqa mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.

What it actually does

Traditional E2E tests are brittle. You write selectors, they break. You maintain scripts, they rot. SpecterQA takes a different approach: AI vision models look at your actual UI and navigate it the way a person would.

  • Persona-based testing — -- Define AI users with backgrounds, goals, frustrations, and tech comfort levels. They don't just follow scripts; they react to what they see
  • Vision-powered — -- No selectors, no DOM queries. The AI interprets screenshots like a human would. Catches visual/layout issues that selector-based tests miss entirely
  • YAML-configured — -- Products, personas, and journeys are all YAML files. PMs can read them. No code to maintain
  • Budget enforcement — -- Per-run, per-day, and per-month cost caps. The engine hard-stops if you hit the limit. No surprise bills
  • JUnit XML output — -- Drop --junit-xml results.xml and plug it into any CI system
  • Tiered model routing — -- Haiku for cheap navigation, Sonnet for complex reasoning, optional local Ollama for zero-cost simple actions

Its toolset

Everything the assistant can do here goes through one of these:

  • specterqa_run — Execute behavioral tests. Parameters: product (str), level (str, optional), directory (str, optional). Returns a RunReport JSON object
  • specterqa_list_products — List all products and their configured journeys. No parameters required
  • specterqa_get_results — Retrieve a previous run report by run_id
  • specterqa_init — Initialize a new SpecterQA project at a given directory

Adding it to your client

specterqa on PyPI is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Configuration

You will need 3 environment variables: ANTHROPIC_API_KEY, SPECTERQA_BUDGET, SPECTERQA_ALLOWED_DIRS. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

When to reach for it

Plenty of file and storage access servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Ghostqa's toolset — specterqa_run, specterqa_list_products, specterqa_get_results and 1 more — is a fair guide to whether it matches your workflow. It is maintained by synctek-llc; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the ghostqa mcp server does with a few real requests.

Available tools

ToolWhat it does
specterqa_runExecute behavioral tests. Parameters: product (str), level (str, optional), directory (str, optional). Returns a RunReport JSON object.
specterqa_list_productsList all products and their configured journeys. No parameters required.
specterqa_get_resultsRetrieve a previous run report by run_id.
specterqa_initInitialize a new SpecterQA project at a given directory.

How to install the Ghostqa MCP server

{
  "mcpServers": {
    "ghostqa": {
      "command": "uvx",
      "args": ["specterqa"],
      "env": {
        "ANTHROPIC_API_KEY": "your-value",
        "SPECTERQA_BUDGET": "your-value",
        "SPECTERQA_ALLOWED_DIRS": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
ANTHROPIC_API_KEYCredential the server authenticates with.Yes
SPECTERQA_BUDGETConfiguration value read at startup.Optional
SPECTERQA_ALLOWED_DIRSFilesystem location the server is allowed to use.Optional

Example prompts to try

  • Use Ghostqa to specterqa run.
  • Use Ghostqa to specterqa list products.
  • Use Ghostqa to specterqa get results.

Frequently asked questions

It connects Ghostqa to MCP-compatible AI assistants such as Claude and Cursor, exposing 4 tools (specterqa_run, specterqa_list_products, specterqa_get_results, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Ghostqa directly.