Test an MCP server connection and list its tools
Opens a live connection to an MCP server using exactly the credential resolution a session would use, and returns the tools it advertises. A server that cannot be reached or authenticated is still HTTP 200 with ok=false, so inspect that field rather than relying on the status code. Pass vault_ids to probe authenticated; omit them to probe anonymously.
Authorizations
A Recursion API key, created in the console under API keys.
Body
Request body for a live connection test against an MCP server, running the same credential resolution a session would. An unreachable server is reported in the response body, not as an HTTP error.
Response
Response body of POST /v1/mcp/probe: the result of one live connection attempt to an MCP server, run through the same URL and vault resolution a real session uses. This envelope is a verdict rather than a resource: a server that is down is still HTTP 200 with ok=false, so a caller can distinguish "the server you configured is unreachable" from "this API is unreachable". Nothing is persisted by a probe.
Response body of POST /v1/mcp/probe: the result of one live connection attempt to an MCP server, run through the same URL and vault resolution a real session uses. This envelope is a verdict rather than a resource: a server that is down is still HTTP 200 with ok=false, so a caller can distinguish "the server you configured is unreachable" from "this API is unreachable". Nothing is persisted by a probe.
True when a credential from the named vaults was opened and attached to the request. It reports whether this attempt was authenticated, not whether a credential exists: a credential that matched the server URL but could not be opened reports false and sets credential_unopenable, because nothing was sent.
True when a deployment-owned access-token policy authorizes this endpoint for the organization and each request mints a token for the deployment's reader identity. Distinct from credential_matched: no vault credential is involved. For endpoints that answer discovery unauthenticated (Google hosted MCPs), a green tool list proves connectivity and discovery, not provider-side IAM — only a real tool call does.
True when the server completed the handshake and returned a tool list.
True when the handshake succeeded, even if listing tools then failed.
Tools the server advertised on this attempt. Always an array and never null: empty means the handshake succeeded but the server offered no tools, or listing them failed, which is what ok=false plus reachable=true reports.
Set when a credential matched this server URL and could not be opened, so the request carried no auth header. external_reference means the material is held outside this service and must be re-entered here; material_missing means the credential row carries no stored value. Empty when none matched or the match was usable.
external_reference, material_missing Operator-facing diagnostic when the probe failed. Never contains credential material.
The MCP protocol version used.
What the server called itself during the handshake, which is how an operator confirms the URL reached the intended service.