High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.
MCP server for SmartBear testing tools
This server connects an MCP client to SmartBear products so an assistant can query tests, errors, contracts, and review data from one place. It supports local npm setup and hosted remote endpoints for some products, with environment variables for product-specific auth and base URLs.
Builders who want Copilot or another MCP client to work with SmartBear product data in their day-to-day workflow.
You can ask your agent to inspect, query, and manage SmartBear testing and monitoring tools without switching apps.
What it does
SmartBear product integrations
Connects to BearQ, BugSnag, Reflect, Swagger, PactFlow, Pact Broker, QMetry, QTM4J, Zephyr, and Collaborator.
Remote MCP servers
Provides hosted MCP endpoints for Swagger, BugSnag, and Zephyr, with OAuth browser sign-in and no local install needed.
Local npm server
Runs as `@smartbear/mcp` for all supported products when you want one local server process.
Client setup examples
Shows config examples for VS Code with Copilot and Claude Desktop, including the env vars each product needs.
HTTP deployment options
Includes `BASE_URL` and `TRUST_PROXY` settings for running the server behind a proxy or load balancer.
README
A Model Context Protocol (MCP) server which provides AI assistants with seamless access to SmartBear's suite of testing and monitoring tools, including BearQ, BugSnag, Reflect, Swagger, PactFlow, Pact Broker, QMetry, QTM4J, Zephyr and Collaborator.
What is MCP?
The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely connect to external data sources and tools. This server exposes SmartBear's APIs through natural language interfaces, allowing you to query your testing data, analyze performance metrics, and manage test automation directly from your AI workflow.
Supported Tools
See individual guides for suggested prompts and supported tools and resources:
- BearQ - AI-powered QA test management and execution capabilities
- BugSnag - Comprehensive error monitoring and debugging capabilities
- Reflect - Test management and execution capabilities
- Swagger
- Portal - Portal and product management capabilities
- Studio - API and Domain management capabilities, including AI-powered API generation from prompts and automatic standardization
- Contract Testing (PactFlow) - Contract testing capabilities
- Functional Testing - API test discovery capabilities
- QMetry - QMetry Test Management capabilities
- Zephyr - Zephyr Test Management capabilities
- Collaborator - Review and Remote System Configuration management capabilities
- QTM4J - QTM4J Test Management for Jira capabilities
Remote MCP Servers
For BugSnag, Swagger, and Zephyr, SmartBear hosts Remote MCP Servers that you can connect to directly from your MCP client via a URL — no installation, Node.js, or API tokens required. Authentication is handled through an OAuth browser flow.
| Product | Server URL |
|---|---|
| Swagger | https://swagger.mcp.smartbear.com/mcp |
| BugSnag | https://bugsnag.mcp.smartbear.com/mcp |
| Zephyr | https://zephyr.mcp.smartbear.com/mcp |
See the Remote MCP Servers guide for per-client setup instructions. You can connect to multiple remote servers at the same time.
Need BearQ, Reflect, QMetry, QTM4J, PactFlow, Collaborator, or Functional Testing? These products are only available via the local npm package below, which bundles all products into a single MCP server.
Prerequisites
- Node.js 22+ and npm
- Access to SmartBear products (BugSnag, Reflect, Swagger, QMetry, QTM4J or Zephyr)
- Valid API tokens for the products you want to integrate
Local MCP Server Installation (npm)
For all products — or if you prefer running the server locally — the MCP server is distributed as an npm package @smartbear/mcp, making it easy to integrate into your development workflow.
The server is started with the API key or auth token that you use with your SmartBear product(s). They are optional and can be removed from your configuration if you aren't using the product. For BugSnag, if you provide a project API key it will narrow down all searches to a single project in your BugSnag dashboard. Leave this field blank if you wish to interact across multiple projects at a time.
VS Code with Copilot
For the quickest setup, use the "MCP: Add server…" command in the Command Palette to add the @smartbear/mcp npm package.
📋 Manual installation
Alternatively, you can use npx (or globally install) the @smartbear/mcp package to run the server and add the following to your .vscode/mcp.json file:
{
"servers": {
"smartbear": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@smartbear/mcp@latest"
],
"env": {
"BEARQ_API_TOKEN": "${input:bearq_api_token}",
"BEARQ_API_BASE_URL": "${input:bearq_api_base_url}",
"BUGSNAG_AUTH_TOKEN": "${input:bugsnag_auth_token}",
"BUGSNAG_PROJECT_API_KEY": "${input:bugsnag_project_api_key}",
"REFLECT_API_TOKEN": "${input:reflect_api_token}",
"SWAGGER_API_KEY": "${input:swagger_api_key}",
"SWAGGER_PORTAL_BASE_PATH": "${input:swagger_portal_base_path}",
"SWAGGER_REGISTRY_BASE_PATH": "${input:swagger_registry_base_path}",
"SWAGGER_UI_BASE_PATH": "${input:swagger_ui_base_path}",
"PACT_BROKER_BASE_URL": "${input:pact_broker_base_url}",
"PACT_BROKER_TOKEN": "${input:pact_broker_token}",
"PACT_BROKER_USERNAME": "${input:pact_broker_username}",
"PACT_BROKER_PASSWORD": "${input:pact_broker_password}",
"QMETRY_API_KEY": "${input:qmetry_api_key}",
"QMETRY_BASE_URL": "${input:qmetry_base_url}",
"ZEPHYR_API_TOKEN": "${input:zephyr_api_token}",
"ZEPHYR_BASE_URL": "${input:zephyr_base_url}",
"COLLABORATOR_BASE_URL": "${input:collab_base_url}",
"COLLABORATOR_USERNAME": "${input:collab_username}",
"COLLABORATOR_LOGIN_TICKET": "${input:collab_login_ticket}",
"QTM4J_API_KEY": "${input:qtm4j_api_key}",
"QTM4J_BASE_URL": "${input:qtm4j_base_url}",
"QTM4J_AUTOMATION_API_KEY": "${input:qtm4j_automation_api_key}",
"SWAGGER_FUNCTIONAL_TESTING_API_TOKEN": "${input:swagger_functional_testing_api_token}",
"SWAGGER_FUNCTIONAL_TESTING_BASE_PATH": "${input:swagger_functional_testing_base_path}"
}
}
},
"inputs": [
{
"id": "bearq_api_token",
"type": "promptString",
"description": "BearQ workspace API token - leave blank to disable BearQ tools",
"password": true
},
{
"id": "bearq_api_base_url",
"type": "promptString",
"description": "BearQ API base URL - leave blank to use the default (https://api.bearq.smartbear.com)",
"password": false
},
{
"id": "bugsnag_auth_token",
"type": "promptString",
"description": "BugSnag Auth Token - leave blank to disable BugSnag tools",
"password": true
},
{
"id": "bugsnag_project_api_key",
"type": "promptString",
"description": "BugSnag Project API Key - for single project interactions",
"password": false
},
{
"id": "reflect_api_token",
"type": "promptString",
"description": "Reflect API Token - leave blank to disable Reflect tools",
"password": true
},
{
"id": "swagger_api_key",
"type": "promptString",
"description": "Swagger API Key - leave blank to disable Swagger tools",
"password": true
},
{
"id": "swagger_portal_base_path",
"type": "promptString",
"description": "Swagger Portal API base path - only needed for on-premise installations (leave blank for cloud)",
"password": false
},
{
"id": "swagger_registry_base_path",
"type": "promptString",
"description": "Swagger Registry API base path - only needed for on-premise installations (leave blank for cloud)",
"password": false
},
{
"id": "swagger_ui_base_path",
"type": "promptString",
"description": "Swagger UI base path - only needed for on-premise installations (leave blank for cloud)",
"password": false
},
{
"id": "pact_broker_base_url",
"type": "promptString",
"description": "PactFlow or Pact Broker base url - leave blank to disable the tools",
"password": true
},
{
"id": "pact_broker_token",
"type": "promptString",
"description": "PactFlow Authentication Token",
"password": true
},
{
"id": "pact_broker_username",
"type": "promptString",
"description": "Pact Broker Username",
"password": true
},
{
"id": "pact_broker_password",
"type": "promptString",
"description": "Pact Broker Password",
"password": true
},
{
"id": "qmetry_api_key",
"type": "promptString",
"description": "QMetry Open API Key",
"password": true
},
{
"id": "qmetry_base_url",
"type": "promptString",
"description": "By default, connects to https://testmanagement.qmetry.com. Change to a custom QMetry server URL or a region-specific endpoint if needed.",
"password": false
},
{
"id": "zephyr_api_token",
"type": "promptString",
"description": "Zephyr API token - leave blank to disable Zephyr tools",
"password": true
},
{
"id": "zephyr_base_url",
"type": "promptString",
"description": "Zephyr API base URL. By default, connects to https://api.zephyrscale.smartbear.com/v2. Change to region-specific endpoint if needed.",
"password": false
},
{
"id": "collab_base_url",
"type": "promptString",
"description": "Collab base url",
"password": true
},
{
"id": "collab_username",
"type": "promptString",
"description": "Collab username",
"password": true
},
{
"id": "collab_login_ticket",
"type": "promptString",
"description": "Collab login ticket",
"password": true
},
{
"id": "qtm4j_api_key",
"type": "promptString",
"description": "QTM4J API Key",
"password": true
},
{
"id": "qtm4j_base_url",
"type": "promptString",
"description": "US region (default): https://qtmcloud.qmetry.com. Australia region: https://syd-qtmcloud.qmetry.com.",
"password": false
},
{
"id": "qtm4j_automation_api_key",
"type": "promptString",
"description": "QTM4J Automation API Key - required for automation tools, leave blank to disable them",
"password": true
},
{
"id": "swagger_functional_testing_api_token",
"type": "promptString",
"description": "Swagger Functional Testing API Token - leave blank to disable Functional Testing tools",
"password": true
},
{
"id": "swagger_functional_testing_base_path",
"type": "promptString",
"description": "Swagger Functional Testing API Base URL - leave blank to use the default (https://api.reflect.run/v1)",
"password": false
}
]
}
Claude Desktop
Add the following configuration to your claude_desktop_config.json to launch the MCP server via npx:
{
"mcpServers": {
"smartbear": {
"command": "npx",
"args": [
"-y",
"@smartbear/mcp@latest"
],
"env": {
"BEARQ_API_TOKEN": "your_bearq_api_token",
"BUGSNAG_AUTH_TOKEN": "your_personal_auth_token",
"BUGSNAG_PROJECT_API_KEY": "your_project_api_key",
"REFLECT_API_TOKEN": "your_reflect_token",
"SWAGGER_API_KEY": "your_swagger_key",
"SWAGGER_PORTAL_BASE_PATH": "https://api.portal.swaggerhub.com/v1",
"SWAGGER_REGISTRY_BASE_PATH": "https://api.swaggerhub.com",
"SWAGGER_UI_BASE_PATH": "https://app.swaggerhub.com",
"PACT_BROKER_BASE_URL": "your_pactflow_or_pactbroker_base_url",
"PACT_BROKER_TOKEN": "your_pactflow_token",
"PACT_BROKER_USERNAME": "your_pact_broker_username",
"PACT_BROKER_PASSWORD": "your_pact_broker_password",
"QMETRY_API_KEY": "your_qmetry_api_key",
"QMETRY_BASE_URL": "https://testmanagement.qmetry.com",
"ZEPHYR_API_TOKEN": "your_zephyr_api_token",
"ZEPHYR_BASE_URL": "https://api.zephyrscale.smartbear.com/v2",
"COLLABORATOR_BASE_URL": "your collab base url",
"COLLABORATOR_USERNAME": "your collab user name",
"COLLABORATOR_LOGIN_TICKET": "your collab login ticket",
"QTM4J_API_KEY": "your_qtm4j_key",
"QTM4J_BASE_URL": "https://qtmcloud.qmetry.com",
"QTM4J_AUTOMATION_API_KEY": "your_qtm4j_automation_api_key",
"SWAGGER_FUNCTIONAL_TESTING_API_TOKEN": "your_swagger_functional_testing_api_token",
"SWAGGER_FUNCTIONAL_TESTING_BASE_PATH": "https://api.reflect.run/v1"
}
}
}
}
Server Configuration (HTTP mode)
| Variable | Default | Purpose |
|---|---|---|
BASE_URL | (derived from request) | The server's own public URL, e.g. https://mcp.example.com. Set this on any deployment behind a proxy or load balancer — otherwise the address advertised for OAuth discovery is derived from the client-supplied Host header. |
TRUST_PROXY | false | Set to true only when a proxy in front of the server sets X-Forwarded-Host and strips any client-supplied value. |
Documentation
For detailed introduction, examples, and advanced configuration visit our 📖 Full Documentation
Local Development
For developers who want to contribute to the SmartBear MCP server, please see the CONTRIBUTING.md guide.
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Support
- Search open and closed issues for similar problems
- Report a bug or request a feature
SmartBear MCP Server - Bringing the power of SmartBear's testing and monitoring ecosystem to your AI-powered development workflow.
Files in the repo
- .github
- assets
- docs
- packaging
- scripts
- src
- .cspell.json
- .editorconfig
- .gitignore
- .hadolint.yaml
- .pre-commit-config.yaml
- .tool-versions
- biome.jsonc
- CHANGELOG.md
- CODEOWNERS
- CONTRIBUTING.md
- Dockerfile
- LICENSE.txt
- package-lock.json
- package.json
- README.md
- SECURITY.md
- server.json
- server.swagger.json
- tsconfig.json
- vite.config.ts
- vitest.config.ts
- vitest.pact.config.ts
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More connectors

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code
Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.
Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.
Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.
20 MB lightweight cross-platform database client for 90+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker. | 轻量级跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、达梦等 90+ 数据库,提供桌面端、Docker、CLI、内置 AI 助手和 MCP Server。