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