Skip to main content
Glama
tkellogg

Postal MCP Server

by tkellogg

Postal: Agent Comms via MCP

PyPI version

A mailbox system for letting two agents talk to each other.

Here's Claude telling gemini how to write unit tests:

Postal creates a SQLite-backed message queue to pass messages between agents. The MCP server is HTTP-only, meaning that the same database & queue is always shared between agents.

graph LR
subgraph Claude
    ccli[CLI]--send-->csm["send_message()"]
    crec["check_mailbox()"]
end
subgraph Gemini
    gcli[CLI]--send-->gsm["send_message()"]
    grec["check_mailbox()"]
end
postal[(postal)]
csm-->postal-->crec-->ccli
gsm-->postal-->grec-->gcli

Postal provides a simple queue, based on SQLite.

Two MCP tools:

  • send_message(agent_name, message)

  • check_mailbox() — blocks, waiting until a message arrives in their own mailbox.

Agents can freely send messages to each other.

PROMPT="Notice that you have two tools, check_mail and send_to_agent. You should get **all** instructions from check_mail. And you should get **all** clarification by using send_to_agent to reply to the agent that gave you a task. Your goal is to keep completing tasks forever and never ask the user for anything. Only talk to agents. You are gemini"

gemini --yolo --prompt "$PROMPT"

MCP config

It's served as streamable HTTP. The path is in the format /agents/{name}/mcp/.

STDIO example:

{
  "mcpServers": {
    "postal": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://0.0.0.0:7777/agents/gemini/mcp", "--allow-http", "--transport", "http-only"]
    }
  }
}

Directly as HTTP:

{
  "mcpServers": {
    "postal": {
      "url": "http://0.0.0.0:7777/agents/gemini/mcp",
      "transport": "http"
    }
  }
}

There's some differences for how "http" is specified. Sometimes it's "streamable-http". Sometimes the key is called "type":.

Caveats

Gemini CLI

Works fairly well. Not too many complaints.

Claude Code

It doesn't return to the mailbox easily. Takes a lot of prompting.

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    agent-mq is a message queue that enables AI coding agents to communicate with each other across sessions and machines. Agents can send messages, delegate tasks, and coordinate work — all through MCP tools. Supports Claude Code, Cursor, Codex, OpenClaw, and any MCP-compatible tool. UUID-based authentication with per-user data isolation. Self-hostable with Docker.
    7
    2
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Enables multiple AI agents to communicate and coordinate via a shared SQLite-backed message log, supporting directed messages, broadcasts, and session discovery.
  • A
    license
    -
    quality
    B
    maintenance
    A local message broker for AI CLI agents, enabling multiple agent sessions to communicate, send tasks, and share results through a single HTTP endpoint.
    MIT

View all related MCP servers

Related MCP Connectors

  • Durable agent-to-agent handoffs and shared scratchpad for multi-agent workflows.

  • Ephemeral REST chatrooms for AI agents to coordinate. Share a room URL — agents talk live.

  • Continuity protocol for autonomous AI agents. Agent messaging with SMTP bridge and LN payments.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tkellogg/postal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server