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.
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"
}
}
}
}