Create MCP
Create MCP
Supports creating an MCP under a specified organization and fetching the tools exposed by the MCP Server.
You can use this endpoint to create an MCP under a specified organization and fetch the tools exposed by the MCP Server.
Request Method
POST
Request URL
https://api.${endpoint}/v1/org/mcp/create
Request Authentication
Uses account-level DevKey / DevSecret Basic authentication, and requires the calling account to have organization MCP creation permission.
Request
Request Example
curl -X POST 'https://api.${endpoint}/v1/org/mcp/create' \
-H 'Authorization: Basic ${BASIC_TOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"org_id": "p-xxxx",
"name": "crm-mcp",
"display_name": "CRM MCP",
"description": "CRM MCP server",
"logo": "https://cdn.example.com/mcp.png",
"url": "https://mcp.example.com/sse",
"show_request": true,
"mcp_transport_type": "SSE",
"headers": [{"key": "Authorization", "value": "Bearer token"}],
"queries": [{"key": "tenant", "value": "demo"}]
}'
curl -X POST 'https://api.${endpoint}/v1/org/mcp/create' \
-H 'Authorization: Basic ${BASIC_TOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"org_id": "p-xxxx",
"name": "crm-mcp",
"display_name": "CRM MCP",
"description": "CRM MCP server",
"logo": "https://cdn.example.com/mcp.png",
"url": "https://mcp.example.com/sse",
"show_request": true,
"mcp_transport_type": "SSE",
"headers": [{"key": "Authorization", "value": "Bearer token"}],
"queries": [{"key": "tenant", "value": "demo"}]
}'
This code block in the floating window
Request Headers
| Field | Type | Description |
|---|---|---|
| Authorization | Basic ${BASIC_TOKEN} | The Basic Token obtained by Base64-encoding DevKey:DevSecret. |
| Content-Type | application/json | Request body format. |
Request Parameters (Body Parameters)
| Parameter | Type | Description | required |
|---|---|---|---|
| org_id | String | Organization ID. | true |
| name | String | MCP name, up to 20 characters. | true |
| display_name | String | MCP display name, up to 50 characters. | false |
| description | String | MCP description, up to 100 characters. | true |
| logo | String | MCP icon URL. | true |
| url | String | MCP Server URL, must be a public http/https address. |
true |
| show_request | Boolean | Whether to display the request content during the call. | true |
| mcp_transport_type | String | MCP transport type, supports SSE, STREAMABLE_HTTP. |
true |
| headers | Object[] | MCP request headers, up to 10; each item contains key and value. |
false |
| queries | Object[] | MCP query parameters, up to 30; each item contains key and value. |
false |
Response
Response Example
{
"code": 0,
"message": "OK",
"data": {
"mcp_id": "mcp-xxxx",
"available": true,
"action_count": 3
}
}
{
"code": 0,
"message": "OK",
"data": {
"mcp_id": "mcp-xxxx",
"available": true,
"action_count": 3
}
}
This code block in the floating window
Success Response
| Field | Type | Description |
|---|---|---|
| mcp_id | String | The newly created MCP ID. |
| available | Boolean | Whether the MCP is available. |
| action_count | Integer | Number of Actions fetched. |
Failure Response
| Field | Type | Description |
|---|---|---|
| code | Integer | Error code. |
| message | String | Error details. |
Status Codes
| Status Code | Description |
|---|---|
| 200 | Success |
| 400 | Parameter error |
| 401 | Unauthorized |
| 403 | Insufficient permissions |
| 429 | Too many requests |
| 500 | Server error |
