Show HN: Beam Protocol – SMTP for AI Agents (natural language agent-to-agent)

3 pointsposted a day ago
by alfridus

3 Comments

alfridus

a day ago

Hi HN — I built this because my AI agents couldn't talk to each other.

I'm running 4 agents (each a separate process with its own LLM, tools, and memory) across 2 machines. They handle sales CRM, payment reconciliation, and operations for our company. The problem: when Jarvis (my main agent) needed info from Clara (sales agent), there was no standard way to ask.

*What Beam does:*

- Beam-ID: Global agent address (e.g. clara@acme.beam.directory) - Intent Frames: Ed25519-signed messages, replay-protected, <1 KB - Natural Language: agents can just talk() — no schema needed - Directory: Agent discovery + trust scoring at api.beam.directory

*Real test from today:*

  Jarvis → Clara: "What do you know about Chris? Deals, volume, last activity."
  Clara → Jarvis: "400 deals, €5.8M volume. Last active: today." (7.2s round-trip)
Clara actually queried her HubSpot CRM tools to answer. No pre-agreed schema.

*How it compares:* - MCP = Agent ↔ Tool (Anthropic) - Google A2A = Agent ↔ Agent (closed, Google IAM) - Beam = Agent ↔ Agent (open, self-hostable, NL-first)

TypeScript + Python SDKs available:

  npm install beam-protocol-sdk
  pip install beam-directory
Hosted directory at api.beam.directory (Fly.io Frankfurt). Self-hosting is a single Docker container.

Apache 2.0. Would love feedback on the protocol design — especially the natural language vs typed intent tradeoff.

alfridus

a day ago

Hi HN — I built this because my AI agents couldn't talk to each other.

I run 4 agents (each a separate process with its own LLM, tools, and memory) across 2 machines. They handle sales CRM, payment reconciliation, and operations. When Jarvis (main agent) needed info from Clara (sales agent), there was no standard way to ask.

What Beam does:

- Beam-ID: Global agent address (e.g. clara@acme.beam.directory)

- Intent Frames: Ed25519-signed messages, replay-protected, < 1 KB

- Natural Language: agents can just talk() — no schema needed

- Directory: Agent discovery + trust scoring at api.beam.directory

Real test from today:

    Jarvis -> Clara: "What do you know about Chris? Deals, volume, last activity."
    Clara -> Jarvis: "400 deals, 5.8M volume. Last active: today." (7.2s round-trip)
Clara actually queried her HubSpot CRM tools to answer. No pre-agreed schema.

How it compares: MCP = Agent-to-Tool (Anthropic). Google A2A = Agent-to-Agent (closed, Google IAM). Beam = Agent-to-Agent (open, self-hostable, NL-first).

SDKs: npm install beam-protocol-sdk / pip install beam-directory

Hosted directory at api.beam.directory (Fly.io Frankfurt). Self-hosting is one Docker container. Apache 2.0.

Would love feedback on the protocol design — especially the natural language vs typed intent tradeoff.