Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mac_imail-0.1.0.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mac_imail-0.1.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file mac_imail-0.1.0.tar.gz.

File metadata

  • Download URL: mac_imail-0.1.0.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

Hashes for mac_imail-0.1.0.tar.gz
Algorithm Hash digest
SHA256 051f750fbeb6604be9cfabe830b1283e88a7203dadae71823349b2cec64862bf
MD5 f888530deb86a5a3c40003ae40c7b0c0
BLAKE2b-256 d3fe888e105087b60affc281ac8a914d8aa363d4f95cf82e6983138305aa75d5

See more details on using hashes here.

File details

Details for the file mac_imail-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mac_imail-0.1.0-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

Hashes for mac_imail-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5661b6ad6b8bec59beafc4772b63c8e9e7f5d7ab240111629f53a48d5345c76a
MD5 5aa68265957afcded17ef74265a1c156
BLAKE2b-256 79ffb1f21de3a3c554bd26618bd21297a2e8b8d8f73b99b834ef41fff9844b23

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page