Create Server
POSThttps://api.confident-ai.com/v2/mcp-servers
Registers one of your MCP servers with the project and returns its id. Registering does not connect — call the connect route to verify the server and discover its tools.
curl -X POST "https://api.confident-ai.com/v2/mcp-servers" \
-H "CONFIDENT_API_KEY: <PROJECT-API-KEY>" \
-H "Content-Type: application/json" \
-d '{
"name": "Internal Tools",
"transport": "STDIO",
"description": "Internal engineering tools",
"url": "https://mcp.internal.example.com/sse",
"headers": {
"Authorization": "Bearer YOUR-TOKEN"
},
"authType": "HEADERS",
"authConfig": {
"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
"clientId": "9a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"clientSecret": "abc123~ExampleClientSecretValue",
"scope": "api://internal-tools/.default"
},
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem"
]
}'{
"success": true,
"data": {
"id": "<MCP-SERVER-ID>"
},
"deprecated": false
}Headers
CONFIDENT_API_KEYstringRequiredThe API key of your Confident AI project.
Request body
namestringRequiredThe name of the MCP server, unique within the project.
transportenumRequiredHow Confident AI reaches the server.
HTTPrequiresurland is the only transport that authenticates;STDIOrequirescommandand launches the server as a local process.Show 2 enum valuesHide 2 enum values
STDIOHTTP
descriptionstring | nullWhat the MCP server is for. Send null to leave it unset.
urlstring | nullThe URL of the server. Required when
transportisHTTP, and cleared otherwise.headersobject | nullStatic headers sent with every request. Only used when
authTypeisHEADERS, and cleared otherwise. This map is stored as a whole rather than merged, so send every header you want to keep.authTypeenumHow Confident AI authenticates to the server.
HEADERSsends the staticheadersmap,OAUTH_CLIENT_CREDENTIALSandAZURE_ADfetch a token fromauthConfigbefore every call.HTTPtransport only; aSTDIOserver is alwaysHEADERS.Show 3 enum valuesHide 3 enum values
HEADERSOAUTH_CLIENT_CREDENTIALSAZURE_AD
authConfigobject | nullCredentials for a non-
HEADERSauth type. Unlikeheaders, these fields merge into what is stored, so send only the ones you are changing. Unknown keys are ignored, which is what lets you send back an object you read from the API without stripping itsclientSecretPreviewfirst.Show 4 propertiesHide 4 properties
tenantIdstringThe Azure AD directory (tenant) id. Required when
authTypeisAZURE_AD.clientIdstringThe OAuth client id. Required when
authTypeisAZURE_ADorOAUTH_CLIENT_CREDENTIALS.clientSecretstringThe OAuth client secret. Write-only: it is never returned, and
clientSecretPreviewcomes back in its place. Omit this field to leave the stored secret exactly as it is, or send a new value to replace it. ChangingauthTypediscards the stored secret, so a new one must be sent in the same call.scopestringThe OAuth scope to request. Required when
authTypeisAZURE_AD.
commandstring | nullThe command that launches the server. Required when
transportisSTDIO, and cleared otherwise.argslist of stringsThe arguments passed to
command.STDIOtransport only. This list is stored as a whole rather than appended to.
Response
Create Server succeeded.
successbooleanIndicates if the request was successful.
dataobjectA reference to an MCP server by its id.
Show 1 propertyHide 1 property
idstringThe id of the MCP server, generated by Confident AI.
deprecatedbooleanIndicates if this endpoint is deprecated.