Update environment MCP
curl --request PATCH \
--url https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"config": {
"command": "<string>",
"args": [
"<string>"
],
"env": {}
}
}
'import requests
url = "https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id}"
payload = {
"name": "<string>",
"config": {
"command": "<string>",
"args": ["<string>"],
"env": {}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', config: {command: '<string>', args: ['<string>'], env: {}}})
};
fetch('https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'config' => [
'command' => '<string>',
'args' => [
'<string>'
],
'env' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"config\": {\n \"command\": \"<string>\",\n \"args\": [\n \"<string>\"\n ],\n \"env\": {}\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"config\": {\n \"command\": \"<string>\",\n \"args\": [\n \"<string>\"\n ],\n \"env\": {}\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"config\": {\n \"command\": \"<string>\",\n \"args\": [\n \"<string>\"\n ],\n \"env\": {}\n }\n}"
response = http.request(request)
puts response.read_body{
"environment_mcp": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"transport": "stdio",
"config": {
"command": "<string>",
"args": [
"<string>"
],
"env": {}
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"oauth": {
"status": "disconnected",
"reason": "<string>"
}
}
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}Environment MCPs
Update environment MCP
Updates only the fields you send. Changing transport requires a matching config.
PATCH
/
v1
/
environments
/
{environment_id}
/
mcps
/
{id}
Update environment MCP
curl --request PATCH \
--url https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"config": {
"command": "<string>",
"args": [
"<string>"
],
"env": {}
}
}
'import requests
url = "https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id}"
payload = {
"name": "<string>",
"config": {
"command": "<string>",
"args": ["<string>"],
"env": {}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', config: {command: '<string>', args: ['<string>'], env: {}}})
};
fetch('https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'config' => [
'command' => '<string>',
'args' => [
'<string>'
],
'env' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"config\": {\n \"command\": \"<string>\",\n \"args\": [\n \"<string>\"\n ],\n \"env\": {}\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"config\": {\n \"command\": \"<string>\",\n \"args\": [\n \"<string>\"\n ],\n \"env\": {}\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replicas.dev/v1/environments/{environment_id}/mcps/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"config\": {\n \"command\": \"<string>\",\n \"args\": [\n \"<string>\"\n ],\n \"env\": {}\n }\n}"
response = http.request(request)
puts response.read_body{
"environment_mcp": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"transport": "stdio",
"config": {
"command": "<string>",
"args": [
"<string>"
],
"env": {}
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"oauth": {
"status": "disconnected",
"reason": "<string>"
}
}
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}Authorizations
Organization or personal API key from Settings → API Keys.
Headers
API version. 2026-10-07 returns snake_case responses. See versioning.
Available options:
2026-10-07 Path Parameters
Environment UUID, or the literal string global.
MCP UUID
Body
application/json
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.
Response
MCP updated
An MCP (Model Context Protocol) server attached to an environment.
Show child attributes
Show child attributes
⌘I