API ReferenceToolkits

Create a custom toolkitv3.1

POST
/api/v3.1/custom/toolkits

Experimental: this endpoint may change. Creates a custom MCP toolkit and returns its slug. Set user_id to "all" to share the toolkit with every user in the project, or to a user ID to make it private to that user ("default" and other spellings of "all" are rejected). Access cannot be changed later. For a private toolkit, the response can include a connect_link to send that user to.

Authorization

x-api-key<token>

Project API key authentication

In: header

Request Body

application/json

Toolkit to create

namestringRequired

Display name of the toolkit

app_urlstringRequired

MCP server URL. Must use https.

Format: uri
logo_fileobject

Square PNG or JPEG logo, 256-1024px, max 3MB. Defaults to the Model Context Protocol logo.

auth_schemesarray of object | object | objectRequired

How users authenticate to the MCP server

user_idenum | stringRequired

"all" to share the toolkit with every user in the project, or a user ID to make it private to that user. "default" and other spellings of "all" (such as "ALL" or " all") are rejected. Cannot be changed after create.

callback_urlstring

URL to send the user to after they connect. Used only for connect_link.

Format: uri

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

import requestsurl = "https://example.com/api/v3.1/custom/toolkits"body = """{  "name": "string",  "app_url": "http://example.com",  "auth_schemes": [    {      "mode": "NO_AUTH"    }  ],  "user_id": "all"}"""response = requests.request("POST", url, data = body, headers = {  "Content-Type": "application/json"})print(response.text)
{  "slug": "CUSTOM_NOTION_K7F2Q",  "connect_link": {    "redirect_url": "string",    "expires_at": "string",    "connected_account_id": "string"  }}