Skip to content
Scalekit Docs

Swagger MCP

Vendor MCP26 toolsOAuth 2.1/DCRDeveloper ToolsProductivity

Connect to Swagger MCP. Create and manage APIs, developer portals, and documentation in SwaggerHub from AI workflows.

Swagger MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'swaggermcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Swagger MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'swaggermcp_swagger_list_organizations',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Registry swagger scan api standardization from — Run a standardization scan on an API that already exists in SwaggerHub Registry, identified by organization name, API name, and version
  • Portal swagger resolve organization — Resolve portal details for a Swagger organization in a single step
  • Create swagger — Create a documentation page in a portal product in a single tool call
  • Update swagger — Update a product’s settings within a specific portal
  • Api swagger standardize — Standardize and fix an API definition using AI to ensure compliance with governance policies
  • Search swagger — Search for APIs and Domains in SwaggerHub Registry using the comprehensive /specs endpoint and retrieve metadata including owner, name, description, summary, version, and specification

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

swaggermcp_swagger_create_api_from_prompt#Generate and save an API definition based on a prompt using SmartBear AI. This tool automatically applies organization governance and standardization rules during API generation. The specType parameter determines the format of the generated definition. Use: 'openapi20' for OpenAPI 2.0, 'openapi30x' for OpenAPI 3.0.x, 'openapi31x' for OpenAPI 3.1.x, 'asyncapi2xx' for AsyncAPI 2.x, 'asyncapi30x' for AsyncAPI 3.0.x. Use this tool when creating APIs that comply with governance policies or when generating APIs from natural language descriptions. Use this tool when users ask to create, generate, or design APIs with governance or standardization requirements. 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. **Toolset:** Registry API **Parameters:** - owner (string) *required*: API owner (organization or user, case-sensitive) - apiName (string) *required*: API name - prompt (string) *required*: The prompt describing the desired API functionality (e.g., 'Create a RESTful API for managing a pet store with endpoints for pets, orders, and inventory') - specType (enum): Specification type for the generated API definition. Use: 'openapi20' for OpenAPI 2.0, 'openapi30x' for OpenAPI 3.0.x (default), 'openapi31x' for OpenAPI 3.1.x, 'asyncapi2xx' for AsyncAPI 2.x, 'asyncapi30x' for AsyncAPI 3.0.x (default: "openapi30x")4 params

Generate and save an API definition based on a prompt using SmartBear AI. This tool automatically applies organization governance and standardization rules during API generation. The specType parameter determines the format of the generated definition. Use: 'openapi20' for OpenAPI 2.0, 'openapi30x' for OpenAPI 3.0.x, 'openapi31x' for OpenAPI 3.1.x, 'asyncapi2xx' for AsyncAPI 2.x, 'asyncapi30x' for AsyncAPI 3.0.x. Use this tool when creating APIs that comply with governance policies or when generating APIs from natural language descriptions. Use this tool when users ask to create, generate, or design APIs with governance or standardization requirements. 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. **Toolset:** Registry API **Parameters:** - owner (string) *required*: API owner (organization or user, case-sensitive) - apiName (string) *required*: API name - prompt (string) *required*: The prompt describing the desired API functionality (e.g., 'Create a RESTful API for managing a pet store with endpoints for pets, orders, and inventory') - specType (enum): Specification type for the generated API definition. Use: 'openapi20' for OpenAPI 2.0, 'openapi30x' for OpenAPI 3.0.x (default), 'openapi31x' for OpenAPI 3.1.x, 'asyncapi2xx' for AsyncAPI 2.x, 'asyncapi30x' for AsyncAPI 3.0.x (default: "openapi30x")

NameTypeRequiredDescription
apiNamestringrequiredAPI name
ownerstringrequiredAPI owner (organization or user, case-sensitive)
promptstringrequiredThe prompt describing the desired API functionality (e.g., 'Create a RESTful API for managing a pet store with endpoints for pets, orders, and inventory')
specTypestringoptionalSpecification type for the generated API definition. Use: 'openapi20' for OpenAPI 2.0, 'openapi30x' for OpenAPI 3.0.x (default), 'openapi31x' for OpenAPI 3.1.x, 'asyncapi2xx' for AsyncAPI 2.x, 'asyncapi30x' for AsyncAPI 3.0.x
swaggermcp_swagger_create_documentation_page#Create a documentation page in a portal product in a single tool call. Supports markdown and html content types. Returns the page location details (productId, sectionId, slug) and a draftUrl to edit it in the portal. **Toolset:** Documents **Parameters:** - portalId (string) *required*: Portal UUID or subdomain - unique identifier for the portal - productId (string) *required*: Product UUID - unique identifier for the product - pageTitle (string) *required*: Title of the documentation page - will be displayed in navigation (3-255 characters) - pageSlug (string): URL slug for the documentation page. 3-255 characters, lowercase, alphanumeric with hyphens, underscores, or dots (e.g. 'my-page'). If not provided, the slug is generated from the page title. - pageContent (string): Content of the documentation page. Provide HTML when contentType is 'html', Markdown when contentType is 'markdown'. - contentType (enum): Content type of the documentation page. 'markdown' works with both 'internal' and 'external' source. 'html' only works with 'external' source — html + internal is not supported by the API and will return an error. (default: "markdown") - source (enum): Where the document content is managed. 'internal': editable in both the portal UI and via API. 'external': editable via API only, not in the portal UI. Constraint: 'html' content type only supports 'external' source. (default: "internal") - order (number): Order position of the documentation page within its parent section or item (default: 0) - parentId (string): Parent table of contents item ID - null for top-level pages, or ID of parent item for nested structure9 params

Create a documentation page in a portal product in a single tool call. Supports markdown and html content types. Returns the page location details (productId, sectionId, slug) and a draftUrl to edit it in the portal. **Toolset:** Documents **Parameters:** - portalId (string) *required*: Portal UUID or subdomain - unique identifier for the portal - productId (string) *required*: Product UUID - unique identifier for the product - pageTitle (string) *required*: Title of the documentation page - will be displayed in navigation (3-255 characters) - pageSlug (string): URL slug for the documentation page. 3-255 characters, lowercase, alphanumeric with hyphens, underscores, or dots (e.g. 'my-page'). If not provided, the slug is generated from the page title. - pageContent (string): Content of the documentation page. Provide HTML when contentType is 'html', Markdown when contentType is 'markdown'. - contentType (enum): Content type of the documentation page. 'markdown' works with both 'internal' and 'external' source. 'html' only works with 'external' source — html + internal is not supported by the API and will return an error. (default: "markdown") - source (enum): Where the document content is managed. 'internal': editable in both the portal UI and via API. 'external': editable via API only, not in the portal UI. Constraint: 'html' content type only supports 'external' source. (default: "internal") - order (number): Order position of the documentation page within its parent section or item (default: 0) - parentId (string): Parent table of contents item ID - null for top-level pages, or ID of parent item for nested structure

NameTypeRequiredDescription
pageTitlestringrequiredTitle of the documentation page - will be displayed in navigation (3-255 characters)
portalIdstringrequiredPortal UUID or subdomain - unique identifier for the portal
productIdstringrequiredProduct UUID - unique identifier for the product
contentTypestringoptionalContent type of the documentation page. 'markdown' works with both 'internal' and 'external' source. 'html' only works with 'external' source — html + internal is not supported by the API and will return an error.
ordernumberoptionalOrder position of the documentation page within its parent section or item
pageContentstringoptionalContent of the documentation page. Provide HTML when contentType is 'html', Markdown when contentType is 'markdown'.
pageSlugstringoptionalURL slug for the documentation page. 3-255 characters, lowercase, alphanumeric with hyphens, underscores, or dots (e.g. 'my-page'). If not provided, the slug is generated from the page title.
parentIdstringoptionalParent table of contents item ID - null for top-level pages, or ID of parent item for nested structure
sourcestringoptionalWhere the document content is managed. 'internal': editable in both the portal UI and via API. 'external': editable via API only, not in the portal UI. Constraint: 'html' content type only supports 'external' source.
swaggermcp_swagger_create_or_update_api#Create a new API or update an existing API in SwaggerHub Registry for Swagger Studio. 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. **Toolset:** Registry API **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.3 params

Create a new API or update an existing API in SwaggerHub Registry for Swagger Studio. 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. **Toolset:** Registry API **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.

NameTypeRequiredDescription
apiNamestringrequiredAPI name
definitionstringrequiredAPI 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.
ownerstringrequiredOrganization name (owner of the API)
swaggermcp_swagger_create_portal#Create a new portal within Swagger. **Toolset:** Portals **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 Swagger organization UUID - required for portal creation. This links the portal to your Swagger organization. Only one Portal per Swagger organization is allowed. - 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'8 params

Create a new portal within Swagger. **Toolset:** Portals **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 Swagger organization UUID - required for portal creation. This links the portal to your Swagger organization. Only one Portal per Swagger organization is allowed. - 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'

NameTypeRequiredDescription
subdomainstringrequiredThe portal subdomain - used in the portal URL (e.g., 'myportal' for myportal.example.com). Must be unique, lowercase, 3-20 characters, alphanumeric with hyphens
swaggerHubOrganizationIdstringrequiredThe corresponding SwaggerHub organization UUID - required for portal creation. This links the portal to your SwaggerHub organization
credentialsEnabledbooleanoptionalWhether authentication credentials are enabled for accessing the portal. When true, users can authenticate to access private content. Defaults to true
namestringoptionalThe display name for the portal - shown to users and in branding (3-40 characters)
offlinebooleanoptionalIf true, the portal will not be visible to customers - useful for development/staging environments. Defaults to false
openapiRendererstringoptionalOpenAPI renderer type: 'SWAGGER_UI' (Swagger UI), 'ELEMENTS' (Stoplight Elements), or 'TOGGLE' (allows switching between both with Elements as default). Defaults to 'TOGGLE'
pageContentFormatstringoptionalFormat for page content rendering - determines how documentation pages are processed: 'HTML', 'MARKDOWN', or 'BOTH'. Defaults to 'HTML'
routingstringoptionalRouting strategy for the portal - either 'browser' (client-side routing) or 'proxy' (server-side routing). Defaults to 'browser'
swaggermcp_swagger_create_portal_product#Create a new product for a specific portal. **Toolset:** Products **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 - productId (string): Source product UUID to copy from - required when type is 'copy', specifies which existing product to duplicate. Omit when type is 'new' - 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 products8 params

Create a new product for a specific portal. **Toolset:** Products **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 - productId (string): Source product UUID to copy from - required when type is 'copy', specifies which existing product to duplicate. Omit when type is 'new' - 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

NameTypeRequiredDescription
namestringrequiredProduct display name - will be shown to users in the portal navigation and product listings (3-40 characters)
portalIdstringrequiredPortal UUID or subdomain - unique identifier for the portal instance
slugstringrequiredURL-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
typestringrequiredProduct creation type - 'new' to create from scratch or 'copy' to duplicate an existing product
descriptionstringoptionalProduct description - explains what the API/product does, shown in product listings and cards (max 110 characters)
hiddenbooleanoptionalWhether the product is hidden from the portal landing page navigation menus - useful for internal or draft products
productIdstringoptionalSource product UUID to copy from - required when type is 'copy', specifies which existing product to duplicate. Omit when type is 'new'
publicbooleanoptionalWhether the product is publicly visible to all portal visitors - false means only authenticated users with appropriate roles can access it
swaggermcp_swagger_create_table_of_contents#Create a new table of contents item in a portal product section. Supports API references, HTML content, and Markdown content types. **Toolset:** Table Of Contents **Parameters:** - sectionId (string) *required*: Section ID - unique identifier for the section within the product - type (enum) *required*: Type of table of contents creation - 'new' to create from scratch or 'copy' to duplicate an existing one - title (string) *required*: Title of the table of contents item - will be displayed in navigation (3-40 characters) - slug (string) *required*: URL-friendly identifier for the table of contents item - must be unique within the section (3-22 characters, lowercase, alphanumeric with hyphens/underscores/dots) - order (number) *required*: Order position of the table of contents item within its parent section or item - parentId (string): Parent table of contents item ID - null for top-level items, or ID of parent item for nested structure - content (object): Content configuration for the table of contents item7 params

Create a new table of contents item in a portal product section. Supports API references, HTML content, and Markdown content types. **Toolset:** Table Of Contents **Parameters:** - sectionId (string) *required*: Section ID - unique identifier for the section within the product - type (enum) *required*: Type of table of contents creation - 'new' to create from scratch or 'copy' to duplicate an existing one - title (string) *required*: Title of the table of contents item - will be displayed in navigation (3-40 characters) - slug (string) *required*: URL-friendly identifier for the table of contents item - must be unique within the section (3-22 characters, lowercase, alphanumeric with hyphens/underscores/dots) - order (number) *required*: Order position of the table of contents item within its parent section or item - parentId (string): Parent table of contents item ID - null for top-level items, or ID of parent item for nested structure - content (object): Content configuration for the table of contents item

NameTypeRequiredDescription
ordernumberrequiredOrder position of the table of contents item within its parent section or item
sectionIdstringrequiredSection ID - unique identifier for the section within the product
slugstringrequiredURL-friendly identifier for the table of contents item - must be unique within the section (3-22 characters, lowercase, alphanumeric with hyphens/underscores/dots)
titlestringrequiredTitle of the table of contents item - will be displayed in navigation (3-40 characters)
typestringrequiredType of table of contents creation - 'new' to create from scratch or 'copy' to duplicate an existing one
contentobjectoptionalContent configuration for the table of contents item
parentIdstringoptionalParent table of contents item ID - null for top-level items, or ID of parent item for nested structure
swaggermcp_swagger_delete_portal_product#Delete a product from a specific portal **Toolset:** Products **Parameters:** - productId (string) *required*: Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product1 param

Delete a product from a specific portal **Toolset:** Products **Parameters:** - productId (string) *required*: Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product

NameTypeRequiredDescription
productIdstringrequiredProduct UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product
swaggermcp_swagger_delete_table_of_contents#Delete table of contents entry. Performs a soft-delete of an entry from the table of contents. Supports recursive deletion of nested items. **Toolset:** Table Of Contents **Parameters:** - tableOfContentsId (string) *required*: The table of contents UUID, or identifier in the format 'portal-subdomain:product-slug:section-slug:table-of-contents-slug' - recursive (boolean): Flag to include all the nested tables of contents (default: false)2 params

Delete table of contents entry. Performs a soft-delete of an entry from the table of contents. Supports recursive deletion of nested items. **Toolset:** Table Of Contents **Parameters:** - tableOfContentsId (string) *required*: The table of contents UUID, or identifier in the format 'portal-subdomain:product-slug:section-slug:table-of-contents-slug' - recursive (boolean): Flag to include all the nested tables of contents (default: false)

NameTypeRequiredDescription
tableOfContentsIdstringrequiredThe table of contents UUID, or identifier in the format 'portal-subdomain:product-slug:section-slug:table-of-contents-slug'
recursivebooleanoptionalFlag to include all the nested tables of contents (default: false)
swaggermcp_swagger_get_api_definition#Fetch resolved API definition from SwaggerHub Registry based on owner, API name, and version. **Toolset:** Registry API **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)5 params

Fetch resolved API definition from SwaggerHub Registry based on owner, API name, and version. **Toolset:** Registry API **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)

NameTypeRequiredDescription
apistringrequiredAPI name (case-sensitive)
ownerstringrequiredAPI owner (organization or user, case-sensitive)
versionstringrequiredVersion identifier
flattenbooleanoptionalSet to true to create models from inline schemas in OpenAPI definition (default false)
resolvedbooleanoptionalSet to true to get the resolved version with all external $refs included (default false)
swaggermcp_swagger_get_document#Get document content and metadata by document ID. Useful for retrieving HTML or Markdown content from table of contents items. **Toolset:** Documents **Parameters:** - documentId (string) *required*: Document UUID - unique identifier for the document1 param

Get document content and metadata by document ID. Useful for retrieving HTML or Markdown content from table of contents items. **Toolset:** Documents **Parameters:** - documentId (string) *required*: Document UUID - unique identifier for the document

NameTypeRequiredDescription
documentIdstringrequiredDocument UUID - unique identifier for the document
swaggermcp_swagger_get_portal#Retrieve information about a specific portal. **Toolset:** Portals **Parameters:** - portalId (string) *required*: Portal UUID or subdomain - unique identifier for the portal instance1 param

Retrieve information about a specific portal. **Toolset:** Portals **Parameters:** - portalId (string) *required*: Portal UUID or subdomain - unique identifier for the portal instance

NameTypeRequiredDescription
portalIdstringrequiredPortal UUID or subdomain - unique identifier for the portal instance
swaggermcp_swagger_get_portal_product#Retrieve information about a specific product resource. **Toolset:** Products **Parameters:** - productId (string) *required*: Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product1 param

Retrieve information about a specific product resource. **Toolset:** Products **Parameters:** - productId (string) *required*: Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product

NameTypeRequiredDescription
productIdstringrequiredProduct UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product
swaggermcp_swagger_list_organizations#Get organizations for a user. Returns a list of organizations that the authenticating user is a member of. On-Premise admin gets a list of all organizations in the system. **Toolset:** Registry API **Parameters:** - q (string): Search organizations by partial or full name (case-insensitive) - sortBy (enum): The property to sort the results by - order (enum): Sort order - page (number): 0-based index of the page to return - pageSize (number): Number of results per page to return5 params

Get organizations for a user. Returns a list of organizations that the authenticating user is a member of. On-Premise admin gets a list of all organizations in the system. **Toolset:** Registry API **Parameters:** - q (string): Search organizations by partial or full name (case-insensitive) - sortBy (enum): The property to sort the results by - order (enum): Sort order - page (number): 0-based index of the page to return - pageSize (number): Number of results per page to return

NameTypeRequiredDescription
orderstringoptionalSort order
pagenumberoptional0-based index of the page to return
pageSizenumberoptionalNumber of results per page to return
qstringoptionalSearch organizations by partial or full name (case-insensitive)
sortBystringoptionalThe property to sort the results by
swaggermcp_swagger_list_portal_product_sections#Get sections for a specific product within a portal. **Toolset:** Sections **Parameters:** - productId (string) *required*: Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product - embed (array): List of related entities to embed in the response - e.g., ['tableOfContents', 'tableOfContents.swaggerhubApi'] to include table of contents and SwaggerHub API details - page (number): Page number for paginated results - specifies which page of results to retrieve (default is 1) - size (number): Number of items per page for pagination - controls how many results are returned per page (default is 10)4 params

Get sections for a specific product within a portal. **Toolset:** Sections **Parameters:** - productId (string) *required*: Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product - embed (array): List of related entities to embed in the response - e.g., ['tableOfContents', 'tableOfContents.swaggerhubApi'] to include table of contents and SwaggerHub API details - page (number): Page number for paginated results - specifies which page of results to retrieve (default is 1) - size (number): Number of items per page for pagination - controls how many results are returned per page (default is 10)

NameTypeRequiredDescription
productIdstringrequiredProduct UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product
embedarrayoptionalList of related entities to embed in the response - e.g., ['tableOfContents', 'tableOfContents.swaggerhubApi'] to include table of contents and SwaggerHub API details
pagenumberoptionalPage number for paginated results - specifies which page of results to retrieve (default is 1)
sizenumberoptionalNumber of items per page for pagination - controls how many results are returned per page (default is 20)
swaggermcp_swagger_list_portal_products#Get products for a specific portal that match your criteria. **Toolset:** Products **Parameters:** - portalId (string) *required*: Portal UUID or subdomain - unique identifier for the portal instance1 param

Get products for a specific portal that match your criteria. **Toolset:** Products **Parameters:** - portalId (string) *required*: Portal UUID or subdomain - unique identifier for the portal instance

NameTypeRequiredDescription
portalIdstringrequiredPortal UUID or subdomain - unique identifier for the portal instance
swaggermcp_swagger_list_portals#Search for available portals within Swagger. Only portals where you have at least a designer role, either at the product level or organization level, are returned. **Toolset:** Portals0 params

Search for available portals within Swagger. Only portals where you have at least a designer role, either at the product level or organization level, are returned. **Toolset:** Portals

swaggermcp_swagger_list_table_of_contents#Get table of contents for a section of a product within a portal. **Toolset:** Table Of Contents **Parameters:** - sectionId (string) *required*: Section ID - unique identifier for the section within the product - embed (array): List of related entities to embed in the response - e.g., ['swaggerhubApi'] to include SwaggerHub API details - page (number): Page number for paginated results - specifies which page of results to retrieve (default is 1) - size (number): Number of items per page for pagination - controls how many results are returned per page (default is 20)4 params

Get table of contents for a section of a product within a portal. **Toolset:** Table Of Contents **Parameters:** - sectionId (string) *required*: Section ID - unique identifier for the section within the product - embed (array): List of related entities to embed in the response - e.g., ['swaggerhubApi'] to include SwaggerHub API details - page (number): Page number for paginated results - specifies which page of results to retrieve (default is 1) - size (number): Number of items per page for pagination - controls how many results are returned per page (default is 20)

NameTypeRequiredDescription
sectionIdstringrequiredSection ID - unique identifier for the section within the product
embedarrayoptionalList of related entities to embed in the response - e.g., ['swaggerhubApi'] to include SwaggerHub API details
pagenumberoptionalPage number for paginated results - specifies which page of results to retrieve (default is 1)
sizenumberoptionalNumber of items per page for pagination - controls how many results are returned per page (default is 20)
swaggermcp_swagger_publish_portal_product#Publish a product's content to make it live or as preview. This endpoint publishes the current content of a product, making it visible to portal visitors. Use preview mode to test before going live. Optionally provide `tableOfContentsId` to get a page-specific URL. Returns publication status, a live or preview URL (null if URL building fails), product and portal metadata, and an optional `warning` when metadata/URL building failed — a warning does NOT mean the publish failed. **Toolset:** Products **Parameters:** - productId (string) *required*: Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product - tableOfContentsId (string): Optional table of contents UUID, or identifier in the format 'portal-subdomain:product-slug:section-slug:table-of-contents-slug'. When provided, publishPortalProduct uses it to resolve the published URL path for the returned preview/live link. - preview (boolean): Whether to publish as preview (true) or live (false). Preview allows testing before going live. Defaults to false (live publication) (default: false)3 params

Publish a product's content to make it live or as preview. This endpoint publishes the current content of a product, making it visible to portal visitors. Use preview mode to test before going live. Optionally provide `tableOfContentsId` to get a page-specific URL. Returns publication status, a live or preview URL (null if URL building fails), product and portal metadata, and an optional `warning` when metadata/URL building failed — a warning does NOT mean the publish failed. **Toolset:** Products **Parameters:** - productId (string) *required*: Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product - tableOfContentsId (string): Optional table of contents UUID, or identifier in the format 'portal-subdomain:product-slug:section-slug:table-of-contents-slug'. When provided, publishPortalProduct uses it to resolve the published URL path for the returned preview/live link. - preview (boolean): Whether to publish as preview (true) or live (false). Preview allows testing before going live. Defaults to false (live publication) (default: false)

NameTypeRequiredDescription
productIdstringrequiredProduct UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product
previewbooleanoptionalWhether to publish as preview (true) or live (false). Preview allows testing before going live. Defaults to false (live publication)
tableOfContentsIdstringoptionalOptional table of contents UUID, or identifier in the format 'portal-subdomain:product-slug:section-slug:table-of-contents-slug'. When provided, publishPortalProduct uses it to resolve the published URL path for the returned preview/live link.
swaggermcp_swagger_resolve_organization_portal#Resolve portal details for a Swagger organization in a single step. Given an organization UUID, returns the portal ID, subdomain, customDomain (when configured), and the list of products (with productId, productSlug, and productName) for the organization's portal. If the organization has no portal yet, a new portal is created automatically. Use this tool to obtain all portal context needed for subsequent portal and product operations. **Toolset:** Portals **Parameters:** - organizationId (string) *required*: Swagger organization UUID - the organization to resolve portal details for1 param

Resolve portal details for a Swagger organization in a single step. Given an organization UUID, returns the portal ID, subdomain, customDomain (when configured), and the list of products (with productId, productSlug, and productName) for the organization's portal. If the organization has no portal yet, a new portal is created automatically. Use this tool to obtain all portal context needed for subsequent portal and product operations. **Toolset:** Portals **Parameters:** - organizationId (string) *required*: Swagger organization UUID - the organization to resolve portal details for

NameTypeRequiredDescription
organizationIdstringrequiredSwagger organization UUID - the organization to resolve portal details for
swaggermcp_swagger_scan_api_standardization#Run a standardization scan against an API definition using the organization's governance and standardization rules. Accepts a raw YAML or JSON OpenAPI/AsyncAPI definition and returns a list of validation errors, the total issue count, and counts grouped by severity. Use this tool when the user provides the API definition content directly (as raw YAML or JSON) and asks to validate, scan, or check the governance or standardization of the API. **Toolset:** Registry API **Parameters:** - orgName (string) *required*: The organization name to use for standardization rules - definition (string) *required*: API definition content (OpenAPI/AsyncAPI specification in JSON or YAML format) to scan for standardization errors2 params

Run a standardization scan against an API definition using the organization's governance and standardization rules. Accepts a raw YAML or JSON OpenAPI/AsyncAPI definition and returns a list of validation errors, the total issue count, and counts grouped by severity. Use this tool when the user provides the API definition content directly (as raw YAML or JSON) and asks to validate, scan, or check the governance or standardization of the API. **Toolset:** Registry API **Parameters:** - orgName (string) *required*: The organization name to use for standardization rules - definition (string) *required*: API definition content (OpenAPI/AsyncAPI specification in JSON or YAML format) to scan for standardization errors

NameTypeRequiredDescription
definitionstringrequiredAPI definition content (OpenAPI/AsyncAPI specification in JSON or YAML format) to scan for standardization errors
orgNamestringrequiredThe organization name to use for standardization rules
swaggermcp_swagger_scan_api_standardization_from_registry#Run a standardization scan on an API that already exists in SwaggerHub Registry, identified by organization name, API name, and version. Fetches the API definition from the registry internally and scans it against the organization's governance and standardization rules. Returns a list of validation errors, total issue count, counts grouped by severity, and a SwaggerHub UI URL for the scanned API. Use this tool when the user identifies the API by org name, API name, and version and asks to validate, scan, or check the governance or standardization of an existing API. **Toolset:** Registry API **Parameters:** - orgName (string) *required*: The organization name that owns the API and provides the standardization rules (case-sensitive) - apiName (string) *required*: API name (case-sensitive) - version (string) *required*: Version identifier3 params

Run a standardization scan on an API that already exists in SwaggerHub Registry, identified by organization name, API name, and version. Fetches the API definition from the registry internally and scans it against the organization's governance and standardization rules. Returns a list of validation errors, total issue count, counts grouped by severity, and a SwaggerHub UI URL for the scanned API. Use this tool when the user identifies the API by org name, API name, and version and asks to validate, scan, or check the governance or standardization of an existing API. **Toolset:** Registry API **Parameters:** - orgName (string) *required*: The organization name that owns the API and provides the standardization rules (case-sensitive) - apiName (string) *required*: API name (case-sensitive) - version (string) *required*: Version identifier

NameTypeRequiredDescription
apiNamestringrequiredAPI name (case-sensitive)
orgNamestringrequiredThe organization name that owns the API and provides the standardization rules (case-sensitive)
versionstringrequiredVersion identifier
swaggermcp_swagger_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. **Toolset:** Registry API **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)9 params

Search for APIs and Domains in SwaggerHub Registry using the comprehensive /specs endpoint and retrieve metadata including owner, name, description, summary, version, and specification. **Toolset:** Registry API **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)

NameTypeRequiredDescription
limitnumberoptionalNumber of results per page (1-100, default 20)
offsetnumberoptionalOffset for pagination (0-based, default 0)
orderstringoptionalSort order - ASC or DESC (default ASC)
ownerstringoptionalFilter APIs by owner (organization or user)
querystringoptionalSearch query to filter APIs by name, description, or content
sortstringoptionalSort field - NAME, UPDATED, or CREATED (default NAME)
specTypestringoptionalFilter by specification type - API or DOMAIN (default all types)
statestringoptionalFilter APIs by publication state - ALL (default), PUBLISHED, or UNPUBLISHED
tagstringoptionalFilter APIs by tag
swaggermcp_swagger_standardize_api#Standardize and fix an API definition using AI to ensure compliance with governance policies. Scans the API definition for standardization errors and automatically fixes them using SmartBear AI. Optionally provide 'newVersion' (e.g. patch bump '1.0.0' → '1.0.1') to save the fixed definition as a new version — omitting it will overwrite the current version. Returns the number of errors found and the fixed definition if successful. Use this tool when users ask to standardize, fix, govern, or ensure governance compliance of APIs. **Toolset:** Registry API **Parameters:** - owner (string) *required*: API owner (organization or user, case-sensitive) - api (string) *required*: API name (case-sensitive) - version (string) *required*: Version identifier - newVersion (string): The version to save the fixed definition as (e.g. '1.0.1'). Omitting this will overwrite the current version — prefer providing a patch bump (e.g. '1.0.0' → '1.0.1') unless the user specifies otherwise.4 params

Standardize and fix an API definition using AI to ensure compliance with governance policies. Scans the API definition for standardization errors and automatically fixes them using SmartBear AI. Optionally provide 'newVersion' (e.g. patch bump '1.0.0' → '1.0.1') to save the fixed definition as a new version — omitting it will overwrite the current version. Returns the number of errors found and the fixed definition if successful. Use this tool when users ask to standardize, fix, govern, or ensure governance compliance of APIs. **Toolset:** Registry API **Parameters:** - owner (string) *required*: API owner (organization or user, case-sensitive) - api (string) *required*: API name (case-sensitive) - version (string) *required*: Version identifier - newVersion (string): The version to save the fixed definition as (e.g. '1.0.1'). Omitting this will overwrite the current version — prefer providing a patch bump (e.g. '1.0.0' → '1.0.1') unless the user specifies otherwise.

NameTypeRequiredDescription
apistringrequiredAPI name (case-sensitive)
ownerstringrequiredAPI owner (organization or user, case-sensitive)
versionstringrequiredVersion identifier
newVersionstringoptionalThe version to save the fixed definition as (e.g. '1.0.1'). Omitting this will overwrite the current version — prefer providing a patch bump (e.g. '1.0.0' → '1.0.1') unless the user specifies otherwise.
swaggermcp_swagger_update_document#Update the content or source of an existing document. Supports both HTML and Markdown content types. **Toolset:** Documents **Parameters:** - documentId (string) *required*: Document UUID - unique identifier for the document - content (string): The document content to update (HTML or Markdown based on document type) - type (enum): Content type of the document. Note: documents with type 'html' and source 'internal' cannot be edited via API — only 'html' + 'external' and all 'markdown' combinations are supported. - source (enum): Where the document content is managed. 'internal': editable in both portal UI and API. 'external': editable via API only. Note: 'html' + 'internal' documents cannot be updated via API.4 params

Update the content or source of an existing document. Supports both HTML and Markdown content types. **Toolset:** Documents **Parameters:** - documentId (string) *required*: Document UUID - unique identifier for the document - content (string): The document content to update (HTML or Markdown based on document type) - type (enum): Content type of the document. Note: documents with type 'html' and source 'internal' cannot be edited via API — only 'html' + 'external' and all 'markdown' combinations are supported. - source (enum): Where the document content is managed. 'internal': editable in both portal UI and API. 'external': editable via API only. Note: 'html' + 'internal' documents cannot be updated via API.

NameTypeRequiredDescription
documentIdstringrequiredDocument UUID - unique identifier for the document
contentstringoptionalThe document content to update (HTML or Markdown based on document type)
sourcestringoptionalSource of the document content - 'internal' allows to edit content in both UI and API, 'external' enables editing only via API.
typestringoptionalContent type - 'html' for HTML content or 'markdown' for Markdown content
swaggermcp_swagger_update_portal#Update a specific portal's configuration. **Toolset:** Portals **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'10 params

Update a specific portal's configuration. **Toolset:** Portals **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'

NameTypeRequiredDescription
portalIdstringrequiredPortal UUID or subdomain - unique identifier for the portal instance
credentialsEnabledbooleanoptionalEnable/disable authentication credentials for portal access - controls whether users can authenticate to view private content
customDomainbooleanoptionalEnable/disable custom domain for the portal - allows using your own domain instead of the default subdomain
gtmKeystringoptionalGoogle Tag Manager key for analytics tracking - format: GTM-XXXXXX (max 25 characters)
namestringoptionalUpdate the portal display name - shown to users and in branding (3-40 characters)
offlinebooleanoptionalSet portal visibility - true hides portal from customers (useful for maintenance or development)
openapiRendererstringoptionalChange OpenAPI renderer: 'SWAGGER_UI' (Swagger UI), 'ELEMENTS' (Stoplight Elements), or 'TOGGLE' (switch between both)
pageContentFormatstringoptionalUpdate page content format for documentation rendering: 'HTML', 'MARKDOWN', or 'BOTH'
routingstringoptionalUpdate routing strategy - 'browser' for client-side routing or 'proxy' for server-side routing
subdomainstringoptionalUpdate the portal subdomain - changes the portal URL. Must remain unique across all portals (3-20 characters, lowercase, alphanumeric with hyphens)
swaggermcp_swagger_update_portal_product#Update a product's settings within a specific portal. **Toolset:** Products **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 links6 params

Update a product's settings within a specific portal. **Toolset:** Products **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

NameTypeRequiredDescription
productIdstringrequiredProduct UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product
descriptionstringoptionalUpdate product description - explains the API/product functionality, shown in listings (max 110 characters)
hiddenbooleanoptionalChange navigation visibility - true hides from portal landing page menus while keeping the product accessible via direct links
namestringoptionalUpdate product display name - changes how it appears to users in navigation and listings (3-40 characters)
publicbooleanoptionalChange product visibility - true makes it publicly accessible to all visitors, false restricts to authenticated users with roles
slugstringoptionalUpdate URL-friendly identifier - must remain unique within the portal, affects product URLs (3-22 characters, lowercase, alphanumeric with hyphens/underscores/dots)