Agent Update

Connect

Claude Agent SDK (Python) → Agent Update

The Python build of Anthropic's Agent SDK. The same agent loop, driven from an async Python program.

Claude Agent SDK (Python) talks to Agent Update over MCP. The server is https://api.tryagentupdate.com/v1/mcp, the transport is Streamable HTTP, and the credential is one header.

Setup

import asyncio, os
from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage

options = ClaudeAgentOptions(
    mcp_servers={
        "agent-update": {
            "type": "http",
            "url": "https://api.tryagentupdate.com/v1/mcp",
            "headers": {"Authorization": f"Bearer {os.environ['AGENT_UPDATE_TOKEN']}"},
        }
    },
    allowed_tools=["mcp__agent-update__*"],
)

async def main():
    async for m in query(prompt="Text me when the deploy finishes.", options=options):
        if isinstance(m, ResultMessage) and m.subtype == "success":
            print(m.result)

asyncio.run(main())

Before you file a bug

Option names are snake_case, but the keys inside the server dict stay "type" / "url" / "headers". Init fields are read via message.data.get(...), not as attributes. get_mcp_status() re-checks a server still reporting pending.

Check it worked

Ask the agent to text you. A 401 means the token is wrong, or the word Bearer is in there twice. No tool at all means the transport string is wrong. Both are covered in troubleshooting.

Next

The five tools and their arguments are on the MCP page. The same tools over plain HTTP are on the REST page. Every other tool is on the docs index.