mcp-servers

Check Workspace Mcp Server Connection

Changed on

Check connection details without storing them. Organization owners/admins or this workspace's owners/admins.

What a form's Test button calls before it saves. Answers with what a stored server's health would say, and records nothing. Pass server_id and omit authorization_token to test with that server's stored token. The URL is checked for SSRF safety first, with the same 400 a create gets.

post/api/v1/workspaces/{workspace_id}/mcp-servers/check

Request

  • The document declares no server URL.
  • Auth
    • API key in header Otari-Key
    • or API key in header x-api-key

Path parameters

workspace_idstring uuid required

Request body

allowed_toolsstring[] nullable

The allow-list to report the catalog against

authorization_tokenstring nullable

Bearer token; omit to use the stored server's, if any

server_idstring uuid nullable

A stored server whose token to use

urlstring required

Streamable HTTP MCP endpoint

Response

Successful Response

checked_atstring required
error'unsafe_url' | 'credentials_unavailable' | 'unreachable' | 'tls_failed' | 'timeout' | 'redirected' | 'unauthorized' | 'forbidden' | 'not_found' | 'server_error' | 'http_error' | 'not_mcp' | 'limits_exceeded' | 'connection_failed'

Why a stored server failed its connection check.

Stored on the server's row and shown to whoever manages it, so each value names a cause an operator can act on, and none carries anything the remote server said. The first two are decided before any connection is opened.

http_statusinteger nullable

The HTTP status the server refused with, if any

missing_allowed_toolsstring[]

Allow-listed names the server did not offer

status'healthy' | 'failing' required
tool_countinteger nullable

Live tools the allow-list admits; null when the check failed

toolsstring[]

Every tool name the server offers, allowed or not, up to 200; empty on a failure

Changes