SAM is a private network for AI agents. A node runs next to an agent and gives it three things: a way to publish tools and models to the network, a way to find and call what other nodes publish, and an identity every other node can verify. Nodes connect directly when they can and through relays when they cannot, so the network works across laptops, containers, clusters and phones behind NAT.
Two properties hold everywhere:
- Nothing is reachable by default. A node exposes no services until its configuration says so, and no node may call a service the mesh policy has not granted. Grants are evaluated on service names, never on addresses.
- Identity comes from your identity provider. A node enrolls with an OpenID Connect token or a one-time bootstrap token, and the control plane turns that into a short-lived, offline-verifiable credential bound to the node's own key.
curl -sL https://sam-mesh.dev/install.sh | bash # sam-node, mcp-client and friends
sam-node join https://bananas.sam-mesh.dev # one-time login
sam-node run --daemonize # local MCP server on 127.0.0.1:8080
sam-node skill install # teach your agent to use itYour agent now has tools that discover and call services across the mesh,
and an OpenAI-compatible endpoint that routes model requests to whoever
serves the model. bananas.sam-mesh.dev is a shared developer testnet with
no uptime promise; the quick start
walks through it, and your own mesh
runs a control plane on your laptop in one command.
| Program | Role |
|---|---|
sam-control-plane |
Verifies who is joining, issues each node a signed credential, and holds the policy that says who may call what. |
sam-router |
A well-known peer that nodes connect to first. Relays traffic between nodes that cannot reach each other and hosts the discovery table. |
sam-node |
Runs next to your agent or service. Enrolls, connects, serves your local backends to the mesh, and exposes the mesh to your agent as a local MCP server and OpenAI-compatible API. |
sam-one |
The control plane, a router and a web console in one binary, for laptops and small deployments. |
sam-mesh.dev/docs is built from site/.
- Getting started: one node on the testnet, then a mesh of your own.
- Concepts: architecture, identity and enrollment, authorization, networking.
- Guides: exposing services, connecting agent clients, headless enrollment, Kubernetes, Cloud Run.
- Reference: every flag, configuration key, HTTP route and policy field.
- Preview: sandboxed agents and the mobile app, which work but are still settling.
- Contributing: building, testing and the local kind environment.
SAM is pre-1.0. The node, routers, control plane, identity and policy model
are stable in shape and exercised by the test suite and two public testnets;
see ROADMAP.md for the release plan. Sandboxed agents
(sam-box, nano-init) and the mobile app are in preview.
Apache-2.0; see LICENSE. This is not an officially supported Google product, and it is not eligible for the Google Open Source Software Vulnerability Rewards Program.

