/servers
Create a new MCP server. Requires slug and transportConfig. All other fields are optional with sensible defaults. Read-only fields are silently ignored
In: header
Request Body
application/json
URL-friendly name of the server, unique within the tenant
^[a-z0-9][-a-z0-9]*$length <= 20Transport configuration used to connect to the server
Transport type to create with a default configuration, used instead of transportConfig
"httpstreaming" | "sse" | "stdio" | "hosted" | "openapi"Human-readable description of the server
Authorization configuration for the server
Discovered OAuth metadata, or null when not discovered
OAuth client configuration, or null when not configured
Whether the server is enabled
Timeout in seconds for a single protocol request to the server
0 < value <= 9007199254740991Total timeout in seconds for a tool call, including progress notifications
0 < value <= 9007199254740991Whether a progress notification resets the protocol timeout
Whether large tool outputs are compressed before they are returned to the client
Whether the compression transform step is applied to tool outputs
Minimum output size in bytes before compression is applied
1024 <= value <= 9007199254740991Firewall rules evaluated against tool calls to the server
Who can see the server: only members or the whole organization
"private" | "organization"Read-only; accepted and ignored
Read-only; accepted and ignored
Read-only; accepted and ignored
Read-only; accepted and ignored
Read-only; accepted and ignored
Response Body
application/json
curl -X POST "https://YOUR_ORG_ID.gatana.ai/api/v2/servers" \ -H "Content-Type: application/json" \ -d '{ "slug": "string" }'{
"id": "string",
"slug": "string",
"tenantId": "string",
"description": "string",
"authorization": {
"method": "none",
"credentialsScope": "server",
"apikeys": [
"string"
],
"toolRefreshCredentialPolicy": "server-scoped"
},
"transportConfig": {
"type": "httpstreaming",
"url": "string",
"headers": [
[
"string",
"string"
]
]
},
"oauthClientConfiguration": {},
"oauthMetadata": {},
"visibility": "private",
"isEnabled": true,
"lastToolRefreshAt": "string",
"timeoutProtocol": 9007199254740991,
"timeoutTotal": 9007199254740991,
"resetTimeoutOnProgressNotification": true,
"isOutputCompressionEnabled": true,
"isOutputCompressionTransformEnabled": true,
"outputCompressionThresholdBytes": 1024,
"firewallRules": [
{
"condition": "string",
"action": "deny"
}
],
"createdAt": "string",
"updatedAt": "string"
}