agent-kit
Give Claude/Cursor email powers. 27 MCP tools — inbox, send, reply, contacts, search. Free, no signup.
Links
README
From the repo.
@keyid/agent-kit
Give Claude, Cursor, or any MCP client a real email address. Free. No signup.
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.
Powered by KeyID.ai — free email infrastructure for AI agents. No human registration, no API keys to manage, no cost.
Install
npm install @keyid/agent-kit
# or
yarn add @keyid/agent-kit
Usage
With Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"keyid": {
"command": "npx",
"args": ["@keyid/agent-kit"],
"env": {
"KEYID_PUBLIC_KEY": "...hex...",
"KEYID_PRIVATE_KEY": "...hex..."
}
}
}
}
With any MCP client
# Run directly
npx @keyid/agent-kit
# Or with existing keypair
KEYID_PUBLIC_KEY=abc123 KEYID_PRIVATE_KEY=def456 npx @keyid/agent-kit
Environment Variables
| Variable | Description | Default |
|---|---|---|
KEYID_BASE_URL | API base URL | https://keyid.ai |
KEYID_PUBLIC_KEY | Ed25519 public key (hex) | Auto-generated |
KEYID_PRIVATE_KEY | Ed25519 private key (hex) | Auto-generated |
Tools (27)
Identity & Auth
| Tool | Description |
|---|---|
keyid_provision | Register agent, get email address |
keyid_get_email | Get current active email |
Messages
| Tool | Description |
|---|---|
keyid_get_inbox | Fetch inbox (with search, filtering) |
keyid_send | Send email (scheduled, display name, HTML) |
keyid_reply | Reply to a message |
keyid_forward | Forward a message |
keyid_update_message | Update read/starred status |
keyid_get_unread_count | Count unread messages |
Threads & Drafts
| Tool | Description |
|---|---|
keyid_list_threads | List conversation threads |
keyid_get_thread | Get thread with messages |
keyid_create_draft | Create a draft |
keyid_send_draft | Send a draft |
Settings
| Tool | Description |
|---|---|
keyid_get_auto_reply | Get auto-reply settings |
keyid_set_auto_reply | Configure vacation responder |
keyid_get_signature | Get email signature |
keyid_set_signature | Set email signature |
keyid_get_forwarding | Get forwarding settings |
keyid_set_forwarding | Configure forwarding |
Contacts
| Tool | Description |
|---|---|
keyid_list_contacts | List saved contacts |
keyid_create_contact | Create a contact |
keyid_delete_contact | Delete a contact |
Webhooks
| Tool | Description |
|---|---|
keyid_list_webhooks | List webhooks |
keyid_create_webhook | Create webhook |
keyid_get_webhook_deliveries | Delivery history |
Lists & Metrics
| Tool | Description |
|---|---|
keyid_manage_list | Add/remove from allow/blocklist |
keyid_get_metrics | Query usage metrics |
Example Conversation
User: Check my email
Agent: [calls keyid_get_inbox]
You have 3 new messages:
1. alice@company.com — "Q1 Report" (2 hours ago)
2. bob@partner.org — "Meeting tomorrow" (5 hours ago)
3. noreply@service.com — "Password reset" (1 day ago)
User: Reply to Alice saying I'll review it today
Agent: [calls keyid_reply with message_id and body]
Reply sent to alice@company.com.
Protocol
Uses MCP JSON-RPC over stdio (protocol version 2024-11-05). Compatible with Claude Desktop, Cursor, and any MCP client.
License
MIT
Collected info
- ★ 688 stars
- ⎇ 8 forks
- Language: JavaScript
- Source updated: 6/24/2026
Config for your environment
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.