OverviewIntroduction

MCP Platform

Connect an AI client to the Mythic Analytics MCP server, and — for platform admins — register upstream MCP servers, manage discovered tools, control per-agency access, and provision gateway API keys.

Connect an AI client

Point your MCP client — Claude, Cursor, TypingMind, or any other — at the Settings Server, the hosted server carrying the full agency tool surface:

https://mythic-mcp-server-production.up.railway.app/mcp

Use the Streamable HTTP transport and send an mcp_ key as Authorization: Bearer mcp_.... Full setup, client pinning, and the select-a-client flow: Connect an AI client.

This is the only URL an AI client connects to. The worker host further down this page serves the management API and the upstream-tool gateway — it is a plain request/response JSON-RPC endpoint, not an MCP transport, and a client that opens a connection with GET gets a 404 from it.

Overview

The MCP Platform has three surfaces:

  • A management API under /admin/mcp for registering upstream MCP servers, probing them for tools, controlling which agencies may use each server and tool, and provisioning gateway API keys. It is authenticated with a Supabase session JWT for an allowlisted admin account.
  • A gateway at POST /mcp on the worker host, speaking JSON-RPC 2.0. It proxies the tools of registered upstream MCP servers to a caller holding an mcp_ API key — one request object per HTTP call, with no session and no event stream. Reach for it from your own backend code, not from an AI client. See MCP Gateway.
  • A hosted Settings Server exposing the full agency product surface — 204 tools across 25 scope families — to any MCP client, with a select-a-client session flow. It uses the same mcp_ keys and scopes. See Connect an AI client.

Management API & gateway base URL

The management API and the upstream-tool gateway share the same worker host.

https://mythic-analytics.gulp.workers.dev

Management endpoints are mounted under /admin/mcp (for example /admin/mcp/servers). The gateway is a single endpoint at POST /mcp. Neither is the URL an AI client connects to — that is the Settings Server.

Response envelope

Management endpoints return a small JSON envelope — there is no success or count wrapper on reads.

dataobject|array

Resource payload. An array for list endpoints, an object for single-resource endpoints. Present on successful reads, creates, and updates.

successboolean

Returned as true by delete endpoints and by the server probe endpoint.

warningstring

Returned alongside data when creating an API key, reminding you the raw key is shown only once.

errorsarray

Returned by bulk agency-access updates when some entries were rejected. Each item is { agency_id, error }.

errorstring

Error message. This is the only field on a failed request.

Key concepts

ConceptDescription
MCP ServerA registered upstream server that exposes tools over MCP. A server is either platform-wide (agency_id is null) or owned by one agency.
ToolA capability discovered on a server by probing. Tools are never created directly — they come from initialize + tools/list.
Agency accessPer-agency enable/disable rules on a server or tool. When no record exists, access defaults to enabled.
API keyAn mcp_ credential scoped to one agency and one location, used to authenticate against the gateway.
Scope prefixOptional namespace on a server, mapping its tools to a <prefix>:call scope for gateway keys.

Access model

Management endpoints control access at the agency level (mcp_server_agency_access, mcp_tool_agency_access). Per-location (client) tool access is a separate concern configured through the agency Builder API, not through /admin/mcp.

Error handling

StatusMeaning
400Missing required field, invalid URL, blocked header, invalid scope_prefix, or nothing to update
401Session token missing, invalid, or not on the admin allowlist
404Server or tool not found
502Upstream MCP server unreachable or probe failed
500Internal error

On failure, read the error string in the response body together with the HTTP status. There is no success: false envelope on errors.