About Swagger MCP
Swagger MCP is an MCP server from SmartBear that gives AI assistants access to Swagger. It suits developers who want Swagger data available inside an AI workflow.
Key features
- 01MCP access to Swagger capabilities
- 02Hosted remote server with OAuth sign-in
- 03Local run via the @smartbear/mcp npm package
Use cases
- 01Querying Swagger information from an AI assistant
- 02Connecting Swagger data to a development workflow
MCP support
The project is an MCP server that exposes Swagger-related tools and resources to MCP clients.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://swagger.mcp.smartbear.com/mcpclaude mcp add --transport http com-smartbear-swagger https://swagger.mcp.smartbear.com/mcp{"mcpServers":{"com-smartbear-swagger":{"type":"http","url":"https://swagger.mcp.smartbear.com/mcp"}}}Open in Cursor{"servers":{"com-smartbear-swagger":{"type":"http","url":"https://swagger.mcp.smartbear.com/mcp"}}}Open in VS Code{"mcpServers":{"com-smartbear-swagger":{"type":"http","url":"https://swagger.mcp.smartbear.com/mcp"}}}{"mcpServers":{"com-smartbear-swagger":{"serverUrl":"https://swagger.mcp.smartbear.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEA 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"
}
}
}
}
Loading only the products you use
Set MCP_CLIENTS to a comma-separated, case-insensitive list of product names (for example "MCP_CLIENTS": "QMetry") to load only those products. This reduces startup time, which helps on clients with a short initialize timeout. Valid names are BearQ, BugSnag, Collaborator, Contract Testing, QMetry, QTM4J, Reflect, Swagger and Zephyr. When unset, all products are loaded.
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. |
MCP_SERVER_AMPLITUDE_API_KEY | (unset — analytics off) | API key for the shared SmartBear Amplitude project. When set, the server reports Server Initialized, Session Started, Session Ended, Tool Called and Tools Listed usage events (tool outcome and timing only — never tool arguments, results, credentials or raw email). Unset, nothing is tracked. HTTP mode only. |
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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.