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:
| Fact | Value |
|---|---|
| Server URL | https://app.amdahl.ai/mcp |
| Transport | Streamable HTTP |
| Auth | Authorization: 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:
{
"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; addagentsandevalsfor 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:
Authorization: Bearer $AMDAHL_KEYX-API-Key: $AMDAHL_KEYThe 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
-32000error: 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
- Connect your agent (MCP) — desktop clients (Claude, Cursor), the three tools in detail, and the headless curl.
- Authentication — key bundles and what each one reaches.
- Tool catalog — every operation, its scopes, and its required role.