Skip to main content
POST
Create MCP server

Restrictions

Usage

  • command/args/env apply to stdio; url/headers apply to sse/streamable-http.
  • Server name must start with a letter and contain only letters, digits, -, or _, and is unique within the account (case-insensitive); violations return InvalidParameter.
  • environment_kind accepts only byoc (with environment_id) or empty for automatic selection — cloud cannot be bound directly to an MCP server.
  • per_user_secret auth mode requires secret_schema to be valid JSON with a non-empty header_name.
  • 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

Configuration for a new MCP server.

server_name
string
required

MCP server name, unique within the account.

Required string length: 1 - 255
description
string
required

Server description.

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

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.

status
enum<string>
default:enabled

Initial status.

Available options:
enabled,
disabled
team_id
integer<int64>

Team scope: 0 = account-wide; >0 = team.

environment_kind
enum<string>

Pin the server to a specific BYOC runner (environment_id required). Omit or send empty for automatic selection; cloud is not supported for MCP servers.

Available options:
byoc
environment_id
string

Runner ID; required when environment_kind is byoc.

allow_insecure_oauth_http
boolean

Allow this server's OAuth token exchange over plaintext HTTP. Testing use only; defaults to false.

allow_insecure_tls_skip_verify
boolean

Skip TLS certificate verification when connecting to this server. Testing use only; defaults to false.

source_template_name
string

Marketplace template name when created from a connector template.

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.