MCP Reference

Endpoints — MCP Tools

19 tools in the Endpoints group of the Routebase MCP server.

add_parameter

Add a parameter to an endpoint (path, query, header, or cookie parameter). Requires project context.

Required scope: specs:write

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
endpointId string Yes Public ID (GUID) of the endpoint
name string Yes Parameter name (e.g., 'id', 'page', 'Authorization')
location string Yes Parameter location: 'path', 'query', 'header', or 'cookie'
schemaType string Yes Schema type: 'string', 'integer', 'number', 'boolean', 'array', 'object'
required boolean No (default false) Whether the parameter is required (default false, path params are always required)
description string No Description of the parameter
schemaFormat string No Schema format (e.g., 'date-time', 'email', 'uuid', 'int32', 'int64')
example string No Example value for the parameter
defaultValue string No Default value for the parameter
schemaId string No Public ID (GUID) of a schema to link; when set, the parameter's schema is exported as a $ref to that component and schemaType is ignored on export.

add_response

Add a response to an endpoint with status code, description, and optional schema. Provide either schemaJson (inline) or schemaId (reference), not both. Requires project context.

Required scope: specs:write

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
endpointId string Yes Public ID (GUID) of the endpoint
statusCode integer Yes HTTP status code (e.g., 200, 201, 400, 404, 500)
description string No Description of the response
contentType string No (default "application/json") Response content type (default 'application/json')
schemaJson string No Inline JSON Schema definition for the response body
example string No Example response body
schemaId string No Public ID (GUID) of an existing schema to reference (alternative to schemaJson)

add_security_scheme

Assign a security scheme to one endpoint (endpointId) or to many at once (endpointIds plus versionId). The security scheme must already exist as a component in the spec. Pass either securitySchemeId or securitySchemeName (the OpenAPI component name, e.g. 'bearerAuth'). The multi-endpoint form is idempotent — endpoints that already carry the scheme are skipped. Requires project context.

Required scope: specs:write

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
endpointId string No Public ID (GUID) of the endpoint — alternative to endpointIds
endpointIds string No Comma-separated endpoint IDs (GUIDs) to assign in one call — alternative to endpointId; requires versionId
versionId string No Public ID (GUID) of the spec version the endpoints belong to — required with endpointIds (from list_endpoints)
securitySchemeId string No Public ID (GUID) of the security scheme component to assign — alternative to securitySchemeName
securitySchemeName string No Name of the security scheme component (e.g. 'bearerAuth') — alternative to securitySchemeId
scopes string No Comma-separated OAuth scopes (e.g., 'read:users,write:users')

bulk_update_endpoints

Act on many endpoints in one call. Actions: 'delete' removes them, 'move' puts them into a folder (omit folderId to move them to the root), 'reorder' sets their display order — for 'reorder' the endpointIds are the new order, so pass every endpoint you want ordered. Requires project context.

Required scope: specs:write

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
action string Yes What to do: 'delete', 'move' or 'reorder'
endpointIds string Yes Endpoint IDs (GUIDs), comma-separated. For 'reorder' this is the new order.
folderId string No Target folder ID (GUID) for 'move'; omit to move the endpoints to the root

create_endpoint

Create a new endpoint in an API specification. Requires a version ID because endpoints are version-scoped. Requires project context.

Required scope: specs:write

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
versionId string Yes Public ID (GUID) of the spec version to add the endpoint to
path string Yes Endpoint path (e.g., '/users/{id}', '/orders')
method string Yes HTTP method: 'get', 'post', 'put', 'patch', 'delete', 'head', 'options'
summary string No Short summary of what the endpoint does
description string No Detailed description of the endpoint
operationId string No Unique operation ID (e.g., 'getUser', 'createOrder')

delete_endpoint

Delete an endpoint (soft delete). Requires project context.

Required scope: specs:delete

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
versionId string Yes Public ID (GUID) of the spec version
endpointId string Yes Public ID (GUID) of the endpoint to delete

delete_parameter

Delete a parameter from an endpoint. Requires project context.

Required scope: specs:delete

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
endpointId string Yes Public ID (GUID) of the endpoint
parameterId string Yes Public ID (GUID) of the parameter to delete

delete_request_body

Remove an endpoint's request body entirely. To change it instead, use set_request_body; to only detach a linked component, use set_request_body with detachRequestBodyComponent. Requires project context.

Required scope: specs:delete

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
endpointId string Yes Public ID (GUID) of the endpoint whose request body should be removed

delete_response

Delete a response from an endpoint. Requires project context.

Required scope: specs:delete

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
endpointId string Yes Public ID (GUID) of the endpoint
responseId string Yes Public ID (GUID) of the response to delete

get_endpoint

Get detailed information about an endpoint including parameters, request body, responses, and security schemes. Pass endpointIds instead of endpointId to fetch several at once (up to 25) — the same detail per endpoint, in one call. Requires project context.

Required scope: specs:read

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
endpointId string No Public ID (GUID) of the endpoint — omit when using endpointIds
endpointIds string No Public IDs (GUIDs) of several endpoints, comma-separated, at most 25

list_endpoints

List all endpoints of an API specification. Optionally filter by version. Set scope to 'project' to look across every spec in the project instead — that returns the groups of endpoints colliding on method and path (gateway routing conflicts) plus counts, not the full list, and specId is then ignored. Requires project context (call set_context first).

Required scope: specs:read

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
versionId string No Optional version ID (GUID) to filter endpoints by a specific version
skip integer No (default 0) Number of endpoints to skip (for pagination, default 0)
take integer No (default 50) Number of endpoints to return (default 50, max 100)
scope string No (default "spec") What to look at: 'spec' (default) or 'project'

manage_response_header

Manage the headers a response declares. Actions: 'add' creates one on a response, 'update' replaces its fields, 'delete' removes it, 'link' points it at a reusable header component (the component then drives its shape), 'unlink' detaches it again and keeps the current values inline. 'add' and 'update' need name and schemaType; 'link' needs headerComponentId. Requires project context.

Required scope: specs:write

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
action string Yes What to do: 'add', 'update', 'delete', 'link' or 'unlink'
endpointId string No Public ID (GUID) of the endpoint — required for 'add', 'update' and 'delete'
responseId string No Public ID (GUID) of the response — required for 'add', 'update' and 'delete'
responseHeaderId string No Public ID (GUID) of the response header — required for everything but 'add'
name string No Header name (e.g. 'X-Rate-Limit') — required for 'add' and 'update'
schemaType string No Schema type: 'string', 'integer', 'number', 'boolean', 'array' or 'object' — required for 'add' and 'update'
required boolean No (default false) Whether the header is always present (default false)
description string No Optional description
schemaFormat string No Optional schema format (e.g. 'date-time', 'int64')
example string No Optional example value
headerComponentId string No Public ID (GUID) of the header component — required for 'link', optional on 'add'

move_endpoint_to_folder

Move an endpoint to a folder, or to root (ungrouped) by omitting folderId. Requires project context.

Required scope: specs:write

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
endpointId string Yes Public ID (GUID) of the endpoint to move
folderId string No Public ID (GUID) of the target folder, or omit to move to root (ungrouped)

remove_endpoint_security_scheme

Remove a security scheme assignment from an endpoint. The securitySchemeAssignmentId is the assignment's own public ID (from get_endpoint), not the security-scheme component ID. Requires project context.

Required scope: specs:write

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
endpointId string Yes Public ID (GUID) of the endpoint
securitySchemeAssignmentId string Yes Public ID (GUID) of the endpoint's security scheme assignment to remove (from get_endpoint)

restore_endpoint

Restore a soft-deleted endpoint into its version. Requires project context.

Required scope: specs:write

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
versionId string Yes Public ID (GUID) of the spec version the endpoint belongs to
endpointId string Yes Public ID (GUID) of the deleted endpoint

set_request_body

Set or update the request body for an endpoint. Provide either schemaJson (inline JSON Schema) or schemaId (reference to an existing schema), not both. A fixture-backed example reference is always preserved as-is; the request body component link is preserved unless requestBodyComponentId names a different one or detachRequestBodyComponent is true. While a component is linked the exported spec emits a $ref to that component and ignores schemaJson/schemaId — detach it to make them take effect. Requires project context.

Required scope: specs:write

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
endpointId string Yes Public ID (GUID) of the endpoint
contentType string Yes Content type (e.g., 'application/json', 'multipart/form-data')
required boolean No (default true) Whether the request body is required (default true)
description string No Description of the request body
schemaJson string No Inline JSON Schema definition as a string
example string No Example request body
schemaId string No Public ID (GUID) of an existing schema to reference (alternative to schemaJson)
rowVersion string No Base64-encoded row version (required when updating an existing request body)
requestBodyComponentId string No Public ID (GUID) of a reusable request body component to link. Omit to keep whatever component the request body is currently linked to.
detachRequestBodyComponent boolean No (default false) Set true to remove the request body component link, so the endpoint's own schemaId/schemaJson takes effect in the exported spec. Cannot be combined with requestBodyComponentId.

update_endpoint

Update an existing endpoint. Requires the rowVersion from get_endpoint for optimistic concurrency control (Base64-encoded string). Requires project context.

Required scope: specs:write

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
versionId string Yes Public ID (GUID) of the spec version
endpointId string Yes Public ID (GUID) of the endpoint to update
path string Yes Endpoint path (e.g., '/users/{id}')
method string Yes HTTP method: 'get', 'post', 'put', 'patch', 'delete', 'head', 'options'
rowVersion string Yes Base64-encoded row version from get_endpoint (for concurrency control)
summary string No Short summary of what the endpoint does
description string No Detailed description of the endpoint
operationId string No Unique operation ID (e.g., 'getUser', 'createOrder')
tags string No Comma-separated tags (e.g., 'users,admin,public')
isDeprecated boolean No (default false) Whether the endpoint is deprecated (default false)
internalNotes string No Internal notes (not visible in public API docs). Omit to keep the existing notes.

update_parameter

Update an existing parameter on an endpoint (name, location, type, required, description, etc.). Requires the parameter's rowVersion for optimistic concurrency control. Requires project context.

Required scope: specs:write

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
endpointId string Yes Public ID (GUID) of the endpoint
parameterId string Yes Public ID (GUID) of the parameter to update
name string Yes Parameter name (e.g., 'id', 'page', 'Authorization')
location string Yes Parameter location: 'path', 'query', 'header', or 'cookie'
schemaType string Yes Schema type: 'string', 'integer', 'number', 'boolean', 'array', 'object'
rowVersion string Yes Base64-encoded row version of the parameter (for concurrency control)
required boolean No (default false) Whether the parameter is required (default false, path params are always required)
description string No Description of the parameter
schemaFormat string No Schema format (e.g., 'date-time', 'email', 'uuid', 'int32', 'int64')
example string No Example value for the parameter
defaultValue string No Default value for the parameter
isDeprecated boolean No (default false) Whether the parameter is deprecated (default false)
schemaId string No Public ID (GUID) of a schema to link; when set, the parameter's schema is exported as a $ref to that component and schemaType is ignored on export. Omitting it preserves an existing link.

update_response

Update an existing response on an endpoint (status code, description, content type, schema, example). Response headers and a fixture-backed example reference are always preserved as-is; the response component link is preserved unless responseComponentId names a different one or detachResponseComponent is true. Requires the response's rowVersion for optimistic concurrency control. Requires project context.

Required scope: specs:write

Parameter Type Required Description
specId string Yes Public ID (GUID) of the API specification
endpointId string Yes Public ID (GUID) of the endpoint
responseId string Yes Public ID (GUID) of the response to update
statusCode integer Yes HTTP status code (e.g., 200, 201, 400, 404, 500)
rowVersion string Yes Base64-encoded row version of the response (for concurrency control)
description string No Description of the response
contentType string No (default "application/json") Response content type (default 'application/json')
schemaJson string No Inline JSON Schema definition for the response body
example string No Example response body
schemaId string No Public ID (GUID) of an existing schema to reference (alternative to schemaJson)
responseComponentId string No Public ID (GUID) of a reusable response component to link. Omit to keep whatever component the response is currently linked to.
detachResponseComponent boolean No (default false) Set true to remove the response component link, so the response's own schemaId/schemaJson takes effect in the exported spec. Cannot be combined with responseComponentId.