MCP QA Lab
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., "@MCP QA LabRegister a new MCP server for testing"
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.
MCP QA Lab
Evidence-driven quality testing for Model Context Protocol servers. MCP QA Lab connects as a real client, captures the complete model-facing contract, finds agent-usability risks, measures context cost, and runs only explicitly approved target calls.
Why use it?
A server can have perfect handler-level tests and still be difficult for an agent to use. Tool names may be ambiguous, input fields may be undocumented, pagination may be incomplete, and safety intent may be missing. MCP QA Lab tests that public protocol surface separately from implementation code.
flowchart LR
A[Register target] --> B[Live protocol inspection]
B --> C[Static contract checks]
B --> D[Context-cost measurement]
C --> E[Scenario generation]
E --> F[Approved calls only]
D --> G[Evidence report]
F --> GHighlights
Complete paginated discovery of tools, prompts, resources, and resource templates
Deterministic checks for schema quality, naming, descriptions, and safety annotations
Model-facing contract size and approximate context-cost measurement
Host-model sampling for task-oriented scenario proposals
Explicit approval boundary for target tool calls with possible side effects
Secret-free target registration using environment variable names, never values
Redacted Markdown reports with reproducible evidence
Stdio and Streamable HTTP target support
Install
Install directly from the public repository:
uv tool install "git+https://github.com/efficjump/mcp-qa-lab.git"
mcp-qa-lab --transport stdioFor source development:
git clone https://github.com/efficjump/mcp-qa-lab.git
cd mcp-qa-lab
uv sync --all-extras --locked
uv run mcp-qa-lab --transport stdioGeneric MCP client configuration
{
"mcpServers": {
"mcp-qa-lab": {
"command": "mcp-qa-lab",
"args": ["--transport", "stdio"]
}
}
}Client configuration formats vary; the command and arguments above do not require a local repository path after tool installation.
Tool workflow
Tool | Purpose |
| Persist a secret-free stdio or Streamable HTTP target definition |
| List registered targets |
| Capture the live, paginated MCP contract |
| Find deterministic contract and usability issues |
| Measure serialized contract size and approximate token cost |
| Ask the host model for evidence-oriented test journeys |
| Invoke one reviewed target tool with safety approval |
| Write a redacted Markdown QA report |
Safety defaults
Remote targets are denied unless
MCP_QA_ALLOW_REMOTE=1.Local target working directories must stay inside
MCP_QA_ALLOWED_ROOTSwhen configured.Registrations reference inherited environment variable names; values are never persisted.
Inspection and static checks never invoke target tools.
Tools without
readOnlyHint: truerequire explicit side-effect approval.Reports redact credentials, authorization headers, tokens, and URL user information.
The process boundary is not an operating-system sandbox. Run untrusted targets in an isolated environment.
Streamable HTTP
mcp-qa-lab --transport streamable-http --host 127.0.0.1 --port 8765The default endpoint is http://127.0.0.1:8765/mcp. Keep the listener on loopback unless a separate
authentication and network boundary is in place.
Development
uv sync --all-extras --locked
uv run ruff format --check .
uv run ruff check .
uv run mypy src
uv run pytest --cov --cov-report=term-missing
uv buildThe coverage gate is 85%. See architecture, security policy, and contribution guide.
License
This server cannot be installed
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/efficjump/mcp-qa-lab'
If you have feedback or need assistance with the MCP directory API, please join our Discord server