curl --request POST \
--url 'https://api.flashcat.cloud/safari/mcp/server/update?app_key=' \
--header 'Content-Type: application/json' \
--data '
{
"server_id": "mcp-2b5e8d14a7c9",
"description": "Read issues, PRs, and commits from GitHub."
}
'import requests
url = "https://api.flashcat.cloud/safari/mcp/server/update?app_key="
payload = {
"server_id": "mcp-2b5e8d14a7c9",
"description": "Read issues, PRs, and commits from GitHub."
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
server_id: 'mcp-2b5e8d14a7c9',
description: 'Read issues, PRs, and commits from GitHub.'
})
};
fetch('https://api.flashcat.cloud/safari/mcp/server/update?app_key=', 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.flashcat.cloud/safari/mcp/server/update?app_key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'server_id' => 'mcp-2b5e8d14a7c9',
'description' => 'Read issues, PRs, and commits from GitHub.'
]),
CURLOPT_HTTPHEADER => [
"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.flashcat.cloud/safari/mcp/server/update?app_key="
payload := strings.NewReader("{\n \"server_id\": \"mcp-2b5e8d14a7c9\",\n \"description\": \"Read issues, PRs, and commits from GitHub.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.flashcat.cloud/safari/mcp/server/update?app_key=")
.header("Content-Type", "application/json")
.body("{\n \"server_id\": \"mcp-2b5e8d14a7c9\",\n \"description\": \"Read issues, PRs, and commits from GitHub.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flashcat.cloud/safari/mcp/server/update?app_key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"server_id\": \"mcp-2b5e8d14a7c9\",\n \"description\": \"Read issues, PRs, and commits from GitHub.\"\n}"
response = http.request(request)
puts response.read_body{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"data": {
"server_id": "mcp-2b5e8d14a7c9",
"account_id": 10023,
"team_id": 0,
"can_edit": true,
"server_name": "GitHub Tools",
"description": "Read issues, PRs, and commits from GitHub.",
"transport": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_TOKEN": "ghp_xxx"
},
"status": "enabled",
"connect_timeout": 10,
"call_timeout": 30,
"tool_count": 12,
"auth_mode": "shared",
"created_by": 80011,
"created_at": 1716960000000,
"updated_at": 1717046400000
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InvalidParameter",
"message": "The specified parameter skill_id is not valid."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "Unauthorized",
"message": "You are unauthorized."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "RequestTooFrequently",
"message": "Request too frequently."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InternalError",
"message": "We encountered an internal error, and it has been reported. Please try again later."
}
}Update MCP server
Edit an MCP server’s connection settings or reassign its owning team.
curl --request POST \
--url 'https://api.flashcat.cloud/safari/mcp/server/update?app_key=' \
--header 'Content-Type: application/json' \
--data '
{
"server_id": "mcp-2b5e8d14a7c9",
"description": "Read issues, PRs, and commits from GitHub."
}
'import requests
url = "https://api.flashcat.cloud/safari/mcp/server/update?app_key="
payload = {
"server_id": "mcp-2b5e8d14a7c9",
"description": "Read issues, PRs, and commits from GitHub."
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
server_id: 'mcp-2b5e8d14a7c9',
description: 'Read issues, PRs, and commits from GitHub.'
})
};
fetch('https://api.flashcat.cloud/safari/mcp/server/update?app_key=', 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.flashcat.cloud/safari/mcp/server/update?app_key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'server_id' => 'mcp-2b5e8d14a7c9',
'description' => 'Read issues, PRs, and commits from GitHub.'
]),
CURLOPT_HTTPHEADER => [
"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.flashcat.cloud/safari/mcp/server/update?app_key="
payload := strings.NewReader("{\n \"server_id\": \"mcp-2b5e8d14a7c9\",\n \"description\": \"Read issues, PRs, and commits from GitHub.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.flashcat.cloud/safari/mcp/server/update?app_key=")
.header("Content-Type", "application/json")
.body("{\n \"server_id\": \"mcp-2b5e8d14a7c9\",\n \"description\": \"Read issues, PRs, and commits from GitHub.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flashcat.cloud/safari/mcp/server/update?app_key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"server_id\": \"mcp-2b5e8d14a7c9\",\n \"description\": \"Read issues, PRs, and commits from GitHub.\"\n}"
response = http.request(request)
puts response.read_body{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"data": {
"server_id": "mcp-2b5e8d14a7c9",
"account_id": 10023,
"team_id": 0,
"can_edit": true,
"server_name": "GitHub Tools",
"description": "Read issues, PRs, and commits from GitHub.",
"transport": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_TOKEN": "ghp_xxx"
},
"status": "enabled",
"connect_timeout": 10,
"call_timeout": 30,
"tool_count": 12,
"auth_mode": "shared",
"created_by": 80011,
"created_at": 1716960000000,
"updated_at": 1717046400000
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InvalidParameter",
"message": "The specified parameter skill_id is not valid."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "Unauthorized",
"message": "You are unauthorized."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "RequestTooFrequently",
"message": "Request too frequently."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InternalError",
"message": "We encountered an internal error, and it has been reported. Please try again later."
}
}Restrictions
| Aspect | Value |
|---|---|
| Rate limits | 1,000 requests/minute; 50 requests/second per account |
| Permissions | None — any valid app_key can call this operation |
Usage
- Built-in MCP servers are read-only and cannot be modified.
- Every call is recorded in the account’s audit log.
Authorizations
App key issued from the Flashduty console under Account → APP Keys. Required on every public API call.
Body
Editable fields of an MCP server; omitted fields are left unchanged.
Identifier of the server to update.
New display name.
1 - 255New description.
1 - 1024New transport for the server.
stdio, sse, streamable-http New stdio executable.
New stdio arguments.
New stdio environment variables.
Show child attributes
Show child attributes
New endpoint URL for remote transports.
New HTTP headers for the remote endpoint.
Show child attributes
Show child attributes
New connection timeout in seconds.
New per-call timeout in seconds.
Reassign the server to this team; omit to leave unchanged, 0 for account scope.
New credential model.
New per-user secret JSON schema.
New OAuth metadata JSON.
Response
Success
Standard response envelope used by every Flashduty public API. On success data contains the endpoint-specific payload and error is absent. On failure error is present and data is absent. request_id is always present and is also mirrored in the Flashcat-Request-Id response header.
Unique ID for this request. Mirrored in the Flashcat-Request-Id header. Include it when reporting issues.
"01HK8XQE3Z7JM2NTFQ5YJ8P9R4"
Error payload inside the response envelope. Present only on non-2xx responses.
Show child attributes
Show child attributes
A configured MCP (Model Context Protocol) server the agent can call tools through.
Show child attributes
Show child attributes
Was this page helpful?