Register Mcp Server
POST
/v1/mcp/serversPOST
/v1/mcp/serversYour instance endpoint, shown on the instance page in the dashboard. Each instance has its own host; there is no shared API host.
Request Body
| Property | Type | Required | Description |
|---|---|---|---|
tenantId | string | No | |
name | string | No | |
url | string | No | |
transportType | "MCP_TRANSPORT_TYPE_UNSPECIFIED" | "MCP_TRANSPORT_TYPE_SSE" | "MCP_TRANSPORT_TYPE_STREAMABLE_HTTP" | "MCP_TRANSPORT_TYPE_STDIO" | No | |
authType | "MCP_AUTH_TYPE_UNSPECIFIED" | "MCP_AUTH_TYPE_NONE" | "MCP_AUTH_TYPE_API_KEY" | "MCP_AUTH_TYPE_BEARER" | "MCP_AUTH_TYPE_OAUTH2" | No | |
authConfig | object | No | |
toolFilter | object | No | |
headers | object | No | |
stdioConfig | object | No | |
enabled | boolean | No |
Responses
200 Register a new MCP server and discover its tools
| Property | Type | Description |
|---|---|---|
server | object | |
tools | object[] |
default An unexpected error response.
| Property | Type | Description |
|---|---|---|
code | integer | |
message | string | |
details | object[] |
Request
curl -X POST "http://localhost:8089/v1/mcp/servers" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tenantId":"string","name":"string","url":"string","transportType":"MCP_TRANSPORT_TYPE_UNSPECIFIED","authType":"MCP_AUTH_TYPE_UNSPECIFIED","toolFilter":{"type":"string","tools":["string"]},"stdioConfig":{"command":"string","args":["string"],"workingDir":"string"},"enabled":true}'const response = await fetch("http://localhost:8089/v1/mcp/servers", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
"tenantId": "string",
"name": "string",
"url": "string",
"transportType": "MCP_TRANSPORT_TYPE_UNSPECIFIED",
"authType": "MCP_AUTH_TYPE_UNSPECIFIED",
"toolFilter": {
"type": "string",
"tools": [
"string"
]
},
"stdioConfig": {
"command": "string",
"args": [
"string"
],
"workingDir": "string"
},
"enabled": true
}),
});
const data = await response.json();import requests
response = requests.post(
"http://localhost:8089/v1/mcp/servers",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"tenantId": "string",
"name": "string",
"url": "string",
"transportType": "MCP_TRANSPORT_TYPE_UNSPECIFIED",
"authType": "MCP_AUTH_TYPE_UNSPECIFIED",
"toolFilter": {
"type": "string",
"tools": [
"string"
]
},
"stdioConfig": {
"command": "string",
"args": [
"string"
],
"workingDir": "string"
},
"enabled": true
},
)
data = response.json()Response
{
"server": {
"id": "string",
"tenantId": "string",
"name": "string",
"url": "string",
"transportType": "MCP_TRANSPORT_TYPE_UNSPECIFIED",
"authType": "MCP_AUTH_TYPE_UNSPECIFIED",
"toolFilter": {
"type": "string",
"tools": [
"string"
]
},
"stdioConfig": {
"command": "string",
"args": [
"string"
],
"workingDir": "string"
},
"enabled": true,
"healthStatus": "MCP_SERVER_HEALTH_STATUS_UNSPECIFIED",
"healthLastCheck": "2024-01-01T00:00:00Z",
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z",
"toolCount": 0
},
"tools": [
{
"id": "string",
"serverId": "string",
"name": "string",
"description": "string",
"discoveredAt": "2024-01-01T00:00:00Z",
"lastSeenAt": "2024-01-01T00:00:00Z"
}
]
}{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
