Shared Library — MCP Tools
Shared schema library on project and org level. This page documents the Shared Library group of the Routebase MCP server, with the scope and the parameters of each tool.
A session that stages its tools advertises this group once the agent calls enable_toolset with the slug shared-library. Full-access keys, scoped keys and OAuth sessions see every tool they are allowed to call without that step.
fork_org_component_to_project
Copy a schema or response from the ORGANIZATION library into the current project's library, where it can be edited independently. Get sourceId from list_shared_schemas/list_shared_responses with scope 'org'. Requires project context.
Required scope: specs:write
| Parameter | Type | Required | Description |
|---|---|---|---|
componentType |
string | Yes | What to fork: 'schema' or 'response' |
sourceId |
string | Yes | Public ID (GUID) of the organization-library schema or response |
get_shared_response
Get one shared response with its schema, headers, example and rowVersion. Scope 'project' (default) or 'org'. Set includeUsedBy to also list the specs linking it — project scope only. Use this when you already have the response id; to browse the library use list_shared_responses.
Required scope: specs:read
| Parameter | Type | Required | Description |
|---|---|---|---|
responseId |
string | Yes | Public ID (GUID) of the shared response |
scope |
string | No (default "project") |
Which library to read: 'project' (default) or 'org' |
includeUsedBy |
boolean | No (default false) |
Also list the specs using this response — project scope only (default false) |
get_shared_schema
Get one shared schema with its full JSON Schema and rowVersion. Scope 'project' (default) or 'org'. Set includeUsedBy to also list the specs linking it — do that before deleting one; it only works in project scope. Use this when you already have the schema id; to browse the library use list_shared_schemas.
Required scope: specs:read
| Parameter | Type | Required | Description |
|---|---|---|---|
schemaId |
string | Yes | Public ID (GUID) of the shared schema |
scope |
string | No (default "project") |
Which library to read: 'project' (default) or 'org' |
includeUsedBy |
boolean | No (default false) |
Also list the specs using this schema — project scope only (default false) |
list_shared_component_usages
List which shared-library components a spec links, including whether the library has a newer version than the spec is pinned to (hasUpdate). The usage ids returned here are what manage_shared_component_link needs for 'unlink' and 'accept_update'. Requires project context.
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 by a specific version |
list_shared_responses
List the reusable responses of the shared library. Scope 'project' (default) reads the current project's library, 'org' the organization-wide one. Each entry carries the id and rowVersion needed to update or link it. Use this to browse or find an id; to create, change or delete one use manage_shared_response.
Required scope: specs:read
| Parameter | Type | Required | Description |
|---|---|---|---|
scope |
string | No (default "project") |
Which library to read: 'project' (default) or 'org' |
list_shared_schemas
List the reusable schemas of the shared library. Scope 'project' (default) reads the current project's library, 'org' the organization-wide one. Each entry carries the id and rowVersion needed to update or link it. Use this to browse or find an id; to create, change or delete one use manage_shared_schema.
Required scope: specs:read
| Parameter | Type | Required | Description |
|---|---|---|---|
scope |
string | No (default "project") |
Which library to read: 'project' (default) or 'org' |
manage_org_shared_response
Create, update or delete a response in the ORGANIZATION shared library — the standards every project can fork. 'create' needs name; 'update' needs responseId and rowVersion and REPLACES the response, omitted fields are carried over; 'delete' needs responseId. Read them with list_shared_responses(scope: 'org').
Required scope: org:manage-governance
| Parameter | Type | Required | Description |
|---|---|---|---|
action |
string | Yes | What to do: 'create', 'update' or 'delete' |
responseId |
string | No | Public ID (GUID) of the shared response — required for 'update' and 'delete' |
rowVersion |
string | No | Base64-encoded row version from list_shared_responses — required for 'update' |
name |
string | No | Response name, unique within the library — required for 'create' |
description |
string | No | Optional description |
contentType |
string | No | Content type, defaults to 'application/json' when creating |
schemaJson |
string | No | Optional JSON Schema for the response body, as a JSON string |
headers |
string | No | Optional response headers as a JSON object string |
example |
string | No | Optional example payload |
manage_org_shared_schema
Create, update or delete a schema in the ORGANIZATION shared library — the standards every project can fork. 'create' needs name and jsonSchema; 'update' needs schemaId and rowVersion and REPLACES the schema, omitted fields are carried over; 'delete' needs schemaId. Read them with list_shared_schemas(scope: 'org').
Required scope: org:manage-governance
| Parameter | Type | Required | Description |
|---|---|---|---|
action |
string | Yes | What to do: 'create', 'update' or 'delete' |
schemaId |
string | No | Public ID (GUID) of the shared schema — required for 'update' and 'delete' |
rowVersion |
string | No | Base64-encoded row version from list_shared_schemas — required for 'update' |
name |
string | No | Schema name, unique within the library — required for 'create' |
jsonSchema |
string | No | The JSON Schema document as a JSON string — required for 'create' |
description |
string | No | Optional description |
manage_shared_component_link
Link a shared-library component into a spec, remove that link, or pull in the library's newer version. 'link' needs componentType and componentId (from list_shared_schemas or list_shared_responses); 'unlink' and 'accept_update' need usageId from list_shared_component_usages. 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: 'link', 'unlink' or 'accept_update' |
componentType |
string | No | What is being linked: 'schema' or 'response' — required for 'link' |
componentId |
string | No | Public ID (GUID) of the shared component — required for 'link' |
usageId |
string | No | Public ID (GUID) of the usage — required for 'unlink' and 'accept_update' |
versionId |
string | No | Optional version ID (GUID) to link into a specific version |
localOverrideName |
string | No | Optional name the component gets inside this spec, if it should differ |
manage_shared_response
Create, update or delete a response in the PROJECT shared library. 'create' needs name; 'update' needs responseId and rowVersion and REPLACES the response — omitted fields are carried over from the current state; 'delete' needs responseId, check get_shared_response with includeUsedBy first. For the organization library use manage_org_shared_response. Requires project context.
Required scope: specs:write
| Parameter | Type | Required | Description |
|---|---|---|---|
action |
string | Yes | What to do: 'create', 'update' or 'delete' |
responseId |
string | No | Public ID (GUID) of the shared response — required for 'update' and 'delete' |
rowVersion |
string | No | Base64-encoded row version from list_shared_responses — required for 'update' |
name |
string | No | Response name, unique within the library (e.g. 'NotFound') — required for 'create' |
description |
string | No | Optional description |
contentType |
string | No | Content type, defaults to 'application/json' when creating |
schemaJson |
string | No | Optional JSON Schema for the response body, as a JSON string |
headers |
string | No | Optional response headers as a JSON object string |
example |
string | No | Optional example payload |
manage_shared_schema
Create, update or delete a schema in the PROJECT shared library. 'create' needs name and jsonSchema; 'update' needs schemaId and rowVersion and REPLACES the schema — fields you omit are carried over from the current state, so you can change one alone; 'delete' needs schemaId, check get_shared_schema with includeUsedBy first. For the organization library use manage_org_shared_schema. Requires project context.
Required scope: specs:write
| Parameter | Type | Required | Description |
|---|---|---|---|
action |
string | Yes | What to do: 'create', 'update' or 'delete' |
schemaId |
string | No | Public ID (GUID) of the shared schema — required for 'update' and 'delete' |
rowVersion |
string | No | Base64-encoded row version from list_shared_schemas — required for 'update' |
name |
string | No | Schema name, unique within the library (e.g. 'Customer') — required for 'create' |
jsonSchema |
string | No | The JSON Schema document as a JSON string — required for 'create' |
description |
string | No | Optional description |
promote_to_shared_library
Promote a schema or response that lives inside one spec into the project's shared library, so other specs can link it. Get componentId from list_schemas or list_response_components. Fails if the library already holds that name. Requires project context.
Required scope: specs:write
| Parameter | Type | Required | Description |
|---|---|---|---|
specId |
string | Yes | Public ID (GUID) of the API specification the component lives in |
componentType |
string | Yes | What to promote: 'schema' or 'response' |
componentId |
string | Yes | Public ID (GUID) of the spec-local schema or response component |