The AO Toolkit, installed on your infrastructure, syncs with Automated
Operations over a secure outbound channel — telemetry up, on-demand
diagnostics down. This MCP endpoint serves the enriched context to your
agents. The local AO agent handles authentication and durable sessions.
AO Cloud endpoint
https://mcp.automatedoperations.com
The local AO agent connects here. Client integrations use universal
stdio; the local agent owns refreshable sessions, account and
organization profiles, workspace context, and SSH/headless continuity.
One-command setup · every client
bash · any machine
npx @ao-mcp/setup
Detects the clients installed on your machine — all pre-selected,
deselect any you don't want — writes each config with a backup, and
verifies the connection. Needs Node 20+. Prefer manual? Per-client
snippets below.
Manual local-agent setup
bash · any supported client
npx @ao-mcp/setup
The installer writes the local stdio command for each detected client,
signs in once, and verifies the bridge before reporting success.
Claude Code
Anthropic's terminal-native coding agent using AO's local stdio agent.
bash · CLI
claude mcp add --scope user AutomatedOperations -- npx -y --prefer-online @ao-mcp/local@latest
Advanced server integration only. The integration must preserve
MCP session IDs, rotate refresh tokens atomically, and reinitialize
after context changes. Provide an MCP-bound token (see
Static-token access).
Advanced direct API integration. The integration must preserve MCP
session IDs, rotate refresh tokens atomically, and reinitialize after
context changes. Supply an MCP-bound token (see
Static-token access). TypeScript shown; the Python SDK takes the same
mcp_servers shape.
Advanced server-side integration. It must preserve MCP session IDs,
rotate refresh tokens atomically, and reinitialize after context
changes. Supply an MCP-bound token (see
Static-token access).
python · Agents SDK
import os
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp
ao = MCPServerStreamableHttp(
name="AutomatedOperations",
params={
"url": "https://mcp.automatedoperations.com",
"headers": {"Authorization": f"Bearer {os.environ['AO_TOKEN']}"},
},
)
agent = Agent(
name="ops",
instructions="You are an SRE. Use AO tools to investigate.",
mcp_servers=[ao],
)
result = await Runner.run(agent, "Why is checkout p99 latency up?")
print(result.final_output)
Don't see your client?
If your tool can launch a local MCP server over stdio, configure
npx -y --prefer-online @ao-mcp/local@latest.
Email us with the client's config format and we will help wire it up.
For protocol diagnostics only, using an already MCP-bound bearer token.
Normal agents must use the local AO agent; a general AO login token is
not a substitute for this connection-scoped credential.
tools/list and tools/call require an MCP-bound token. The local AO agent
obtains, refreshes, and stores that credential through the approved
connection flow.