Skip to main content
PATCH
/
projects
/
{projectId}
/
hosts
/
{hostId}
Update a host
curl --request PATCH \
  --url https://app.mcpjam.com/api/v1/projects/{projectId}/hosts/{hostId} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Claude (renamed)"
}
'
import requests

url = "https://app.mcpjam.com/api/v1/projects/{projectId}/hosts/{hostId}"

payload = { "name": "Claude (renamed)" }
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: 'Claude (renamed)'})
};

fetch('https://app.mcpjam.com/api/v1/projects/{projectId}/hosts/{hostId}', 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://app.mcpjam.com/api/v1/projects/{projectId}/hosts/{hostId}",
  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' => 'Claude (renamed)'
  ]),
  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://app.mcpjam.com/api/v1/projects/{projectId}/hosts/{hostId}"

	payload := strings.NewReader("{\n  \"name\": \"Claude (renamed)\"\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://app.mcpjam.com/api/v1/projects/{projectId}/hosts/{hostId}")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"name\": \"Claude (renamed)\"\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://app.mcpjam.com/api/v1/projects/{projectId}/hosts/{hostId}")

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\": \"Claude (renamed)\"\n}"

response = http.request(request)
puts response.read_body
{ "id": "<string>", "name": "<string>", "config": {} }

Authorizations

Authorization
string
header
required

MCPJam API key (sk_…). Create one at Settings → API keys. Guest sessions cannot use the API, and API keys cannot manage other API keys.

Path Parameters

projectId
string
required

ID of the hosted project that contains the server.

hostId
string
required

Host ID, as returned by the project's host list.

Body

application/json

Edit a host. Provide at least one of name or config; only the fields you pass change.

name
string
required

New display name.

config
object

Replacement host config v2.

Response

The updated host settings.

A host plus its resolved host config (model, capabilities, host context, MCP profile).

id
string
required
name
string
required
config
object
required

Host config v2 DTO. Opaque object; shape mirrors the inspector's host editor.