SmartBear MCP Server

SmartBear MCP Server

MCP server for AI access to SmartBear tools, including BugSnag, Reflect, API Hub, PactFlow.

917

37 Tools

Packaged by
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

Use cases

About

SmartBear MCP Server MCP Server

MCP server for AI access to SmartBear tools, including BugSnag, Reflect, API Hub, PactFlow.

What is an MCP Server?

MCP Info

Image Building InfoDockerfile|https://github.com/SmartBear/smartbear-mcp/blob/main/Dockerfile

Docker Image built by|Docker Inc. Docker Scout Health Score| Docker Scout Health ScoreVerify Signature|COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/smartbear --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pubLicence|MIT License

Available Tools (37)

Tools provided by this ServerShort Description
api_hub_create_api_from_templateAPI Hub: Create API from Template
api_hub_create_or_update_apiAPI Hub: Create or Update API
api_hub_create_portalAPI Hub: Create Portal
api_hub_create_portal_productAPI Hub: Create Portal Product
api_hub_delete_portalAPI Hub: Delete Portal
api_hub_delete_portal_productAPI Hub: Delete Portal Product
api_hub_get_api_definitionAPI Hub: Get API Definition
api_hub_get_portalAPI Hub: Get Portal
api_hub_get_portal_productAPI Hub: Get Portal Product
api_hub_list_portal_productsAPI Hub: List Portal Products
api_hub_list_portalsAPI Hub: List Portals
api_hub_search_apis_and_domainsAPI Hub: Search APIs and Domains
api_hub_update_portalAPI Hub: Update Portal
api_hub_update_portal_productAPI Hub: Update Portal Product
bugsnag_get_buildBugSnag: Get Build
bugsnag_get_errorBugSnag: Get Error
bugsnag_get_event_detailsBugSnag: Get Event Details
bugsnag_get_releaseBugSnag: Get Release
bugsnag_list_project_errorsBugSnag: List Project Errors
bugsnag_list_project_event_filtersBugSnag: List Project Event Filters
bugsnag_list_projectsBugSnag: List Projects
bugsnag_list_releasesBugSnag: List Releases
bugsnag_update_errorBugSnag: Update Error
contract-testing_can_i_deployContract Testing: Can I Deploy
contract-testing_check_pactflow_ai_entitlementsContract Testing: Check PactFlow AI Entitlements
contract-testing_generate_pact_testsContract Testing: Generate Pact Tests
contract-testing_get_provider_statesContract Testing: Get Provider States
contract-testing_matrixContract Testing: Matrix
contract-testing_review_pact_testsContract Testing: Review Pact Tests
reflect_cancel_suite_executionReflect: Cancel Suite Execution
reflect_execute_suiteReflect: Execute Suite
reflect_get_suite_execution_statusReflect: Get Suite Execution Status
reflect_get_test_statusReflect: Get Test Status
reflect_list_suite_executionsReflect: List Suite Executions
reflect_list_suitesReflect: List Suites
reflect_list_testsReflect: List Tests
reflect_run_testReflect: Run Test

Tools Details

Tool: api_hub_create_api_from_template

Create a new API in SwaggerHub Registry using a predefined template. This endpoint creates APIs based on existing templates without requiring manual definition content. APIs are always created with fixed values: private visibility, no project assignment, and reconciliation enabled (these values cannot be changed). Returns HTTP 201 for creation, HTTP 200 for update. Response includes 'operation' field and API details with SwaggerHub URL.

Parameters:

  • owner (string) required: Organization name (owner of the API)
  • apiName (string) required: API name
  • template (string) required: Template name to use for creating the API. Format: owner/template-name/version (e.g., 'swagger-hub/petstore-template/1.0.0'). API is created with fixed values: private visibility, no project assignment, and reconciliation enabled. Parameters|Type|Description -|-|- apiName|string|API name owner|string|Organization name (owner of the API) template|string|Template name to use for creating the API. Format: owner/template-name/version (e.g., 'swagger-hub/petstore-template/1.0.0'). API is created with fixed values: private visibility, no project assignment, and reconciliation enabled.

This tool is read-only. It does not modify its environment.


Tool: api_hub_create_or_update_api

Create a new API or update an existing API in SwaggerHub Registry for API Hub for Design. The API specification type (OpenAPI, AsyncAPI) is automatically detected from the definition content. APIs are always created with fixed values: version 1.0.0, private visibility, and automock disabled (these values cannot be changed). Returns HTTP 201 for creation, HTTP 200 for update. Response includes 'operation' field indicating whether it was a 'create' or 'update' operation along with API details and SwaggerHub URL.

Parameters:

  • owner (string) required: Organization name (owner of the API)
  • apiName (string) required: API name
  • definition (string) required: API definition content (OpenAPI/AsyncAPI specification in JSON or YAML format). Format is automatically detected. API is created with fixed values: version 1.0.0, private visibility, automock disabled, and no project assignment. Parameters|Type|Description -|-|- apiName|string|API name definition|string|API definition content (OpenAPI/AsyncAPI specification in JSON or YAML format). Format is automatically detected. API is created with fixed values: version 1.0.0, private visibility, automock disabled, and no project assignment. owner|string|Organization name (owner of the API)

This tool is read-only. It does not modify its environment.


Tool: api_hub_create_portal

Create a new portal within API Hub.

Parameters:

  • name (string): The display name for the portal - shown to users and in branding (3-40 characters)
  • subdomain (string) required: The portal subdomain - used in the portal URL (e.g., 'myportal' for myportal.example.com). Must be unique, lowercase, 3-20 characters, alphanumeric with hyphens
  • offline (boolean): If true, the portal will not be visible to customers - useful for development/staging environments. Defaults to false
  • routing (string): Routing strategy for the portal - either 'browser' (client-side routing) or 'proxy' (server-side routing). Defaults to 'browser'
  • credentialsEnabled (boolean): Whether authentication credentials are enabled for accessing the portal. When true, users can authenticate to access private content. Defaults to true
  • swaggerHubOrganizationId (string) required: The corresponding SwaggerHub organization UUID - required for portal creation. This links the portal to your SwaggerHub organization
  • openapiRenderer (string): OpenAPI renderer type: 'SWAGGER_UI' (Swagger UI), 'ELEMENTS' (Stoplight Elements), or 'TOGGLE' (allows switching between both with Elements as default). Defaults to 'TOGGLE'
  • pageContentFormat (string): Format for page content rendering - determines how documentation pages are processed: 'HTML', 'MARKDOWN', or 'BOTH'. Defaults to 'HTML' Parameters|Type|Description -|-|- subdomain|string|The portal subdomain - used in the portal URL (e.g., 'myportal' for myportal.example.com). Must be unique, lowercase, 3-20 characters, alphanumeric with hyphens swaggerHubOrganizationId|string|The corresponding SwaggerHub organization UUID - required for portal creation. This links the portal to your SwaggerHub organization credentialsEnabled|booleanoptional|Whether authentication credentials are enabled for accessing the portal. When true, users can authenticate to access private content. Defaults to true name|stringoptional|The display name for the portal - shown to users and in branding (3-40 characters) offline|booleanoptional|If true, the portal will not be visible to customers - useful for development/staging environments. Defaults to false openapiRenderer|stringoptional|OpenAPI renderer type: 'SWAGGER_UI' (Swagger UI), 'ELEMENTS' (Stoplight Elements), or 'TOGGLE' (allows switching between both with Elements as default). Defaults to 'TOGGLE' pageContentFormat|stringoptional|Format for page content rendering - determines how documentation pages are processed: 'HTML', 'MARKDOWN', or 'BOTH'. Defaults to 'HTML' routing|stringoptional|Routing strategy for the portal - either 'browser' (client-side routing) or 'proxy' (server-side routing). Defaults to 'browser'

This tool is read-only. It does not modify its environment.


Tool: api_hub_create_portal_product

Create a new product for a specific portal.

Parameters:

  • portalId (string) required: Portal UUID or subdomain - unique identifier for the portal instance
  • type (string) required: Product creation type - 'new' to create from scratch or 'copy' to duplicate an existing product
  • name (string) required: Product display name - will be shown to users in the portal navigation and product listings (3-40 characters)
  • slug (string) required: URL-friendly identifier for the product - must be unique within the portal, used in URLs (e.g., 'my-api' becomes /my-api). 3-22 characters, lowercase, alphanumeric with hyphens, underscores, or dots
  • description (string): Product description - explains what the API/product does, shown in product listings and cards (max 110 characters)
  • public (boolean): Whether the product is publicly visible to all portal visitors - false means only authenticated users with appropriate roles can access it
  • hidden (boolean): Whether the product is hidden from the portal landing page navigation menus - useful for internal or draft products
  • role (boolean): Whether the product has role-based access restrictions - controls if specific user roles are required to access the product Parameters|Type|Description -|-|- name|string|Product display name - will be shown to users in the portal navigation and product listings (3-40 characters) portalId|string|Portal UUID or subdomain - unique identifier for the portal instance slug|string|URL-friendly identifier for the product - must be unique within the portal, used in URLs (e.g., 'my-api' becomes /my-api). 3-22 characters, lowercase, alphanumeric with hyphens, underscores, or dots type|string|Product creation type - 'new' to create from scratch or 'copy' to duplicate an existing product description|stringoptional|Product description - explains what the API/product does, shown in product listings and cards (max 110 characters) hidden|booleanoptional|Whether the product is hidden from the portal landing page navigation menus - useful for internal or draft products public|booleanoptional|Whether the product is publicly visible to all portal visitors - false means only authenticated users with appropriate roles can access it role|booleanoptional|Whether the product has role-based access restrictions - controls if specific user roles are required to access the product

This tool is read-only. It does not modify its environment.


Tool: api_hub_delete_portal

Delete a specific portal.

Parameters:

  • portalId (string) required: Portal UUID or subdomain - unique identifier for the portal instance Parameters|Type|Description -|-|- portalId|string|Portal UUID or subdomain - unique identifier for the portal instance

This tool is read-only. It does not modify its environment.


Tool: api_hub_delete_portal_product

Delete a product from a specific portal

Parameters:

  • productId (string) required: Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product Parameters|Type|Description -|-|- productId|string|Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product

This tool is read-only. It does not modify its environment.


Tool: api_hub_get_api_definition

Fetch resolved API definition from SwaggerHub Registry based on owner, API name, and version.

Parameters:

  • owner (string) required: API owner (organization or user, case-sensitive)
  • api (string) required: API name (case-sensitive)
  • version (string) required: Version identifier
  • resolved (boolean): Set to true to get the resolved version with all external $refs included (default false)
  • flatten (boolean): Set to true to create models from inline schemas in OpenAPI definition (default false) Parameters|Type|Description -|-|- api|string|API name (case-sensitive) owner|string|API owner (organization or user, case-sensitive) version|string|Version identifier flatten|booleanoptional|Set to true to create models from inline schemas in OpenAPI definition (default false) resolved|booleanoptional|Set to true to get the resolved version with all external $refs included (default false)

This tool is read-only. It does not modify its environment.


Tool: api_hub_get_portal

Retrieve information about a specific portal.

Parameters:

  • portalId (string) required: Portal UUID or subdomain - unique identifier for the portal instance Parameters|Type|Description -|-|- portalId|string|Portal UUID or subdomain - unique identifier for the portal instance

This tool is read-only. It does not modify its environment.


Tool: api_hub_get_portal_product

Retrieve information about a specific product resource.

Parameters:

  • productId (string) required: Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product Parameters|Type|Description -|-|- productId|string|Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product

This tool is read-only. It does not modify its environment.


Tool: api_hub_list_portal_products

Get products for a specific portal that match your criteria.

Parameters:

  • portalId (string) required: Portal UUID or subdomain - unique identifier for the portal instance Parameters|Type|Description -|-|- portalId|string|Portal UUID or subdomain - unique identifier for the portal instance

This tool is read-only. It does not modify its environment.


Tool: api_hub_list_portals

Search for available portals within API Hub. Only portals where you have at least a designer role, either at the product level or organization level, are returned.

Tool: api_hub_search_apis_and_domains

Search for APIs and Domains in SwaggerHub Registry using the comprehensive /specs endpoint and retrieve metadata including owner, name, description, summary, version, and specification.

Parameters:

  • query (string): Search query to filter APIs by name, description, or content
  • state (enum): Filter APIs by publication state - ALL (default), PUBLISHED, or UNPUBLISHED
  • tag (string): Filter APIs by tag
  • offset (number): Offset for pagination (0-based, default 0)
  • limit (number): Number of results per page (1-100, default 20)
  • sort (enum): Sort field - NAME, UPDATED, or CREATED (default NAME)
  • order (enum): Sort order - ASC or DESC (default ASC)
  • owner (string): Filter APIs by owner (organization or user)
  • specType (enum): Filter by specification type - API or DOMAIN (default all types) Parameters|Type|Description -|-|- limit|numberoptional|Number of results per page (1-100, default 20) offset|numberoptional|Offset for pagination (0-based, default 0) order|stringoptional|Sort order - ASC or DESC (default ASC) owner|stringoptional|Filter APIs by owner (organization or user) query|stringoptional|Search query to filter APIs by name, description, or content sort|stringoptional|Sort field - NAME, UPDATED, or CREATED (default NAME) specType|stringoptional|Filter by specification type - API or DOMAIN (default all types) state|stringoptional|Filter APIs by publication state - ALL (default), PUBLISHED, or UNPUBLISHED tag|stringoptional|Filter APIs by tag

This tool is read-only. It does not modify its environment.


Tool: api_hub_update_portal

Update a specific portal's configuration.

Parameters:

  • portalId (string) required: Portal UUID or subdomain - unique identifier for the portal instance
  • name (string): Update the portal display name - shown to users and in branding (3-40 characters)
  • subdomain (string): Update the portal subdomain - changes the portal URL. Must remain unique across all portals (3-20 characters, lowercase, alphanumeric with hyphens)
  • customDomain (boolean): Enable/disable custom domain for the portal - allows using your own domain instead of the default subdomain
  • gtmKey (string): Google Tag Manager key for analytics tracking - format: GTM-XXXXXX (max 25 characters)
  • offline (boolean): Set portal visibility - true hides portal from customers (useful for maintenance or development)
  • routing (string): Update routing strategy - 'browser' for client-side routing or 'proxy' for server-side routing
  • credentialsEnabled (boolean): Enable/disable authentication credentials for portal access - controls whether users can authenticate to view private content
  • openapiRenderer (string): Change OpenAPI renderer: 'SWAGGER_UI' (Swagger UI), 'ELEMENTS' (Stoplight Elements), or 'TOGGLE' (switch between both)
  • pageContentFormat (string): Update page content format for documentation rendering: 'HTML', 'MARKDOWN', or 'BOTH' Parameters|Type|Description -|-|- portalId|string|Portal UUID or subdomain - unique identifier for the portal instance credentialsEnabled|booleanoptional|Enable/disable authentication credentials for portal access - controls whether users can authenticate to view private content customDomain|booleanoptional|Enable/disable custom domain for the portal - allows using your own domain instead of the default subdomain gtmKey|stringoptional|Google Tag Manager key for analytics tracking - format: GTM-XXXXXX (max 25 characters) name|stringoptional|Update the portal display name - shown to users and in branding (3-40 characters) offline|booleanoptional|Set portal visibility - true hides portal from customers (useful for maintenance or development) openapiRenderer|stringoptional|Change OpenAPI renderer: 'SWAGGER_UI' (Swagger UI), 'ELEMENTS' (Stoplight Elements), or 'TOGGLE' (switch between both) pageContentFormat|stringoptional|Update page content format for documentation rendering: 'HTML', 'MARKDOWN', or 'BOTH' routing|stringoptional|Update routing strategy - 'browser' for client-side routing or 'proxy' for server-side routing subdomain|stringoptional|Update the portal subdomain - changes the portal URL. Must remain unique across all portals (3-20 characters, lowercase, alphanumeric with hyphens)

This tool is read-only. It does not modify its environment.


Tool: api_hub_update_portal_product

Update a product's settings within a specific portal.

Parameters:

  • productId (string) required: Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product
  • name (string): Update product display name - changes how it appears to users in navigation and listings (3-40 characters)
  • slug (string): Update URL-friendly identifier - must remain unique within the portal, affects product URLs (3-22 characters, lowercase, alphanumeric with hyphens/underscores/dots)
  • description (string): Update product description - explains the API/product functionality, shown in listings (max 110 characters)
  • public (boolean): Change product visibility - true makes it publicly accessible to all visitors, false restricts to authenticated users with roles
  • hidden (boolean): Change navigation visibility - true hides from portal landing page menus while keeping the product accessible via direct links Parameters|Type|Description -|-|- productId|string|Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product description|stringoptional|Update product description - explains the API/product functionality, shown in listings (max 110 characters) hidden|booleanoptional|Change navigation visibility - true hides from portal landing page menus while keeping the product accessible via direct links name|stringoptional|Update product display name - changes how it appears to users in navigation and listings (3-40 characters) public|booleanoptional|Change product visibility - true makes it publicly accessible to all visitors, false restricts to authenticated users with roles slug|stringoptional|Update URL-friendly identifier - must remain unique within the portal, affects product URLs (3-22 characters, lowercase, alphanumeric with hyphens/underscores/dots)

This tool is read-only. It does not modify its environment.


Tool: bugsnag_get_build

Get more details for a specific build by its ID

Parameters:

  • projectId (string) required: ID of the project containing the build
  • buildId (string) required: ID of the build to retrieve (e.g. 5f8d0d55c9e77c0017a1b2c3)

Output Format: JSON object containing build details along with stability metrics such as user and session stability, and whether it meets project targets

Use Cases: 1. View build metadata such as version, source control info, and error counts 2. Analyze a specific build to correlate with error spikes or deployments 3. See the stability targets for a project and if the build meets them

Examples:

  1. Get details for a specific build
{
  "buildId": "5f8d0d55c9e77c0017a1b2c3"
}

Expected Output: JSON object with build details including version, source control info, error counts and stability data.

Hints: 1. Build IDs can be found using the List builds tool

ParametersTypeDescription
buildIdstringID of the build to retrieve
projectIdstringID of the project containing the build

This tool is read-only. It does not modify its environment.


Tool: bugsnag_get_error

Get full details on an error, including aggregated and summarized data across all events (occurrences) and details of the latest event (occurrence), such as breadcrumbs, metadata and the stacktrace. Use the filters parameter to narrow down the summaries further.

Parameters:

  • errorId (string) required: Unique identifier of the error to retrieve (e.g. 6863e2af8c857c0a5023b411)
  • projectId (string) required: ID of the project containing the error
  • filters (any): Apply filters to narrow down the error list. Use the List Project Event Filters tool to discover available filter fields (e.g. {"error.status": [{"type": "eq", "value": "open"}]}, {"event.since": [{"type": "eq", "value": "7d"}]} // Relative time: last 7 days, {"event.since": [{"type": "eq", "value": "2018-05-20T00:00:00Z"}]} // ISO 8601 UTC format, {"user.email": [{"type": "eq", "value": "user@example.com"}]})
    • Time filters support ISO 8601 format (e.g. 2018-05-20T00:00:00Z) or relative format (e.g. 7d, 24h)
    • ISO 8601 times must be in UTC and use extended format
    • Relative time periods: h (hours), d (days)

Output Format: JSON object containing: - error_details: Aggregated data about the error, including first and last seen occurrence - latest_event: Detailed information about the most recent occurrence of the error, including stacktrace, breadcrumbs, user and context - pivots: List of pivots (summaries) for the error, which can be used to analyze patterns in occurrences - url: A link to the error in the dashboard - this should be shown to the user for them to perform further analysis

Use Cases: 1. Investigate a specific error found through the List Project Errors tool 2. Understand which types of user are affected by the error using summarized event data 3. Get error details for debugging and root cause analysis 4. Retrieve error metadata for incident reports and documentation

Examples:

  1. Get details for a specific error
{
  "errorId": "6863e2af8c857c0a5023b411"
}

Expected Output: JSON object with error details including message, stack trace, occurrence count, and metadata

Hints: 1. Error IDs can be found using the List Project Errors tool 2. Use this after filtering errors to get detailed information about specific errors 3. If you used a filter to get this error, you can pass the same filters here to restrict the results or apply further filters 4. The URL provided in the response points should be shown to the user in all cases as it allows them to view the error in the dashboard and perform further analysis

ParametersTypeDescription
errorIdstringUnique identifier of the error to retrieve
projectIdstringID of the project containing the error
filtersobjectoptionalApply filters to narrow down the error list. Use the List Project Event Filters tool to discover available filter fields

This tool is read-only. It does not modify its environment.


Tool: bugsnag_get_event_details

Get detailed information about a specific event using its dashboard URL

Parameters:

Use Cases: 1. Get event details when given a dashboard URL from a user or notification 2. Extract event information from shared links or browser URLs 3. Quick lookup of event details without needing separate project and event IDs

Examples:

  1. Get event details from a dashboard URL
{
  "link": "https://app.bugsnag.com/my-org/my-project/errors/6863e2af8c857c0a5023b411?event_id=6863e2af012caf1d5c320000"
}

Expected Output: JSON object with complete event details including stack trace, metadata, and context

Hints: 1. The URL must contain both project slug in the path and event_id in query parameters 2. This is useful when users share BugSnag dashboard URLs and you need to extract the event data

ParametersTypeDescription
linkstringFull URL to the event details page in the BugSnag dashboard (web interface)

This tool is read-only. It does not modify its environment.


Tool: bugsnag_get_release

Get more details for a specific release by its ID, including source control information and associated builds

Parameters:

  • projectId (string) required: ID of the project containing the release
  • releaseId (string) required: ID of the release to retrieve (e.g. 5f8d0d55c9e77c0017a1b2c3)

Output Format: JSON object containing release details along with stability metrics such as user and session stability, and whether it meets project targets

Use Cases: 1. View release metadata such as version, source control info, and error counts 2. Analyze the stability data and targets for a release 3. See the builds that make up the release

Examples:

  1. Get details for a specific release
{
  "releaseId": "5f8d0d55c9e77c0017a1b2c3"
}

Expected Output: JSON object with release details including version, source control info, error counts and stability data.

Hints: 1. Release IDs can be found using the List releases tool

ParametersTypeDescription
projectIdstringID of the project containing the release
releaseIdstringID of the release to retrieve

This tool is read-only. It does not modify its environment.


Tool: bugsnag_list_project_errors

List and search errors in a project using customizable filters and pagination

Parameters:

  • filters (any): Apply filters to narrow down the error list. Use the List Project Event Filters tool to discover available filter fields (e.g. {"error.status": [{"type": "eq", "value": "open"}]}, {"event.since": [{"type": "eq", "value": "7d"}]} // Relative time: last 7 days, {"event.since": [{"type": "eq", "value": "2018-05-20T00:00:00Z"}]} // ISO 8601 UTC format, {"user.email": [{"type": "eq", "value": "user@example.com"}]})
    • Time filters support ISO 8601 format (e.g. 2018-05-20T00:00:00Z) or relative format (e.g. 7d, 24h)
    • ISO 8601 times must be in UTC and use extended format
    • Relative time periods: h (hours), d (days)
  • sort (any): Field to sort the errors by (e.g. last_seen)
  • direction (any): Sort direction for ordering results (e.g. desc)
  • perPage (any): How many results to return per page. (e.g. 30, 50, 100)
  • nextUrl (string): URL for retrieving the next page of results. Use the value in the previous response to get the next page when more results are available. (e.g. https://api.bugsnag.com/projects/515fb9337c1074f6fd000003/errors?offset=30&per_page=30&sort=last_seen)
    • Only values provided in the output from this tool can be used. Do not attempt to construct it manually.
  • projectId (string) required: ID of the project to query for errors

Use Cases: 1. Debug recent application errors by filtering for open errors in the last 7 days 2. Generate error reports for stakeholders by filtering specific error types or severity levels 3. Monitor error trends over time using date range filters 4. Find errors affecting specific users or environments using metadata filters

Examples:

  1. Find errors affecting a specific user in the last 24 hours
{
  "filters": {
    "user.email": [
      {
        "type": "eq",
        "value": "user@example.com"
      }
    ],
    "event.since": [
      {
        "type": "eq",
        "value": "24h"
      }
    ]
  }
}

Expected Output: JSON object with a list of errors in the 'data' field, a count of the current page of results in the 'count' field, and a total count of all results in the 'total' field

  1. Get the 10 open errors with the most users affected in the last 30 days
{
  "filters": {
    "event.since": [
      {
        "type": "eq",
        "value": "30d"
      }
    ],
    "error.status": [
      {
        "type": "eq",
        "value": "open"
      }
    ]
  },
  "sort": "users",
  "direction": "desc",
  "perPage": 10
}

Expected Output: JSON object with a list of errors in the 'data' field, a count of the current page of results in the 'count' field, and a total count of all results in the 'total' field

  1. Get the next 50 results
{
  "nextUrl": "https://api.bugsnag.com/projects/515fb9337c1074f6fd000003/errors?base=2025-08-29T13%3A11%3A37Z&direction=desc&filters%5Berror.status%5D%5B%5D%5Btype%5D=eq&filters%5Berror.status%5D%5B%5D%5Bvalue%5D=open&offset=10&per_page=10&sort=users",
  "perPage": 50
}

Expected Output: JSON object with a list of errors, with a URL to the next page if more results are available and a total count of all errors matched

Hints: 1. Use list_project_event_filters tool first to discover valid filter field names for your project 2. Combine multiple filters to narrow results - filters are applied with AND logic 3. For time filters: use relative format (7d, 24h) for recent periods or ISO 8601 UTC format (2018-05-20T00:00:00Z) for specific dates 4. Common time filters: event.since (from this time), event.before (until this time) 5. The 'event.since' filter and 'error.status' filters are always applied and if not specified are set to '30d' and 'open' respectively 6. There may not be any errors matching the filters - this is not a problem with the tool, in fact it might be a good thing that the user's application had no errors 7. This tool returns paged results. The 'page_error_count' field indicates the number of results returned in the current page, and the 'total_error_count' field indicates the total number of results across all pages. 8. If the output contains a 'next_url' value, there are more results available - call this tool again supplying the next URL as a parameter to retrieve the next page. 9. Do not modify the next URL as this can cause incorrect results. The only other parameter that can be used with 'next' is 'per_page' to control the page size.

ParametersTypeDescription
projectIdstringID of the project to query for errors
directionstringoptionalSort direction for ordering results
filtersobjectoptionalApply filters to narrow down the error list. Use the List Project Event Filters tool to discover available filter fields
nextUrlstringoptionalURL for retrieving the next page of results. Use the value in the previous response to get the next page when more results are available.
perPagenumberoptionalHow many results to return per page.
sortstringoptionalField to sort the errors by

This tool is read-only. It does not modify its environment.


Tool: bugsnag_list_project_event_filters

Get available event filter fields for the current project

Use Cases: 1. Discover what filter fields are available before searching for errors 2. Find the correct field names for filtering by user, environment, or custom metadata 3. Understand filter options and data types for building complex queries

Examples:

  1. Get all available filter fields
{}

Expected Output: JSON array of EventField objects containing display_id, custom flag, and filter/pivot options

Hints: 1. Use this tool before the List Errors or Get Error tools to understand available filters 2. Look for display_id field in the response - these are the field names to use in filters

Tool: bugsnag_list_projects

List all projects in the organization with optional pagination

Parameters:

  • pageSize (number): Number of projects to return per page for pagination (e.g. 10, 25, 50)
  • page (number): Page number to return (starts from 1) (e.g. 1, 2, 3)

Use Cases: 1. Browse available projects when no specific project API key is configured 2. Find project IDs needed for other tools 3. Get an overview of all projects in the organization

Examples:

  1. Get first 10 projects
{
  "pageSize": 10,
  "page": 1
}

Expected Output: JSON array of project objects with IDs, names, and metadata

  1. Get all projects (no pagination)
{}

Expected Output: JSON array of all available projects

Hints: 1. Use pagination for organizations with many projects to avoid large responses 2. Project IDs from this list can be used with other tools when no project API key is configured

ParametersTypeDescription
pagenumberoptionalPage number to return (starts from 1)
pageSizenumberoptionalNumber of projects to return per page for pagination

This tool is read-only. It does not modify its environment.


Tool: bugsnag_list_releases

List releases for a project

Parameters:

  • projectId (string) required: ID of the project to list releases for
  • releaseStage (any): Filter releases by this stage (e.g. production, staging), defaults to 'production' (e.g. production, staging)
  • visibleOnly (any): Whether to only include releases that are marked as visible in the dashboard, defaults to false (e.g. true, false)
  • nextUrl (string): URL for retrieving the next page of results. Use the value in the previous response to get the next page when more results are available. If provided, other parameters are ignored. (e.g. /projects/515fb9337c1074f6fd000003/releases?offset=30&per_page=30)

Output Format: JSON array of release summary objects with metadata, with a URL to the next page if more results are available

Use Cases: 1. View recent releases to correlate with error spikes 2. Filter releases by stage (e.g. production, staging) for targeted analysis

Examples:

  1. List production releases for a project
{}

Expected Output: JSON array of release objects in the production stage

  1. List staging releases for a project
{
  "releaseStage": "staging"
}

Expected Output: JSON array of release objects in the staging stage

  1. Get the next page of results
{
  "nextUrl": "/projects/515fb9337c1074f6fd000003/releases?offset=30&per_page=30"
}

Expected Output: JSON array of release objects with metadata from the next page

Hints: 1. Use the Get Release tool to get more details on a specific release, including the builds it contains 2. The release stage defaults to 'production' if not specified 3. Use visibleOnly to filter out releases that have been marked as hidden in the dashboard

ParametersTypeDescription
projectIdstringID of the project to list releases for
nextUrlstringoptionalURL for retrieving the next page of results. Use the value in the previous response to get the next page when more results are available. If provided, other parameters are ignored.
releaseStagestringoptionalFilter releases by this stage (e.g. production, staging), defaults to 'production'
visibleOnlybooleanoptionalWhether to only include releases that are marked as visible in the dashboard, defaults to false

This tool is read-only. It does not modify its environment.


Tool: bugsnag_update_error

Update the status of an error

Parameters:

  • projectId (string) required: ID of the project that contains the error to be updated
  • errorId (string) required: ID of the error to update (e.g. 6863e2af8c857c0a5023b411)
  • operation (enum) required: The operation to apply to the error (e.g. fix, open, ignore, discard, undiscard)

Use Cases: 1. Mark an error as open, fixed or ignored 2. Discard or un-discard an error 3. Update the severity of an error

Examples:

  1. Mark an error as fixed
{
  "errorId": "6863e2af8c857c0a5023b411",
  "operation": "fix"
}

Expected Output: Success response indicating the error was marked as fixed

Hints: 1. Only use valid operations - BugSnag may reject invalid values

ParametersTypeDescription
errorIdstringID of the error to update
operationstringThe operation to apply to the error
projectIdstringID of the project that contains the error to be updated

Tool: contract-testing_can_i_deploy

Performs a comprehensive compatibility check to determine whether a specific version of a service (pacticipant) can be safely deployed into a given environment. It analyzes the complete contract matrix of consumer-provider relationships to confirm that all required integrations are verified and compatible.

Parameters:

  • pacticipant (string) required: The name of the pacticipant (application/service) being evaluated for deployment
  • version (string) required: The version of the pacticipant that you want to check if it's safe to deploy
  • environment (string) required: The target environment where the pacticipant version will be deployed (e.g., 'production', 'staging', 'test') Parameters|Type|Description -|-|- environment|string|The target environment where the pacticipant version will be deployed (e.g., 'production', 'staging', 'test') pacticipant|string|The name of the pacticipant (application/service) being evaluated for deployment version|string|The version of the pacticipant that you want to check if it's safe to deploy

This tool is read-only. It does not modify its environment.


Tool: contract-testing_check_pactflow_ai_entitlements

Check your PactFlow AI entitlements and credit balance if you encounter 401 Unauthorized errors or permission/credit issues when using PactFlow AI features.

Use Cases: 1. Diagnose 401 unauthorized errors when attempting to use PactFlow AI features 2. Check remaining AI credits when PactFlow AI operations are rejected due to insufficient credits 3. Verify account entitlements when users receive permission denied errors for PactFlow AI functionality 4. Troubleshoot PactFlow AI access issues by retrieving current entitlement status and credit balance 5. Provide detailed error context when PactFlow AI features are unavailable due to account limitations

Tool: contract-testing_generate_pact_tests

Generate Pact tests using PactFlow AI. You can provide one or more of the following input types: (1) request/response pairs for specific interactions, (2) code files to analyze and extract interactions from, and/or (3) OpenAPI document to generate tests for specific endpoints. When providing an OpenAPI document, a matcher is required to specify which endpoints to generate tests for.

Parameters:

  • language (enum): Target language for the generated Pact tests. If not provided, will be inferred from other inputs.
  • requestResponse (object): Direct request/response pair for a specific interaction. Use this when you have concrete examples of API requests and responses
  • code (array): Collection of source code files to analyze and extract API interactions from. Include client code, data models, existing tests, or any code that makes API calls
  • openapi (any): If provided, the OpenAPI document which describes the API being tested and is accompanied by a matcher which will be used to identify the interactions in the OpenAPI document which are relevant to the Pact refinement process.
  • additionalInstructions (string): Optional free-form instructions to guide the generation process (e.g., 'Focus on error scenarios', 'Include authentication headers', 'Use specific test framework patterns')
  • testTemplate (object): Optional test template to use as a basis for generation. Helps ensure generated tests follow your specific patterns, frameworks, and coding standards Parameters|Type|Description -|-|- additionalInstructions|stringoptional|Optional free-form instructions to guide the generation process (e.g., 'Focus on error scenarios', 'Include authentication headers', 'Use specific test framework patterns') code|arrayoptional|Collection of source code files to analyze and extract API interactions from. Include client code, data models, existing tests, or any code that makes API calls language|stringoptional|Target language for the generated Pact tests. If not provided, will be inferred from other inputs. openapi|objectoptional|If provided, the OpenAPI document which describes the API being tested and is accompanied by a matcher which will be used to identify the interactions in the OpenAPI document which are relevant to the Pact refinement process. requestResponse|objectoptional|Direct request/response pair for a specific interaction. Use this when you have concrete examples of API requests and responses testTemplate|stringoptional|Optional test template to use as a basis for generation. Helps ensure generated tests follow your specific patterns, frameworks, and coding standards

This tool is read-only. It does not modify its environment.


Tool: contract-testing_get_provider_states

Retrieve the states of a specific provider

Parameters:

  • provider (string) required: name of the provider to retrieve states for Parameters|Type|Description -|-|- provider|string|name of the provider to retrieve states for

This tool is read-only. It does not modify its environment.


Tool: contract-testing_matrix

Retrieve the comprehensive contract verification matrix that shows the relationship between consumer and provider versions, their associated pact files, and verification results stored in the Pact Broker or Pactflow. The matrix provides detailed visibility into which consumer and provider versions have been successfully verified against each other, and highlights failures with detailed information about the cause.

Parameters:

  • latestby (string): This property removes the rows for the overridden pacts/verifications from the results. The options are cvp (show only the latest row for each consumer version and provider) and cvpv (show only the latest row each consumer version and provider version). For a can-i-deploy query with one selector, it should be set to cvp. For a can-i-deploy query with two selectors, it should be set to cvpv.
  • limit (any): The limit on the number of results to return (1-1000, default: 100)
  • q (array) required

Use Cases: 1. Quickly identify which consumer and provider version combinations have passed or failed verification. 2. Diagnose and investigate why a particular consumer-provider verification failed. 3. Visualize the overall contract compatibility across two pacticipants / services. 4. Perform advanced queries using selectors to understand compatibility within specific branches, environments, or version ranges. 5. Support informed deployment decisions by answering 'can I deploy version X of this service to production?' 6. Expose contract verification details to non-frequent API users in a more accessible format.

ParametersTypeDescription
qarray
latestbystringoptionalThis property removes the rows for the overridden pacts/verifications from the results. The options are cvp (show only the latest row for each consumer version and provider) and cvpv (show only the latest row each consumer version and provider version). For a can-i-deploy query with one selector, it should be set to cvp. For a can-i-deploy query with two selectors, it should be set to cvpv.
limitnumberoptionalThe limit on the number of results to return (1-1000, default: 100)

This tool is read-only. It does not modify its environment.


Tool: contract-testing_review_pact_tests

Review Pact tests using PactFlow AI. You can provide the following inputs: (1) Pact tests to be reviewed along with metadata

Parameters:

  • pactTests (object) required: Primary pact tests that needs to be refined.
  • code (array): Collection of source code files to analyze and extract API interactions from. Include client code, data models, existing tests, or any code that makes API calls
  • userInstructions (string): Optional free-form instructions that provide additional context or specify areas of focus during the refinement process of the Pact test.
  • errorMessages (array): Optional error output from failed contract test runs. These can be used to better understand the context or failures observed and guide the recommendations toward resolving specific issues.
  • openapi (any): If provided, the OpenAPI document which describes the API being tested and is accompanied by a matcher which will be used to identify the interactions in the OpenAPI document which are relevant to the Pact refinement process. Parameters|Type|Description -|-|- pactTests|object|Primary pact tests that needs to be refined. code|arrayoptional|Collection of source code files to analyze and extract API interactions from. Include client code, data models, existing tests, or any code that makes API calls errorMessages|arrayoptional|Optional error output from failed contract test runs. These can be used to better understand the context or failures observed and guide the recommendations toward resolving specific issues. openapi|objectoptional|If provided, the OpenAPI document which describes the API being tested and is accompanied by a matcher which will be used to identify the interactions in the OpenAPI document which are relevant to the Pact refinement process. userInstructions|stringoptional|Optional free-form instructions that provide additional context or specify areas of focus during the refinement process of the Pact test.

This tool is read-only. It does not modify its environment.


Tool: reflect_cancel_suite_execution

Cancel a reflect suite execution

Parameters:

  • suiteId (string) required: ID of the reflect suite to cancel execution for
  • executionId (string) required: ID of the reflect suite execution to cancel Parameters|Type|Description -|-|- executionId|string|ID of the reflect suite execution to cancel suiteId|string|ID of the reflect suite to cancel execution for

This tool is read-only. It does not modify its environment.


Tool: reflect_execute_suite

Execute a reflect suite

Parameters:

  • suiteId (string) required: ID of the reflect suite to list executions for Parameters|Type|Description -|-|- suiteId|string|ID of the reflect suite to list executions for

This tool is read-only. It does not modify its environment.


Tool: reflect_get_suite_execution_status

Get the status of a reflect suite execution

Parameters:

  • suiteId (string) required: ID of the reflect suite to get execution status for
  • executionId (string) required: ID of the reflect suite execution to get status for Parameters|Type|Description -|-|- executionId|string|ID of the reflect suite execution to get status for suiteId|string|ID of the reflect suite to get execution status for

This tool is read-only. It does not modify its environment.


Tool: reflect_get_test_status

Get the status of a reflect test execution

Parameters:

  • testId (string) required: ID of the reflect test to run
  • executionId (string) required: ID of the reflect test execution to get status for Parameters|Type|Description -|-|- executionId|string|ID of the reflect test execution to get status for testId|string|ID of the reflect test to run

This tool is read-only. It does not modify its environment.


Tool: reflect_list_suite_executions

List all executions for a given suite

Parameters:

  • suiteId (string) required: ID of the reflect suite to list executions for Parameters|Type|Description -|-|- suiteId|string|ID of the reflect suite to list executions for

This tool is read-only. It does not modify its environment.


Tool: reflect_list_suites

Retrieve a list of all reflect suites available

Tool: reflect_list_tests

List all reflect tests

Tool: reflect_run_test

Run a reflect test

Parameters:

  • testId (string) required: ID of the reflect test to run Parameters|Type|Description -|-|- testId|string|ID of the reflect test to run

This tool is read-only. It does not modify its environment.


Use this MCP Server

{
  "mcpServers": {
    "smartbear": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "BUGSNAG_PROJECT_API_KEY",
        "-e",
        "BUGSNAG_ENDPOINT",
        "-e",
        "PACT_BROKER_BASE_URL",
        "-e",
        "PACT_BROKER_USERNAME",
        "-e",
        "BUGSNAG_AUTH_TOKEN",
        "-e",
        "REFLECT_API_TOKEN",
        "-e",
        "API_HUB_API_KEY",
        "-e",
        "PACT_BROKER_TOKEN",
        "-e",
        "PACT_BROKER_PASSWORD",
        "mcp/smartbear"
      ],
      "env": {
        "BUGSNAG_PROJECT_API_KEY": "<your-bugsnag-project-api-key>",
        "BUGSNAG_ENDPOINT": "https://notify.your-server.com",
        "PACT_BROKER_BASE_URL": "https://your-tenant.pactflow.io",
        "PACT_BROKER_USERNAME": "<your-pact-broker-username>",
        "BUGSNAG_AUTH_TOKEN": "<your-bugsnag-auth-token>",
        "REFLECT_API_TOKEN": "<your-reflect-api-token>",
        "API_HUB_API_KEY": "<your-api-hub-api-key>",
        "PACT_BROKER_TOKEN": "<your-pact-broker-token>",
        "PACT_BROKER_PASSWORD": "<your-pact-broker-password>"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Manual installation

You can install the MCP server using:

Installation for

Related servers