MCP Servers

Administrators can register external MCP servers that provide additional tools for agent chat sessions. Configured servers are injected into or offered to users during chat depending on the availability policy.

This is an admin-only feature accessible at Agents > Settings > MCP Servers.

Add an MCP server

  1. Navigate to Agents > Settings > MCP Servers.
  2. Click Add.
  3. Fill in the configuration fields described below.
  4. Click Save.

Identity

FieldRequiredDescription
display_nameYesHuman-readable name shown to users in chat.
slugYesURL-safe unique identifier, auto-generated from display name.
descriptionNoBrief summary of what the server provides.
icon_urlNoEmoji or image URL displayed alongside the server name.

Connection

FieldRequiredDescription
urlYesThe MCP server endpoint URL.
transportYesTransport protocol. streamable_http or sse.

Availability

FieldRequiredDescription
enabledNoMaster toggle. Disabled servers are hidden from non-admin users.
availabilityYesControls how the server appears in chat sessions. See Availability policies.
model_intentNoWhen enabled, requires the model to describe each tool call's purpose in natural language, shown as a status label in the UI.

Availability policies

PolicyBehavior
force_onAlways injected into every chat. Users cannot opt out.
default_onPre-selected in new chats. Users can opt out.
default_offAvailable in the server list but users must opt in.

Authentication

Each MCP server uses one of four authentication modes. When you change the auth type, fields from the previous type are automatically cleared.

Secrets are never returned in API responses — boolean flags indicate whether a value is set.

None

No credentials are sent. Use this for servers that do not require authentication.

OAuth2

Per-user authorization. The administrator configures the OAuth2 provider, and each user independently completes the authorization flow.

Manual configuration — provide all three fields together:

FieldDescription
oauth2_client_idOAuth2 client ID.
oauth2_auth_urlAuthorization endpoint URL.
oauth2_token_urlToken endpoint URL.

Optional fields:

FieldDescription
oauth2_client_secretOAuth2 client secret.
oauth2_scopesSpace-separated list of scopes.

Auto-discovery — leave oauth2_client_id, oauth2_auth_url, and oauth2_token_url empty. The server attempts discovery in this order:

  1. RFC 9728 — Protected Resource Metadata
  2. RFC 8414 — Authorization Server Metadata
  3. RFC 7591 — Dynamic Client Registration

Users connect through a popup that redirects through the OAuth2 provider. Tokens are stored per-user and refreshed automatically. Users can disconnect via the UI or API to remove stored tokens.

API key

A static key sent as a header on every request.

FieldRequiredDescription
api_key_headerYesHeader name (e.g., Authorization).
api_key_valueYesSecret value sent in the header.

Custom headers

Arbitrary key-value header pairs sent on every request. At least one header is required when this mode is selected.

Tool governance

Control which tools from a server are available in chat:

FieldDescription
tool_allow_listIf non-empty, only the listed tool names are exposed. An empty list allows all tools.
tool_deny_listListed tool names are always blocked, even if they appear in the allow list.

Permissions

ActionRequired role
Create, update, or deleteAdmin (deployment config)
View enabled serversAny authenticated user
OAuth2 connect and disconnectAny authenticated user

Non-admin users only see enabled servers. Sensitive fields such as API keys and client secrets are redacted in API responses.