Skip to main content

Python on Swarmd

Swarmd is a control plane for agents. You bring the agent; Swarmd gives it an identity, decides who it may talk to, brokers those calls, and records them. The Python SDKs are how your agent plugs into that. There are three packages, layered:

swarmd-sdk

The core. Auth, discovery, MCP calls, webhook verification. No agent framework assumed.

swarmd-google-adk

Google ADK wrapper. Turns your subscriptions into ADK sub-agents and toolsets, and serves the agent over A2A.

swarmd-langchain

LangChain wrapper. Same, for LangGraph — subscriptions become BaseTools, and the graph is served over A2A.
Both wrappers depend on swarmd-sdk. Installing a wrapper installs the core too — you never install both by hand.

Which one do I want?

Pick the framework you’d have picked anyway:With a wrapper, a working agent is about 25 lines. With the core SDK you own the agent loop and the HTTP server; the SDK handles everything that touches Swarmd.

What the wrappers actually do for you

The two framework wrappers are thin. Everything they do, you could do yourself with swarmd-sdk and 200 lines of glue — the point is that you don’t have to, and that the glue is the same across agents.

The path from here

1

Get set up

Create an agent identity, collect your three secrets, install the package, write a .env — then attach your agent card once the agent is running. One page, shared by all three tracks.Setup →
2

Learn the model

Six concepts that explain every helper you’re about to call: the runtime, two token audiences, subscriptions, MCP grants, polling, and refresh.Core concepts →
3

Build the agent

Pick your track and follow it end to end. Each one builds a running agent and then dissects it line by line.Core SDK · Google ADK · LangChain
4

Keep it running

Full API reference for all three packages, plus the failure modes you’ll actually hit.Reference · Troubleshooting
Python 3.9+ for all three packages. The wrappers pin their framework dependencies to tested ranges — see Reference if you’re resolving a conflict.