Lumbox Docs

MCP Server

Connect Claude and other agents.

MCP Server

The Lumbox MCP server gives AI tools (Claude Desktop, Claude Code, Cursor, etc.) direct access to email capabilities — creating inboxes, waiting for OTPs, sending emails, and more.

Quick Start

1. Get your API key

Sign up at app.lumbox.co, go to Settings > API Keys, and create one.

2. Install (one command)

Claude Code:

claude mcp add lumbox -- npx @lumbox/mcp-server

Then set your API key:

# In your project's .mcp.json or ~/.claude/mcp.json
{
  "mcpServers": {
    "lumbox": {
      "command": "npx",
      "args": ["@lumbox/mcp-server"],
      "env": {
        "LUMBOX_API_KEY": "ak_your_key_here",
        "LUMBOX_API_URL": "https://api.lumbox.co",
        "STEEL_API_URL": "http://localhost:3000"
      }
    }
  }
}

Claude Desktop:

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "lumbox": {
      "command": "npx",
      "args": ["@lumbox/mcp-server"],
      "env": {
        "LUMBOX_API_KEY": "ak_your_key_here",
        "LUMBOX_API_URL": "https://api.lumbox.co",
        "STEEL_API_URL": "http://localhost:3000"
      }
    }
  }
}

Cursor:

Add to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "lumbox": {
      "command": "npx",
      "args": ["@lumbox/mcp-server"],
      "env": {
        "LUMBOX_API_KEY": "ak_your_key_here",
        "LUMBOX_API_URL": "https://api.lumbox.co",
        "STEEL_API_URL": "http://localhost:3000"
      }
    }
  }
}

3. Use it

Once connected, your AI agent can:

"Create an inbox called github-bot"
"Send an email to user@example.com saying hello"
"Wait for a verification email from github.com"
"What's the OTP code in my latest email?"

Environment Variables

VariableDefaultDescription
LUMBOX_API_KEY(required)Your API key (ak_...)
LUMBOX_API_URLhttps://api.lumbox.coAPI server URL
STEEL_API_URL(required for browser)Steel Browser URL (e.g. http://localhost:3000)
STEEL_API_KEY(optional)Steel API key if auth is enabled

Self-Hosted / Local Development

If you're running the API locally:

{
  "mcpServers": {
    "lumbox": {
      "command": "node",
      "args": ["/path/to/lumbox/apps/mcp-server/dist/index.js"],
      "env": {
        "LUMBOX_API_KEY": "ak_your_key_here",
        "LUMBOX_API_URL": "http://localhost:3001"
      }
    }
  }
}

Build first: cd apps/mcp-server && npx tsc

HTTP Mode (Hosted)

For remote AI tools that need HTTP instead of stdio:

# Development
MCP_PORT=3002 bun run dev:http

# Production
node dist/http.js

Authentication

Clients authenticate with a Bearer token on the initial request:

Authorization: Bearer ak_your_key_here

Session Flow

  1. InitializePOST /mcp with Bearer token + initialize request
  2. RPC callsPOST /mcp with Mcp-Session-Id header
  3. SSE streamGET /mcp with Mcp-Session-Id for server-to-client messages
  4. TerminateDELETE /mcp with Mcp-Session-Id

Docker

docker build -t lumbox-mcp apps/mcp-server/
docker run -p 3002:3002 -e LUMBOX_API_URL=http://api:3001 lumbox-mcp

Available Tools (40+)

Inbox Management

ToolDescription
create_inboxCreate a new email inbox (returns email address)
list_inboxesList all inboxes
get_inboxGet inbox details and email count
delete_inboxDelete an inbox and all its emails

Email (Core Agent Tools)

ToolDescription
wait_for_emailBlock until a matching email arrives (with filters)
get_otpGet the latest OTP/verification code
list_emailsList emails with filters (sender, category, date)
read_emailRead full email with parsed OTP, links, summary
search_emailsSearch across all inboxes

Send / Reply / Forward

ToolDescription
send_emailSend an email from an inbox
reply_to_emailReply with auto-threading headers
forward_emailForward an email to another address

Threads

ToolDescription
list_threadsList conversation threads
get_threadGet all emails in a thread

Domain Management

ToolDescription
add_domainAdd a custom domain (returns DNS records)
verify_domainCheck DNS and activate domain
list_domainsList all domains

SMTP Configuration (BYOS)

ToolDescription
configure_smtpConfigure outbound SMTP provider
list_smtp_configsList SMTP configurations
test_smtp_configTest an SMTP config

Thread Routing

ToolDescription
assign_threadAssign an agent to a thread
unassign_threadRemove an agent from a thread
list_thread_agentsList agents on a thread
create_routing_ruleAuto-route emails by sender/subject/category
list_routing_rulesList routing rules
delete_routing_ruleDelete a routing rule

Webhooks

ToolDescription
create_webhookRegister a webhook for email events
list_webhooksList webhooks
test_webhookTest a webhook
delete_webhookDelete a webhook

Browser Automation

ToolDescription
browser_navigateNavigate to URL, returns accessibility tree
browser_snapshotGet current page state with element refs
browser_clickClick element by ref (@e1, @e2...)
browser_typeType text into input by ref
browser_selectSelect dropdown option
browser_evalRun JavaScript on page
browser_screenshotTake screenshot
browser_save_stateSave cookies + localStorage
browser_load_stateRestore saved session
browser_closeClose browser session

See Browser Automation for details.

Skills (Compound Actions)

ToolDescription
skill_signup_with_emailNavigate + fill email + submit + wait for OTP — all in one call
skill_login_with_emailNavigate + enter email + submit + wait for magic link/OTP
skill_verify_emailWait for verification email + click the link

Credential Vault

ToolDescription
store_credentialSecurely store a password/API key/TOTP secret (encrypted, never returned)
login_with_credentialAuto-inject credentials into login form via Steel (fields blurred, auto-submit)
use_credential_in_browserFill credential into a specific form field (for non-login fields)
list_credentialsList stored credentials (metadata only, never values)
delete_credentialPermanently delete a credential

See Credential Vault for security details.

Contact Lists & Marketing

ToolDescription
create_contact_listCreate a contact list for marketing
list_contact_listsList contact lists
add_contactsAdd contacts to a list
list_contactsList contacts in a list
remove_contactRemove a contact
delete_contact_listDelete a contact list
send_marketing_emailSend to all contacts in a list

AI Configuration (BYOK)

ToolDescription
configure_aiSet up AI provider and API key
get_ai_configView AI configuration