Labsco
inboxapi logo

InboxAPI

β˜… 11

from inboxapi

Your Agents' personal email

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeQuick setup

InboxAPI CLI

Give your AI agent its own personal email address. Send, receive, read, search, and reply to emails β€” right from Claude, OpenCode, Codex, Gemini, or any MCP-compatible AI client. No email server to run, no SMTP to configure.


Table of Contents


How it works

  1. Install the CLI
  2. Connect it to your AI client (Claude Desktop, Claude Code, Gemini CLI, OpenCode, etc.)
  3. Your AI can now use email β€” no code or API keys needed

An account with a unique, personal email address is created automatically on first run. Your AI can then:

  • Send emails to any address
  • Receive emails at its own inbox
  • Reply to and forward emails
  • Search emails by keyword
  • Read full threads of conversation

Technical details

The CLI acts as a local bridge between your AI client and the InboxAPI cloud service. It speaks the Model Context Protocol (MCP) over standard input/output, so any compatible AI client can use it without custom integration.

Good to know

  • This is your agent's personal email β€” InboxAPI gives your AI agent its own email address for personal use. It is not a transactional email service β€” don't use it for bulk sending, marketing, or application notifications.
  • Weekly send limit β€” Each account can send to up to five unique email addresses per week. This resets weekly.
  • Check your spam folder β€” Each agent gets its own subdomain, and new subdomains don't have email reputation yet. Early messages may land in your recipient's spam or junk folder. Adding your agent's email address to your contacts or allowlist helps. Delivery improves over time as recipients interact with your agent's emails.
  • Attachments β€” Send attachments via CLI subcommands using --attachment (local files) or --attachment-ref (server-side attachments by ID).
  • HTML email support β€” CLI subcommands support HTML emails with --html-body or --html-body-file.
  • Owner verification β€” Link your email to your agent's account with verify_owner to enable account recovery and remove trial restrictions. Recommended as a first step after setup.

Updating

Run the same install command to update to the latest version:

npm install -g @inboxapi/cli@latest

The CLI also checks for updates automatically when running in proxy mode and installs them in the background.

Commands

proxy (default)

Starts the STDIO proxy. Reads JSON-RPC messages from stdin, forwards them to the InboxAPI endpoint, and streams SSE responses to stdout. If no credentials are found, an account is automatically created with a generated name.

inboxapi proxy
inboxapi proxy --endpoint https://custom-endpoint.example.com/mcp
inboxapi proxy --claim-secret ibx...

Running inboxapi with no subcommand also starts the proxy. --claim-secret is used only when credentials do not exist and the proxy auto-creates an account on a custom domain.

login

Manually creates an account with a chosen name and stores access credentials locally. Not required for basic usage since proxy handles account creation automatically.

inboxapi login
inboxapi login --name myaccount
inboxapi login --endpoint https://custom-endpoint.example.com/mcp
inboxapi login --name myaccount --claim-secret ibx...

custom-domain-claim

Claims a custom-domain primary mailbox for the current account using a custom domain claim secret. The old generated mailbox remains receive-enabled but cannot send.

inboxapi custom-domain-claim --secret ibx... --email-address myaccount@example.com

whoami

Displays the currently authenticated account and endpoint.

inboxapi whoami

reset

Deletes stored credentials. Interactively offers to back up first, then asks for confirmation before deleting.

inboxapi reset

backup

Backs up credentials to a specified folder.

inboxapi backup ./my-backup

restore

Restores credentials from a backup folder. Validates backup integrity and offers to back up existing credentials before overwriting.

inboxapi restore ./my-backup

setup-skills

Installs InboxAPI skills for AI coding agents. Supports Claude Code, Codex CLI, Gemini CLI, and OpenCode. Auto-detects installed agents and prompts for confirmation, or use flags for non-interactive installation.

inboxapi setup-skills              # Auto-detect agents, interactive prompt
inboxapi setup-skills --all        # Install for all 4 agents
inboxapi setup-skills --claude --codex  # Install for specific agents
inboxapi setup-skills --force      # Overwrite existing skills and hooks

CLI Commands

For agents with shell access, CLI subcommands are the simplest way to use InboxAPI β€” no MCP, JSON-RPC, or base64 knowledge needed.

send-email

inboxapi send-email --to user@example.com --subject "Hello" --body "Hi there"
inboxapi send-email --to user@example.com --subject "Report" --body "See attached" --attachment ./report.pdf
inboxapi send-email --to user@example.com --subject "Fwd" --body "See attached" --attachment-ref 9f0206bb-...
inboxapi send-email --to "a@b.com, c@d.com" --subject "Hi" --body "Hello" --cc "cc@b.com" --priority high
inboxapi send-email --to user@example.com --subject "Newsletter" --body-file ./body.txt --html-body-file ./newsletter.html
inboxapi send-email --to user@example.com --subject "Screenshot" --body-file ./body.txt --html-body-file ./email-with-inline-image.html

Supports --body or --body-file, --html-body or --html-body-file, --cc, --bcc, --priority, --attachment (local files, repeatable), and --attachment-ref (server-side attachment IDs, repeatable). --from-name is deprecated and ignored; InboxAPI enforces the authenticated account identity.

Prefer --body-file and --html-body-file for complex HTML, templates, or large generated payloads such as inline base64 images. File-backed bodies are validated as UTF-8 text, normalized to \n line endings, and capped at 20 MiB before the request is sent.

get-emails

inboxapi get-emails --limit 5
inboxapi get-emails --limit 5 --human

get-email

inboxapi get-email "<message-id>"

delete-email

Archives (soft-deletes) a received email by message ID. It prompts for confirmation by default, and scripted or piped use must pass --force. archive-email is available as an alias for delete-email.

inboxapi delete-email "<message-id>"
inboxapi delete-email "<message-id>" --force
inboxapi archive-email "<message-id>" --force

search-emails

inboxapi search-emails --subject "invoice" --limit 10

get-attachment

inboxapi get-attachment abc123                      # prints signed URL as JSON
inboxapi get-attachment abc123 --output ./file.pdf  # downloads to file

send-reply

inboxapi send-reply --message-id "<msg-id>" --body "Thanks!"
inboxapi send-reply --message-id "<msg-id>" --body-file ./reply.txt --html-body-file ./reply.html

send-reply auto-preserves original thread recipients for multi-recipient conversations. Use --reply-all to force reply-all, and use --cc when you need to add new CC recipients beyond the original thread.

forward-email

inboxapi forward-email --message-id "<msg-id>" --to recipient@example.com --note "FYI"

help

inboxapi help  # CLI-focused help with examples

All CLI commands support the --human flag for human-readable output instead of JSON.

Skills for AI Coding Agents

InboxAPI includes skills β€” slash commands and guided workflows β€” for multiple AI coding agents. Install them with:

inboxapi setup-skills        # Auto-detect and install
inboxapi setup-skills --all  # Install for all agents

Skills are installed to agent-specific directories:

AgentInstall Directory
Claude Code.claude/skills/
Codex CLI.agents/skills/
Gemini CLI.gemini/skills/
OpenCode.opencode/commands/

Available Skills

SkillDescription
/check-inboxFetch and display a summary of recent emails in a formatted table
/composeCompose and send an email with guided prompts, addressbook lookup, and confirmation
/email-searchSearch emails using natural language queries
/email-replyReply to an email with full thread context and preview before sending
/email-digestGenerate a structured digest of recent email activity grouped by threads
/email-forwardForward an email to another recipient with an optional note
/setup-inboxapiConfigure InboxAPI MCP server and install skills for your AI coding agent

Hooks (Claude Code only)

The setup-skills command also installs three hooks for Claude Code that run automatically:

HookTypeDescription
Credential CheckSessionStartVerifies InboxAPI credentials on startup and shows authentication status
Email Send GuardPreToolUseReviews outbound emails before sending, warns about self-sends and empty bodies
Activity LoggerPostToolUseLogs all InboxAPI tool usage to .claude/inboxapi-activity.log for audit trails

Development

cargo build           # Build debug binary
cargo build --release # Build release binary
cargo test            # Run tests
cargo fmt             # Format code

License

The source code in this repository is licensed under the MIT License.

Disclaimer

The InboxAPI service is provided as-is, with no guarantees or warranties of any kind. We reserve all rights regarding how the service is operated. Service terms, features, and availability may change at any time without notice.