Docs

OpenAI and tool platforms

Add Amdahl as a remote MCP tool in OpenAI's built-in tools, LangSmith, or any platform that hosts models and calls MCP servers for them

Model platforms — the OpenAI Playground and Responses API, LangSmith, agent frameworks with a "remote MCP server" tool type — call Amdahl server-to-server on your behalf. There is no browser in that loop, so the OAuth flow desktop clients use does not apply: these platforms authenticate with an Amdahl API key sent as a bearer token.

Every setup below is the same three facts in that platform's syntax:

FactValue
Server URLhttps://app.amdahl.ai/mcp
TransportStreamable HTTP
AuthAuthorization: Bearer $AMDAHL_KEY (an amdhl_... API key)

Mint the key in the console under Settings, then Developer. It is shown once; store it in the platform's secret manager, never in a shared prompt or config you would paste into a ticket.

The platform's model calls Amdahl with this key on every run, from their infrastructure. Give it the narrowest bundle that covers the job — Read only for a model that should only query, Customer agent (the default) when it should also start chats, run evals, or write. See Authentication for what each bundle reaches.

OpenAI built-in tools

In the OpenAI Playground, add a tool, choose OpenAI built-in, then MCP, and fill in the config. The same JSON block works in the Responses API's tools array:

json
{
  "type": "mcp",
  "server_label": "amdahl",
  "server_url": "https://app.amdahl.ai/mcp",
  "authorization": "$AMDAHL_KEY"
}

The authorization value reaches Amdahl as an Authorization: Bearer header, which is exactly how an amdhl_... key authenticates — paste the bare key, with no Bearer prefix of your own.

Two knobs worth setting:

  • Secrets. In the Playground, reference a workspace secret instead of pasting the key inline: "authorization": "{{AMDAHL_KEY}}" (create the secret under Manage Secrets). In API calls, interpolate it from your own environment.
  • Tool scoping. Amdahl exposes exactly three tools — search, agents, evals (see Connect your agent for what each does). If the platform supports an allowed-tools list, ["search"] alone gives the model fast read-only lookups; add agents and evals for investigations and grading.

OpenAI's MCP tool also takes a require_approval setting. search with a read-only key is safe to run unattended; keep approval on for agents and evals actions when the key can write.

LangSmith and other platforms

Any platform with a remote MCP tool type takes the same three facts. In LangSmith's Playground, add a tool, choose MCP, and fill in the server URL and an authorization (or headers) field the same way; reference the key through the platform's secret syntax where one exists.

Where the platform asks for raw headers instead of an authorization field, either form works identically:

code
Authorization: Bearer $AMDAHL_KEY
code
X-API-Key: $AMDAHL_KEY

The workspace the key was minted in is the workspace the model sees — nothing else.

Good to know

  • Rate limit. Production allows 60 requests per minute per source IP. A platform fanning out many parallel tool calls can hit it; the response is a plain HTTP 429, and spacing calls out resolves it.
  • Request size. Tool-call bodies over 1 MB are rejected.
  • Sessions. MCP sessions expire after 2 hours idle. A stateless caller that reuses an old session id gets a JSON-RPC -32000 error: reinitialize and replay once, never retry in a loop. Details in Reliability and retries.
  • Verify it works. Ask the model something only your workspace can answer ("what do customers say about onboarding?") — a generic web answer means the tool is not being called; a quote-backed answer means it is.

See also