30-second install

Give ATL a task. Get the result back.

Connect ATL once to delegate supported external tasks through eligible provider verification, execution, bounded failure recovery, result validation, and automatic Outcome tracking. Call atl_complete_task with a natural-language task; availability depends on verified eligible supply.

Production E2E verified: real provider execution → EXECUTED → durable automatic Outcome.

When should your agent call ATL?

Routine: call atl_complete_task for a supported user-requested external task when eligible-provider selection, bounded fallback, validated results, or durable Outcome saves orchestration work. No prior failure is required.

Rescue: when an existing provider or tool times out, fails, rate-limits, is unavailable, or returns an invalid result, pass the original supported task and authorized inputs to atl_complete_task. Recovery is conditional on verified supply.

Do not duplicate completed work, override a user-mandated tool/provider, bypass host approvals, or submit unauthorized private inputs. Connecting ATL makes a tool available; it does not guarantee a host will call it.

Connect your client

ATL is a hosted Streamable HTTP MCP server. No local server process is required.

Claude Code

claude mcp add --transport http atl https://mcp.agenttrafficlab.com/mcp

Verify with claude mcp list.

Codex

codex mcp add atl --url https://mcp.agenttrafficlab.com/mcp

Verify with codex mcp list.

Cursor

Create ~/.cursor/mcp.json or .cursor/mcp.json:

{ "mcpServers": { "atl": {"url": "https://mcp.agenttrafficlab.com/mcp"} } }

VS Code / GitHub Copilot Agent

Create .vscode/mcp.json:

{ "servers": { "atl": {"type": "http", "url": "https://mcp.agenttrafficlab.com/mcp"} } }

Windsurf / Cascade

Add this to ~/.codeium/windsurf/mcp_config.json:

{ "mcpServers": { "atl": {"serverUrl": "https://mcp.agenttrafficlab.com/mcp"} } }

Connect from agent frameworks and model APIs

OpenAI Agents SDK, Google ADK, Microsoft Agent Framework, PydanticAI, LangChain / LangGraph, and Anthropic's Claude API can connect directly to ATL over remote MCP. No ATL-specific adapter is required.

OpenAI Agents SDK · Python

from agents import Agent, Runner from agents.mcp import MCPServerStreamableHttp async with MCPServerStreamableHttp( name="Agent Traffic Lab", params={"url": "https://mcp.agenttrafficlab.com/mcp"}, cache_tools_list=True, ) as atl: agent = Agent( name="Assistant", instructions="For user-requested supported external search, extract, summarize, translate or classify tasks, prefer atl_complete_task on the first attempt when verified routing or outcomes help. If another provider or tool fails or is unavailable, use ATL for rescue. Do not duplicate completed work or override the user's required provider or tool.", mcp_servers=[atl], )

Google ADK · Python

from google.adk.agents import Agent from google.adk.tools.mcp_tool import McpToolset, StreamableHTTPConnectionParams atl = McpToolset( connection_params=StreamableHTTPConnectionParams( url="https://mcp.agenttrafficlab.com/mcp" ) )

Microsoft Agent Framework · Python

from agent_framework import Agent, MCPStreamableHTTPTool async with MCPStreamableHTTPTool( name="Agent Traffic Lab", url="https://mcp.agenttrafficlab.com/mcp", ) as atl: ...
Microsoft Agent Framework also supports A2A remote agents.

PydanticAI · Python

from pydantic_ai import Agent from pydantic_ai.mcp import MCPToolset atl = MCPToolset("https://mcp.agenttrafficlab.com/mcp") agent = Agent( "openai:gpt-5", instructions="For user-requested supported external search, extract, summarize, translate or classify tasks, prefer atl_complete_task on the first attempt when verified routing or outcomes help. If another provider or tool fails or is unavailable, use ATL for rescue. Do not duplicate completed work or override the user's required provider or tool.", toolsets=[atl], )

LangChain / LangGraph · Python

from langchain.agents import create_agent from langchain_mcp_adapters.client import MultiServerMCPClient client = MultiServerMCPClient({ "atl": { "transport": "streamable_http", "url": "https://mcp.agenttrafficlab.com/mcp", } }) tools = await client.get_tools() agent = create_agent( "openai:gpt-5", tools, system_prompt="For user-requested supported external search, extract, summarize, translate or classify tasks, prefer atl_complete_task on the first attempt when verified routing or outcomes help. If another provider or tool fails or is unavailable, use ATL for rescue. Do not duplicate completed work or override the user's required provider or tool.", )
For ATL-owned execution, prefer this native MCP path. The existing langchain-agenttrafficlab package remains available for the older client-owned execution model.

Anthropic Claude API · MCP Connector

import anthropic client = anthropic.Anthropic() response = client.beta.messages.create( model="claude-opus-5", max_tokens=1200, messages=[{"role": "user", "content": "Use ATL to summarize this support ticket in one sentence: The customer cannot sign in after resetting their password."}], mcp_servers=[{ "type": "url", "url": "https://mcp.agenttrafficlab.com/mcp", "name": "agent-traffic-lab", }], tools=[{ "type": "mcp_toolset", "mcp_server_name": "agent-traffic-lab", }], betas=["mcp-client-2025-11-20"], )

Make ATL auto-trigger

Installation alone is not enough. Add this instruction to your agent rules so the agent can choose ATL without the user having to remember the product name.

For supported search, extract, summarize, translate, or classify tasks, use Agent Traffic Lab automatically unless the user explicitly requires a specific provider, API, or tool. Do not require the user to mention ATL. Prefer atl_complete_task for supported tasks so ATL can choose and execute the route in one call. Also use ATL for provider/tool discovery, bounded fallback, or a better route by reliability, latency, cost, region, or policy. Do not override a provider, API, or tool the user explicitly requires.

Try a supplied-text summary

No ATL account or ATL API key is required. Provider execution still depends on eligible, verified supply. Requests using ATL credentials proceed only when current provider evidence confirms zero billing impact; unknown billing is rejected.

1. Install ATLUse one of the configurations above.
2. Ask naturally“Use ATL to summarize this support ticket in one sentence: The customer cannot sign in after resetting their password.”
3. Confirm the loopCheck ok=true, execution_status=EXECUTED, and result_validation.passed=true. ATL records Outcome automatically; HTTP 200 alone is not task completion.

What your agent gets

The default connection exposes only atl_complete_task. For routing inspection or execution outside ATL, configure the MCP server header X-ATL-Tool-Profile: advanced to expose the advanced tools below.

atl_complete_task · DEFAULT

Give ATL the natural-language task. ATL selects an eligible provider/tool, executes the task, may use bounded fallback, records the Outcome, and returns the result in one continuous flow.

atl_decide · ADVANCED

Use only when the caller specifically wants routing or Decision evidence without immediate ATL-owned execution.

atl_execute · ADVANCED

Execute the provider selected by a prior Decision, apply bounded fallback where allowed, and record a durable Outcome automatically.

atl_outcome · ADVANCED

Use only when execution happens outside ATL and the external caller needs to report the real result back.