Create MCP Gateway from an API Proxy
Endpoint
POST /apiops/projects/{projectName}/apiProxies/{apiProxyName}/mcp-gateway/
Creates a new API proxy of type MCP in TOOL_EXPOSE mode whose exposedTools list is derived
from the endpoints of the REST/SOAP proxy named in the path. See
MCP Gateway for the concepts.
The source proxy is not converted in place: it keeps its type, routing, policies, credentials,
ACLs and deploy state, and keeps serving traffic exactly as before. TOOL_EXPOSE loops each tool
call back to it, so everything configured on the source proxy still applies to every MCP tool call.
Authentication
Requires a Personal API Access Token.
Header
Authorization: Bearer YOUR_TOKEN
Permission: API_MANAGEMENT × MANAGE.
Request
Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer {token} | Yes |
| Content-Type | application/json | No (the body itself is optional) |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| projectName | string | Yes | Project name |
| apiProxyName | string | Yes | Name of the source API proxy. Must be of type REST or SOAP. |
Request Body
The body is optional; every field in it is optional too.
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | No | Name of the MCP proxy to create. Blank defaults to <source name> MCP. |
| relativePath | string | No | Client-facing path of the MCP proxy. Blank defaults to <source relativePath>-mcp. |
| description | string | No | Description of the MCP proxy. Blank copies the source proxy's description. |
Full JSON Body Example
{
"name": "Orders MCP",
"relativePath": "/orders-mcp",
"description": "Orders API exposed as MCP tools"
}
Response
Success Response (200 OK)
{
"status": "SUCCESS",
"apiProxyName": "Orders MCP",
"relativePath": "/orders-mcp",
"sourceApiProxyName": "Orders API",
"deployed": false,
"resultCount": 3,
"resultList": [
{
"toolName": "list_orders",
"httpMethod": "GET",
"path": "/orders",
"description": "List all orders",
"schemaSource": "AUTO"
},
{
"toolName": "create_order",
"httpMethod": "POST",
"path": "/orders",
"description": "Create an order",
"schemaSource": "AUTO"
},
{
"toolName": "delete_orders_id",
"httpMethod": "DELETE",
"path": "/orders/{id}",
"schemaSource": "AUTO"
}
]
}
| Field | Description |
|---|---|
| apiProxyName | Name of the MCP proxy that was created |
| relativePath | Client-facing path of the created gateway |
| sourceApiProxyName | Name of the REST/SOAP proxy the tools loop back to |
| deployed | Always false — creation never deploys |
| resultList[].toolName | Published MCP tool name (normalized, unique within the catalog) |
| resultList[].httpMethod | Client-facing HTTP method of the source endpoint |
| resultList[].path | Source endpoint path (SOAP: the operation name) |
| resultList[].schemaSource | AUTO when the input schema is derived from the source proxy's specification at tools/list time, OVERRIDE when a schema is stored on the tool (SOAP sources) |
Creation does not deploy the proxy. Deploy it separately with
POST /apiops/projects/{projectName}/apiProxies/{apiProxyName}/environments/{environmentName}/.