Pi Durable Platformdocs
ReferenceMCP servers

Add a platform MCP server and read its tools (platform admins)

POST
/v1/admin/mcp-servers

Headers (for example Authorization) are stored encrypted and never returned. A server that cannot be reached is still added; toolsError says why.

Request Body

application/json
  1. body
name*string
Lengthlength <= 100
slug?string

Default from the name; cannot change later

Match^[a-z0-9](?:[a-z0-9_]{0,30}[a-z0-9])?$
description?string
Lengthlength <= 2000
url*string

The server's Streamable HTTP endpoint

Lengthlength <= 2048
headers?
accessMode?string
Value in"proxy""direct"
visibility?string
Value in"all""teams"
personal?boolean

Available in personal workspaces (when created, defaults to visibility = all)

teams?array<string>
enabled?boolean

Response Body

Created server

application/json
  1. response
data*
curl -X POST 'https://agents.example.com/v1/admin/mcp-servers' \  -H 'Content-Type: application/json' \  -d '{  "name": "string",  "url": "string"}'
{  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "name": "string",    "slug": "string",    "description": "string",    "url": "string",    "accessMode": "proxy",    "enabled": true,    "visibility": "all",    "personal": true,    "teams": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "slug": "string",        "name": "string"      }    ],    "hasHeaders": true,    "tools": [      {        "name": "string",        "title": "string",        "description": "string"      }    ],    "toolsRefreshedAt": "2019-08-24T14:15:22Z",    "toolsError": "string",    "team": {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "slug": "string",      "name": "string",      "kind": "team"    },    "revision": 0,    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  }}