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.1.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.1-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

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

Hashes for mac_imail-0.1.1.tar.gz
Algorithm Hash digest
SHA256 38172e1f4dcbb78a1474ea35582961d588cc3c0cd493ae871cb73ccbfe0791e4
MD5 835e34c1f0837f7c0a2e977cdffdbc10
BLAKE2b-256 8d02651264ebca1c50fb175115811ab38d5d74ad0fb95296571682514eab3f9a

See more details on using hashes here.

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

Hashes for mac_imail-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2f342653578672a00d78d51e317d4e1d15ca7629df9bfadf0729b958d4c26ba2
MD5 f91115750e5375db7e190a3c08578779
BLAKE2b-256 436c38c83a6e5b4906f5f4dbccd8f0b5ca24f470dbe63a256f76c7ab781366b3

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