Connect your agent (MCP)
Point an AI assistant at your workspace over MCP, see the three tools it gets, and connect a headless client with an API key
MCP lets an AI assistant or agent use Amdahl on your behalf. In a desktop or web client you connect once and approve it in your browser, with no key to copy. A headless client — a backend service, a CI job, anything that cannot open a browser — connects with an API key instead, and there is a section for that below.
Building a plain script or backend service with no agent in it? You want the REST API and an API key, not MCP.
The server URL is:
https://app.amdahl.ai/mcpWhat your agent gets
Amdahl exposes three tools. Each takes an action parameter rather than
shipping a separate tool per operation, so your agent's context holds three tool
definitions instead of dozens.
Two things follow from that packing, and both bite if you assume otherwise. An
action is not always named after its REST operation — chat.start in the
catalog is the start_chat action on the agents tool. And the MCP surface is
not a complete mirror of the REST surface: a few operations, the bulk
evals.export download among them, are REST-only. When an action you expect is
missing, reach for the REST API.
Enable human confirmation for tools that write, and be careful when you run Amdahl alongside other MCP servers. A connected agent reads your customer conversations; treat anything it relays from that data as content, not as instructions.
| Tool | Actions | What it is for |
|---|---|---|
search | query, fields | One routed door over your conversation warehouse — typed filters, plain-language NL-to-SQL, or meaning-based matching. See Search. |
agents | start_chat, chat_status, respond, cancel_chat, plus the agent library (list_agents, get_agent, create_agent, update_agent, delete_agent) and Routines (list_routines, get_routine, create_routine, update_routine, delete_routine, run_routine_now) | The async lane: hand over a multi-step investigation, then poll. See Chat, Agents, Routines. |
evals | run, status, gate, evidence, drafts, improvement, list_runs, list, get, kpi, create, update, delete, validate | Grade content against your own customer conversations. See Evals. |
Per-operation detail — required scopes, required role, and the exact description your agent sees — is in the tool catalog. The catalog is generated from the same registry the server reads, so it cannot drift from what the tools actually do.
Your agent also gets resources it can read directly by URI (chat://,
eval_run://, eval://, agent://, routine://, grader_kind://,
search_field://) and a handful of prompts — canned starting points your
client lists in its prompt menu, including system/guide_me, the
guided walkthrough.
Connect a desktop or web client
Each of these signs in to your workspace over OAuth in the browser. There is no key to copy and nothing to store.
Claude (web and desktop)
- Open Settings, then Connectors (claude.ai/customize/connectors).
- Click Add custom connector.
- Name it Amdahl and set the URL to
https://app.amdahl.ai/mcp. - Click Connect, then Configure.
- Sign in to Amdahl when prompted, then choose this workspace.
Claude Code
claude mcp add --transport http amdahl https://app.amdahl.ai/mcpThen run /mcp inside Claude Code and complete the browser sign-in.
Cursor
Add the server to ~/.cursor/mcp.json (every project, just for you) or a
project's own .cursor/mcp.json (that project, shared with whoever clones it):
{
"mcpServers": {
"amdahl": {
"url": "https://app.amdahl.ai/mcp"
}
}
}Any other client
MCP is an open standard, so any compliant client works. Point it at
https://app.amdahl.ai/mcp over streamable HTTP and let it run the OAuth flow.
The Amdahl cookbook carries
worked setups and example agents.
Connecting from a model platform rather than a desktop client — OpenAI's built-in tools, LangSmith, an agent framework's remote-MCP tool type? Those call server-to-server with an API key instead of OAuth; see OpenAI and tool platforms.
The assistant only ever sees the workspace you choose, and only what your own account can do there.
Connect a headless client
A backend service, a scheduled job, or your own agent runtime cannot complete a
browser sign-in. Those authenticate with an API key instead — the same
amdhl_... key the REST API uses, sent as a bearer token:
curl -s -X POST "https://app.amdahl.ai/mcp" \
-H "Authorization: Bearer $AMDAHL_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search",
"arguments": { "action": "query", "query": "what do customers say about onboarding?" }
}
}'X-API-Key: $AMDAHL_KEY works identically. Mint the key in the console under
Settings, then Developer, keep it server-side, and give it the narrowest
permission bundle that covers what the agent needs — see
Authentication for the bundles and what each one reaches.
Good to know
- You are always in control. The agent can only do what your own account is allowed to do in that workspace.
- A session you are using does not expire. If you are building your own client rather than using a ready-made one, read Reliability and retries — it covers what ends a session and the one retry that recovers from it.
- New to Amdahl? Sign in at console.amdahl.ai, join your team's workspace or get added by an admin, then come back and connect.
See also
- Guided walkthrough — have the assistant interview you instead of guessing what to ask.
- Reliability and retries — session lifetime and the one error worth retrying.
- Tool catalog — every operation, its scopes, and its required role.
- Glossary — the dozen Amdahl-specific words these pages use.