Apple Mail.app CLI — agent-friendly Typer tool (imsg family), no IMAP/himalaya
Project description
imail — Apple Mail CLI (+ MCP)
imsg-style local Mail tool. Name family: imsg · imail · inotes · wa.
Install
pip install -e ".[dev]" # from repo root
# or (future) brew install imail
After install, the imail command is on your PATH (via pip entry point). The old bash script is preserved as imail.bash.bak for reference.
CLI-first vs MCP
| Surface | Binary | When |
|---|---|---|
| CLI (prefer) | imail |
accounts / list / send / organize — saves tokens |
| MCP | mcp-apple-mail (apple-mail) |
full search/compose/organize in agents |
No himalaya. Mail.app only. Permissions: Automation → Mail.
Account walls
Work (Polaris/Exchange) and personal (Google, metropol, lupfr) must never mix. Auto-send must pass --from on the correct wall.
imail walls
Configuration lives in accounts.json at repo root.
Commands
imail -h
imail doctor
imail accounts
imail list --limit 20
imail list --account Exchange --mailbox INBOX --json
imail organize --account polaris --limit 100
imail send --from mlubich@polariswireless.com --to a@b.com \
--subject "Hi" --body "Hello"
imail version
Legacy wrapper (same as imail organize):
python3 organize-all.py --account google --limit 200
Agent introspection
Agents can discover the full command catalog as JSON:
imail agent schema
imail agent guide
imail agent -h
Example schema excerpt:
{
"version": "0.1.0",
"tool": "imail",
"walls": { "work": { ... }, "personal": { ... } },
"commands": [ { "name": "list", "help": "...", "params": [...] } ]
}
MCP stopgap: patrickfreyer/apple-mail-mcp (~179★).
This repo is the CLI we own and grow.
Development
cd ~/dev/imail
python3 -m pip install -e ".[dev]"
pytest -q
Project details
Release history Release notifications | RSS feed
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 mac_imail-0.1.1.tar.gz.
File metadata
- Download URL: mac_imail-0.1.1.tar.gz
- Upload date:
- Size: 9.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38172e1f4dcbb78a1474ea35582961d588cc3c0cd493ae871cb73ccbfe0791e4
|
|
| MD5 |
835e34c1f0837f7c0a2e977cdffdbc10
|
|
| BLAKE2b-256 |
8d02651264ebca1c50fb175115811ab38d5d74ad0fb95296571682514eab3f9a
|
File details
Details for the file mac_imail-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mac_imail-0.1.1-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f342653578672a00d78d51e317d4e1d15ca7629df9bfadf0729b958d4c26ba2
|
|
| MD5 |
f91115750e5375db7e190a3c08578779
|
|
| BLAKE2b-256 |
436c38c83a6e5b4906f5f4dbccd8f0b5ca24f470dbe63a256f76c7ab781366b3
|