Skip to main content
POST
/
safari
/
mcp
/
server
/
update
Update MCP server
curl --request POST \
  --url 'https://api.flashcat.cloud/safari/mcp/server/update?app_key=' \
  --header 'Content-Type: application/json' \
  --data '
{
  "server_id": "mcp_4kP9wQ2nLceRtY7uVb3xA1",
  "description": "Query Prometheus metrics, alerts, and rules."
}
'
{
  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
  "data": {
    "server_id": "mcp_4kP9wQ2nLceRtY7uVb3xA1",
    "account_id": 10023,
    "team_id": 0,
    "can_edit": true,
    "server_name": "prometheus",
    "description": "Query Prometheus metrics, alerts, and rules.",
    "transport": "streamable-http",
    "url": "https://mcp.example.com/prometheus",
    "status": "enabled",
    "connect_timeout": 10,
    "call_timeout": 60,
    "tool_count": 2,
    "tools": [
      {
        "name": "query",
        "description": "Run a PromQL instant query."
      },
      {
        "name": "query_range",
        "description": "Run a PromQL range query."
      }
    ],
    "auth_mode": "shared",
    "created_by": 80011,
    "created_at": 1716960000000,
    "updated_at": 1717046400000
  }
}

Restrictions

AspectValue
Rate limits1,000 requests/minute; 50 requests/second per account
PermissionsMCP Manage (ai-sre)

Usage

  • Masked secret values in env/headers are preserved — sending the masked value back does not overwrite the stored secret.
  • Every call is recorded in the account audit log.

Authorizations

app_key
string
query
required

App key issued from the Flashduty console. Required on every public API call. Keep it secret — it grants the same access as the owning account.

Body

application/json

Partial update of an MCP server. Omit a field to leave it unchanged.

server_id
string
required

Target MCP server ID.

server_name
string

New name.

Required string length: 1 - 255
description
string

New description.

Required string length: 1 - 1024
transport
enum<string>

Transport protocol.

Available options:
stdio,
sse,
streamable-http
command
string

Executable command (stdio transport).

args
string[]

Command arguments (stdio transport).

env
object

Environment variables (stdio transport).

url
string

Server URL (sse / streamable-http transport).

headers
object

HTTP headers (sse / streamable-http).

connect_timeout
integer

Connection timeout in seconds. 0 = default (10s).

call_timeout
integer

Tool-call timeout in seconds. 0 = default (60s).

auth_mode
string

Authentication mode: shared (default), per_user_secret, or per_user_oauth.

secret_schema
string

JSON secret schema; required when auth_mode=per_user_secret.

oauth_metadata
string

JSON OAuth metadata; reserved for per_user_oauth.

team_id
integer<int64> | null

Reassign team scope: 0 = account-wide; >0 = team. Omit to leave unchanged.

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.

request_id
string
required

Unique ID for this request. Mirrored in the Flashcat-Request-Id header. Include it when reporting issues.

Example:

"01HK8XQE3Z7JM2NTFQ5YJ8P9R4"

error
object

Error payload inside the response envelope. Present only on non-2xx responses.

data
object

An MCP server (connector) registered on the account.