$git clone https://github.com/KeyID-AI/agent-kitGive Claude, Cursor, or any MCP client a real email address. Free. No signup.
| 1 | # @keyid/agent-kit |
| 2 | |
| 3 | **Give Claude, Cursor, or any MCP client a real email address. Free. No signup.** |
| 4 | |
| 5 | 27 email tools via Model Context Protocol (MCP): send, receive, reply, search inbox, manage contacts, set auto-reply, schedule delivery — everything an AI agent needs to handle email autonomously. |
| 6 | |
| 7 | Powered by [KeyID.ai](https://keyid.ai) — free email infrastructure for AI agents. No human registration, no API keys to manage, no cost. |
| 8 | |
| 9 | ## Install |
| 10 | |
| 11 | ```bash |
| 12 | npm install @keyid/agent-kit |
| 13 | # or |
| 14 | yarn add @keyid/agent-kit |
| 15 | ``` |
| 16 | |
| 17 | ## Usage |
| 18 | |
| 19 | ### With Claude Desktop |
| 20 | |
| 21 | Add to `claude_desktop_config.json`: |
| 22 | |
| 23 | ```json |
| 24 | { |
| 25 | "mcpServers": { |
| 26 | "keyid": { |
| 27 | "command": "npx", |
| 28 | "args": ["@keyid/agent-kit"], |
| 29 | "env": { |
| 30 | "KEYID_PUBLIC_KEY": "...hex...", |
| 31 | "KEYID_PRIVATE_KEY": "...hex..." |
| 32 | } |
| 33 | } |
| 34 | } |
| 35 | } |
| 36 | ``` |
| 37 | |
| 38 | ### With any MCP client |
| 39 | |
| 40 | ```bash |
| 41 | # Run directly |
| 42 | npx @keyid/agent-kit |
| 43 | |
| 44 | # Or with existing keypair |
| 45 | KEYID_PUBLIC_KEY=abc123 KEYID_PRIVATE_KEY=def456 npx @keyid/agent-kit |
| 46 | ``` |
| 47 | |
| 48 | ### Environment Variables |
| 49 | |
| 50 | | Variable | Description | Default | |
| 51 | |----------|-------------|---------| |
| 52 | | `KEYID_BASE_URL` | API base URL | `https://keyid.ai` | |
| 53 | | `KEYID_PUBLIC_KEY` | Ed25519 public key (hex) | Auto-generated | |
| 54 | | `KEYID_PRIVATE_KEY` | Ed25519 private key (hex) | Auto-generated | |
| 55 | |
| 56 | ## Tools (27) |
| 57 | |
| 58 | ### Identity & Auth |
| 59 | | Tool | Description | |
| 60 | |------|-------------| |
| 61 | | `keyid_provision` | Register agent, get email address | |
| 62 | | `keyid_get_email` | Get current active email | |
| 63 | |
| 64 | ### Messages |
| 65 | | Tool | Description | |
| 66 | |------|-------------| |
| 67 | | `keyid_get_inbox` | Fetch inbox (with search, filtering) | |
| 68 | | `keyid_send` | Send email (scheduled, display name, HTML) | |
| 69 | | `keyid_reply` | Reply to a message | |
| 70 | | `keyid_forward` | Forward a message | |
| 71 | | `keyid_update_message` | Update read/starred status | |
| 72 | | `keyid_get_unread_count` | Count unread messages | |
| 73 | |
| 74 | ### Threads & Drafts |
| 75 | | Tool | Description | |
| 76 | |------|-------------| |
| 77 | | `keyid_list_threads` | List conversation threads | |
| 78 | | `keyid_get_thread` | Get thread with messages | |
| 79 | | `keyid_create_draft` | Create a draft | |
| 80 | | `keyid_send_draft` | Send a draft | |
| 81 | |
| 82 | ### Settings |
| 83 | | Tool | Description | |
| 84 | |------|-------------| |
| 85 | | `keyid_get_auto_reply` | Get auto-reply settings | |
| 86 | | `keyid_set_auto_reply` | Configure vacation responder | |
| 87 | | `keyid_get_signature` | Get email signature | |
| 88 | | `keyid_set_signature` | Set email signature | |
| 89 | | `keyid_get_forwarding` | Get forwarding settings | |
| 90 | | `keyid_set_forwarding` | Configure forwarding | |
| 91 | |
| 92 | ### Contacts |
| 93 | | Tool | Description | |
| 94 | |------|-------------| |
| 95 | | `keyid_list_contacts` | List saved contacts | |
| 96 | | `keyid_create_contact` | Create a contact | |
| 97 | | `keyid_delete_contact` | Delete a contact | |
| 98 | |
| 99 | ### Webhooks |
| 100 | | Tool | Description | |
| 101 | |------|-------------| |
| 102 | | `keyid_list_webhooks` | List webhooks | |
| 103 | | `keyid_create_webhook` | Create webhook | |
| 104 | | `keyid_get_webhook_deliveries` | Delivery history | |
| 105 | |
| 106 | ### Lists & Metrics |
| 107 | | Tool | Description | |
| 108 | |------|-------------| |
| 109 | | `keyid_manage_list` | Add/remove from allow/blocklist | |
| 110 | | `keyid_get_metrics` | Query usage metrics | |
| 111 | |
| 112 | ## Example Conversation |
| 113 | |
| 114 | ``` |
| 115 | User: Check my email |
| 116 | |
| 117 | Agent: [calls keyid_get_inbox] |
| 118 | You have 3 new messages: |
| 119 | 1. alice@company.com — "Q1 Report" (2 hours ago) |
| 120 | 2. bob@partner.org — "Meeting tomorrow" (5 hours ago) |
| 121 | 3. noreply@service.com — "Password reset" (1 day ago) |
| 122 | |
| 123 | User: Reply to Alice saying I'll review it today |
| 124 | |
| 125 | Agent: [calls keyid_reply with message_id and body] |
| 126 | Reply sent to alice@company.com. |
| 127 | ``` |
| 128 | |
| 129 | ## Protocol |
| 130 | |
| 131 | Uses MCP JSON-RPC over stdio (protocol version 2024-11-05). Compatible with Claude Desktop, Cursor, and any MCP client. |
| 132 | |
| 133 | ## License |
| 134 | |
| 135 | MIT |