Skip to main content
PUT
/
api
/
svc
/
v1
/
mcp
Create or update an MCP server
curl --request PUT \
  --url https://{controlPlaneURL}/api/svc/v1/mcp \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "manifest": {
    "type": "mcp-server/remote",
    "name": "<string>",
    "description": "<string>",
    "url": "<string>",
    "collaborators": [
      {
        "subject": "<string>",
        "role_id": "<string>"
      }
    ],
    "tool_settings": [
      {
        "name": "<string>",
        "description": "<string>",
        "disabled": true,
        "annotations": {
          "readOnlyHint": true,
          "destructiveHint": true
        }
      }
    ],
    "auth_data": {
      "type": "header",
      "headers": {},
      "auth_level": "global"
    },
    "additional_headers": {},
    "tags": {}
  },
  "dryRun": false,
  "forceDelete": false
}
'
{
  "data": {
    "fqn": "my-tenant:mcp-server:filesystem-tools",
    "tenantName": "<string>",
    "manifest": {
      "type": "mcp-server/remote",
      "name": "<string>",
      "description": "<string>",
      "url": "<string>",
      "collaborators": [
        {
          "subject": "<string>",
          "role_id": "<string>"
        }
      ],
      "tls_settings": {
        "reject_unauthorized": true,
        "ca_cert": "<string>"
      },
      "tool_settings": [
        {
          "name": "<string>",
          "description": "<string>",
          "disabled": true,
          "annotations": {
            "readOnlyHint": true,
            "destructiveHint": true
          }
        }
      ],
      "auth_data": {
        "type": "header",
        "headers": {},
        "auth_level": "global"
      },
      "ownedBy": {
        "account": "<string>"
      },
      "additional_headers": {},
      "tags": {}
    },
    "createdBySubject": {
      "subjectId": "<string>",
      "subjectSlug": "<string>",
      "subjectDisplayName": "<string>",
      "subjectPatName": "<string>",
      "subjectControllerName": "<string>",
      "subjectExternalIdentitySlug": "<string>"
    },
    "id": "<string>",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "proxyUrl": "<string>",
    "isAuthOverrideSupported": true
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
manifest
RemoteMCPServerManifest · object
required

The MCP server manifest describing the server type, name, auth configuration, and other settings.

dryRun
boolean | null
default:false

When true, validates and resolves the manifest without persisting or syncing to the gateway store.

forceDelete
boolean | null
default:false

When true, acknowledges that updating this manifest will delete existing per-subject auth records.

Response

The created or updated MCP server.

data
MCPServerV2 · object
required

The MCP server data.