Swagger MCP
Vendor MCP26 toolsOAuth 2.1/DCRDeveloper ToolsProductivityConnect to Swagger MCP. Create and manage APIs, developer portals, and documentation in SwaggerHub from AI workflows.
Swagger MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. 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> -
Authorize and make your first call
Section titled “Authorize and make your first call”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.actionsconst connector = 'swaggermcp'const identifier = 'user_123'// Generate an authorization link for the userconst { 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 callconst result = await actions.executeTool({connector,identifier,toolName: 'swaggermcp_swagger_list_organizations',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "swaggermcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Swagger MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="swaggermcp_swagger_list_organizations",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”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
Tool list
Section titled “Tool list”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")
apiNamestringrequiredAPI nameownerstringrequiredAPI 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.xswaggermcp_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
pageTitlestringrequiredTitle of the documentation page - will be displayed in navigation (3-255 characters)portalIdstringrequiredPortal UUID or subdomain - unique identifier for the portalproductIdstringrequiredProduct UUID - unique identifier for the productcontentTypestringoptionalContent 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 itempageContentstringoptionalContent 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 structuresourcestringoptionalWhere 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.
apiNamestringrequiredAPI namedefinitionstringrequiredAPI 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'
subdomainstringrequiredThe portal subdomain - used in the portal URL (e.g., 'myportal' for myportal.example.com). Must be unique, lowercase, 3-20 characters, alphanumeric with hyphensswaggerHubOrganizationIdstringrequiredThe corresponding SwaggerHub organization UUID - required for portal creation. This links the portal to your SwaggerHub organizationcredentialsEnabledbooleanoptionalWhether authentication credentials are enabled for accessing the portal. When true, users can authenticate to access private content. Defaults to truenamestringoptionalThe 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 falseopenapiRendererstringoptionalOpenAPI 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
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 instanceslugstringrequiredURL-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 dotstypestringrequiredProduct creation type - 'new' to create from scratch or 'copy' to duplicate an existing productdescriptionstringoptionalProduct 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 productsproductIdstringoptionalSource 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 itswaggermcp_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
ordernumberrequiredOrder position of the table of contents item within its parent section or itemsectionIdstringrequiredSection ID - unique identifier for the section within the productslugstringrequiredURL-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 onecontentobjectoptionalContent configuration for the table of contents itemparentIdstringoptionalParent table of contents item ID - null for top-level items, or ID of parent item for nested structureswaggermcp_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
productIdstringrequiredProduct UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the productswaggermcp_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)
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)
apistringrequiredAPI name (case-sensitive)ownerstringrequiredAPI owner (organization or user, case-sensitive)versionstringrequiredVersion identifierflattenbooleanoptionalSet 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
documentIdstringrequiredDocument UUID - unique identifier for the documentswaggermcp_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
portalIdstringrequiredPortal UUID or subdomain - unique identifier for the portal instanceswaggermcp_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
productIdstringrequiredProduct UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the productswaggermcp_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
orderstringoptionalSort orderpagenumberoptional0-based index of the page to returnpageSizenumberoptionalNumber of results per page to returnqstringoptionalSearch organizations by partial or full name (case-insensitive)sortBystringoptionalThe property to sort the results byswaggermcp_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)
productIdstringrequiredProduct UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the productembedarrayoptionalList of related entities to embed in the response - e.g., ['tableOfContents', 'tableOfContents.swaggerhubApi'] to include table of contents and SwaggerHub API detailspagenumberoptionalPage 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
portalIdstringrequiredPortal UUID or subdomain - unique identifier for the portal instanceswaggermcp_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)
sectionIdstringrequiredSection ID - unique identifier for the section within the productembedarrayoptionalList of related entities to embed in the response - e.g., ['swaggerhubApi'] to include SwaggerHub API detailspagenumberoptionalPage 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)
productIdstringrequiredProduct UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the productpreviewbooleanoptionalWhether 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
organizationIdstringrequiredSwagger organization UUID - the organization to resolve portal details forswaggermcp_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
definitionstringrequiredAPI definition content (OpenAPI/AsyncAPI specification in JSON or YAML format) to scan for standardization errorsorgNamestringrequiredThe organization name to use for standardization rulesswaggermcp_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
apiNamestringrequiredAPI name (case-sensitive)orgNamestringrequiredThe organization name that owns the API and provides the standardization rules (case-sensitive)versionstringrequiredVersion identifierswaggermcp_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)
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 contentsortstringoptionalSort 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 UNPUBLISHEDtagstringoptionalFilter APIs by tagswaggermcp_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.
apistringrequiredAPI name (case-sensitive)ownerstringrequiredAPI owner (organization or user, case-sensitive)versionstringrequiredVersion identifiernewVersionstringoptionalThe 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.
documentIdstringrequiredDocument UUID - unique identifier for the documentcontentstringoptionalThe 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 contentswaggermcp_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'
portalIdstringrequiredPortal UUID or subdomain - unique identifier for the portal instancecredentialsEnabledbooleanoptionalEnable/disable authentication credentials for portal access - controls whether users can authenticate to view private contentcustomDomainbooleanoptionalEnable/disable custom domain for the portal - allows using your own domain instead of the default subdomaingtmKeystringoptionalGoogle 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 routingsubdomainstringoptionalUpdate 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
productIdstringrequiredProduct UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the productdescriptionstringoptionalUpdate 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 linksnamestringoptionalUpdate 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 rolesslugstringoptionalUpdate URL-friendly identifier - must remain unique within the portal, affects product URLs (3-22 characters, lowercase, alphanumeric with hyphens/underscores/dots)