---
title: "Generate an MCP Gateway from an existing API Proxy"
method: POST
path: "/apiops/projects/{projectName}/apiProxies/{apiProxyName}/mcp-gateway/"
tags: ["ApiProxy"]
---

# Generate an MCP Gateway from an existing API Proxy

`POST /apiops/projects/{projectName}/apiProxies/{apiProxyName}/mcp-gateway/`

## Request

- Base URL: `http://167.86.118.166:32080`
- URL: `http://167.86.118.166:32080/apiops/projects/{projectName}/apiProxies/{apiProxyName}/mcp-gateway/`
- Auth: none declared
- TypeScript: <https://skmtc.dev/apinizer/apis/apinizer-management-apis/docs/apiops/projects/:projectName/apiProxies/:apiProxyName/mcp-gateway/post.ts> (a function with typed inputs; its response is checked against the schema)

Permission: API_MANAGEMENT or AI_DEVELOPMENT × MANAGE. Creates a NEW MCP (Model Context Protocol) API Proxy next to an existing REST or SOAP API Proxy, exposing each of its endpoints as an MCP tool (routingMode TOOL_EXPOSE, looping back to the source proxy). The source proxy is left untouched: it is not retyped, not modified and not redeployed. The generated gateway is created UNDEPLOYED — deploy it with a separate call once the tool list has been reviewed. Body fields are optional: a blank name defaults to '<source name> MCP' and a blank relativePath to '<source relativePath>-mcp'. Only REST and SOAP source proxies are supported; a source with no endpoint is rejected.

## Path parameters

- `projectName` string, required
- `apiProxyName` string, required

## Request body

- ApiOpsMcpGatewayCreateDTO: Optional overrides: name, relativePath, description of the MCP proxy to create.
  - `name` string
  - `relativePath` string
  - `description` string

## Response `200`

successful operation!

- ApiOpsResponseMcpGateway
  - `status` 'SUCCESS' | 'FAILURE'
  - `resultMessage` string
  - `resultList` McpGatewayToolDTO[]
    - `toolName` string
    - `httpMethod` string
    - `path` string
    - `description` string
    - `schemaSource` 'AUTO' | 'OVERRIDE'
  - `resultCount` integer
  - `apiProxyName` string
  - `relativePath` string
  - `sourceApiProxyName` string
  - `deployed` boolean

## Other responses

- `401`: not authorized for this operation!
- `500`: internal error!

## Changes

- **2026-09-22** `c036734f4714`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/apinizer/apis/apinizer-management-apis/changes/apiops/projects/:projectName/apiProxies/:apiProxyName/mcp-gateway/post.md)

---

[API](https://skmtc.dev/apinizer/apis/apinizer-management-apis.md) - [All operations](https://skmtc.dev/apinizer/apis/apinizer-management-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/apinizer/apis/apinizer-management-apis/revisions/e083046b24cd?raw)
