Skip to main content
POST
Import and remove an MCP server's tools

Authorizations

X-API-Key
string
header
required

[Production] API key for production authentication

Path Parameters

id
string
required

The unique identifier for the mcp server.

Query Parameters

projectId
string
required

The unique identifier for the project.

Body

application/json

What to import and what to remove

import
string[]

Import names remote tools to import, exactly as discovery reported them. A name that already has a row is an idempotent refresh, which is what makes this the re-sync operation too.

Example:
remove
string[]

Remove names imported rows by their tool referenceId. Deleting a row IS the opt-out, and it detaches the tool from every agent and skill that referenced it.

Example:
reviewedToolNames
string[]

ReviewedToolNames is the catalogue the client actually DISPLAYED to the customer in the dialog it is now saving — every remote tool name it showed, imported or not.

It is what makes declining a tool a recordable decision, and it has to come from the client because only the client knows what it rendered. The customer saw the discovery that opened the dialog; the server discovers again at Save, so a tool added in between would otherwise be stamped as reviewed without ever having been shown, and newSinceReview would never flag it.

OPTIONAL and back-compatible. Omit it and the server falls back to the catalogue it discovers during this request, which is the previous behaviour. An explicit empty array is a real answer ("the server offered nothing") and is recorded as one, so send null/omit rather than [] when you mean "I am not telling you".

Example:

Response

Sync completed; individual items may still carry an error

items
object[]

Items has one entry per requested item, imports first then removals, in request order.

total
integer
Example:

2