Self-describing local inbox for coding agents
Project description
Agent Mail CLI
A self-describing local inbox for coding agents.
npx -y agent-mail describe
That command is the product wedge: an agent can run it, read the JSON schema, and learn how to send, read, acknowledge, and inspect messages without MCP setup, a daemon, or separate documentation.
Status
This repository is the open-source extraction of a working internal tool.
src/agent_mail/cli.py is the Python implementation and source of truth for
behavior. Spec 001 is the behavioral specification. Spec 002 covers Python
packaging, GitHub Release binaries, and WinGet. Spec 003 will cover npm and
npx.
Why
Multi-agent coding workflows need coordination. Heavy systems already exist for that: MCP servers, agent frameworks, workspace managers, and network protocols.
Agent Mail CLI is aimed at the simpler moment:
I am already inside Claude Code or Codex. I need this agent to send a handoff to that agent. I want one command that teaches both sides the mailbox.
Intended Usage
Once npm distribution lands (spec 003), the target experience is one command:
Sender:
npx -y agent-mail describe
npx -y agent-mail send --from second-brain:main --to ccburn:worker --subject "Review spec" --body "Please read the referenced spec and report risks."
Recipient:
npx -y agent-mail describe
npx -y agent-mail read ccburn:worker
Python users can install the package:
pipx install agent-mail-cli
agent-mail describe
For one-shot Python execution:
pipx run --spec agent-mail-cli agent-mail describe
From source:
python -m agent_mail describe
Design Goals
- Runtime schema introspection through
describe - JSON output by default
- JSON errors on stderr
- Local durable mailbox state
- No registration
- No daemon
- No MCP server required for v1
- Stable storage outside npm cache (post-packaging)
- One-command install for users without the source script
Repository Structure
.
├── AGENTS.md
├── CHANGELOG.md
├── CLAUDE.md
├── LICENSE
├── PROJECT_UNDERSTANDING.md
├── README.md
├── docs/
│ └── landscape.md
├── specs/
│ ├── 001-agent-mail-cli.md
│ ├── 002-packaging.md
│ └── 003-npm-distribution.md
└── src/
└── agent_mail/
├── __init__.py
├── __main__.py
└── cli.py
Specs
- specs/001-agent-mail-cli.md — behavioral specification. Status: pending review.
- specs/002-packaging.md — PyPI, GitHub Release binaries, and WinGet packaging.
- specs/003-npm-distribution.md — npm wrapper
and
npxdistribution.
Naming
- Product: Agent Mail CLI
- Repo:
agent-mail-cli - Target npm package / command:
agent-mail - Python distribution:
agent-mail-cli - Python import package:
agent_mail - Command:
agent-mail
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_mail_cli-0.1.2.tar.gz.
File metadata
- Download URL: agent_mail_cli-0.1.2.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a446e8c188602ac7b4fc58f2687d4a83b2a9f17a91e9f5767665a52fa80047b
|
|
| MD5 |
8cdbb829d7da4c3e3272b0b19073d321
|
|
| BLAKE2b-256 |
2ad51f180edfa360dd811aa23a52572e22bad49c370e1fa91a01e2e0a71242a0
|
Provenance
The following attestation bundles were made for agent_mail_cli-0.1.2.tar.gz:
Publisher:
release.yml on JuanjoFuchs/agent-mail-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_mail_cli-0.1.2.tar.gz -
Subject digest:
4a446e8c188602ac7b4fc58f2687d4a83b2a9f17a91e9f5767665a52fa80047b - Sigstore transparency entry: 1507837530
- Sigstore integration time:
-
Permalink:
JuanjoFuchs/agent-mail-cli@95a69c0c8e0a09d01e11d09cf927350c5c375ad1 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/JuanjoFuchs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@95a69c0c8e0a09d01e11d09cf927350c5c375ad1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file agent_mail_cli-0.1.2-py3-none-any.whl.
File metadata
- Download URL: agent_mail_cli-0.1.2-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37fba1bc4c530c6d7170ba93e66ef627638f87e1f8becb0428a8b09767a251fc
|
|
| MD5 |
c939feff9beea47735b7046b6cabf317
|
|
| BLAKE2b-256 |
5fcf80bb19f5fd111f0ae61c4af588e5ae1799a0f470e1670e640abb61e8f81e
|
Provenance
The following attestation bundles were made for agent_mail_cli-0.1.2-py3-none-any.whl:
Publisher:
release.yml on JuanjoFuchs/agent-mail-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_mail_cli-0.1.2-py3-none-any.whl -
Subject digest:
37fba1bc4c530c6d7170ba93e66ef627638f87e1f8becb0428a8b09767a251fc - Sigstore transparency entry: 1507837640
- Sigstore integration time:
-
Permalink:
JuanjoFuchs/agent-mail-cli@95a69c0c8e0a09d01e11d09cf927350c5c375ad1 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/JuanjoFuchs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@95a69c0c8e0a09d01e11d09cf927350c5c375ad1 -
Trigger Event:
push
-
Statement type: