Pi Durable Platformdocs
ReferenceMCP servers

Add an MCP server for the team and read its tools (its owners and admins, in a browser session)

POST
/v1/teams/{team}/mcp-servers/own

For the team only (400 team_mcp_visibility for visibility all, teams, or personal true). Proxy mode only. The URL must be https and on an address teams may use: public, or private inside the networks platform admins allow (422 address_not_allowed, address_unresolved); it is checked again at every connection. The slug must not be taken by any server, the platform's or another team's (it names the server's tools). Refused with 409 team_mcp_servers_off while platform admins have turned team MCP servers off, and 409 personal_workspace in a personal workspace unless they let personal workspaces add MCP servers. Headers are stored encrypted and never returned. A server whose tools can't be read is still added; toolsError says why.

Path Parameters

team*string

Team slug or ID

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/teams/string/mcp-servers/own' \  -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"  }}