---
title: "Update Environment MCP"
method: PATCH
path: "/v1/environments/{environmentId}/mcps/{id}"
tags: ["Environments"]
---

# Update Environment MCP

`PATCH /v1/environments/{environmentId}/mcps/{id}`

Updates an MCP. Only provided fields are changed. When changing `transport`, `config` is required and must match the new transport's shape.

## Path parameters

- `environmentId` string, required
- `id` string, uuid, required

## Request body

- UpdateEnvironmentMcpRequest — Request body for updating an MCP. Only provided fields are changed. When `transport` is changed, `config` is required and must match the new transport's shape.
  - `name` string
  - `transport` 'stdio' | 'http' | 'sse'
  - `config` union — MCP transport-specific configuration. Discriminate by the parent `transport` field.
    - EnvironmentMcpStdioConfig — Configuration for an MCP that runs a local subprocess (`transport: stdio`).
      - `command` string, required — Executable to run (e.g. `npx`)
      - `args` string[], required — Arguments passed to the command
      - `env` object, required — Environment variables for the subprocess
    - EnvironmentMcpHttpConfig — Configuration for an MCP reached over HTTP or SSE (`transport: http` or `transport: sse`).
      - `url` string, uri, required — MCP server URL
      - `headers` object, required — Headers attached to every request (e.g. `Authorization`)

## Response `200`

MCP updated

- EnvironmentMcpResponse
  - `environment_mcp` EnvironmentMcp, required — An MCP (Model Context Protocol) server attached to an environment.
    - `id` string, uuid, required
    - `organization_id` string, uuid, required
    - `environment_id` string, uuid, required
    - `name` string, required — MCP name (1–64 chars, must match `^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$`; cannot start with reserved prefix `replicas-`)
    - `transport` 'stdio' | 'http' | 'sse', required
    - `config` union, required — MCP transport-specific configuration. Discriminate by the parent `transport` field.
      - EnvironmentMcpStdioConfig — Configuration for an MCP that runs a local subprocess (`transport: stdio`).
        - `command` string, required — Executable to run (e.g. `npx`)
        - `args` string[], required — Arguments passed to the command
        - `env` object, required — Environment variables for the subprocess
      - EnvironmentMcpHttpConfig — Configuration for an MCP reached over HTTP or SSE (`transport: http` or `transport: sse`).
        - `url` string, uri, required — MCP server URL
        - `headers` object, required — Headers attached to every request (e.g. `Authorization`)
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Other responses

- `400` — Bad request - Missing or invalid parameters
- `401` — Unauthorized - Invalid or missing API key
- `404` — Resource not found
- `409` — Conflict - Resource already exists or operation conflicts with current state
- `500` — Internal server error

---

[API](https://skmtc.net/tryreplicas/apis/replica-api.md) · [All operations](https://skmtc.net/tryreplicas/apis/replica-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tryreplicas/replica-api/versions/aa3b4c932f7a/schema)
