LumboxLumbox Docs

MCP Server

Connect Claude and other agents.

MCP Server

The Lumbox MCP server gives AI tools direct access to email: create inboxes, wait for OTPs, send and reply, manage domains, webhooks and threads, store credentials, and drive a browser. The full list is below.

The claim_account tool creates a single-use, 15-minute dashboard link for an ownerless organization. Call it with a full organization API key and give the returned link to its human owner. Restricted keys cannot create links, and an existing user organization cannot be replaced.

Hosted transport is Streamable HTTP. Do not pick SSE.

URLhttps://mcp.lumbox.co/mcp
Alsohttps://api.lumbox.co/mcp
TransportStreamable HTTP
AuthAuthorization: Bearer ak_...

If a client uses SSE against a JSON URL you get:

Could not connect to the MCP server or list its tools — SSE error: Invalid content type, expected "text/event-stream".

Switch the transport to Streamable HTTP and use a /mcp URL above.

Assistable (createassistants.com)

Integrations → MCP Servers → Add server:

FieldValue
NameLumbox
Server URLhttps://mcp.lumbox.co/mcp
TransportStreamable HTTP
Auth tokenyour ak_... key (sent as Bearer)

https://api.lumbox.co/mcp works the same way. The REST root https://api.lumbox.co is not an MCP URL unless the client sends Streamable HTTP or Accept: text/event-stream.

Claude Code / Cursor / any HTTP client

Get an API key at app.lumbox.co → Settings → API Keys.

Claude Code (hosted HTTP):

claude mcp add --transport http lumbox https://mcp.lumbox.co/mcp

Then sign in, or send Authorization: Bearer ak_your_key_here.

Cursor / Claude Desktop / Windsurf — add to .cursor/mcp.json or claude_desktop_config.json:

{
  "mcpServers": {
    "lumbox": {
      "url": "https://mcp.lumbox.co/mcp",
      "headers": {
        "Authorization": "Bearer ak_your_key_here"
      }
    }
  }
}

Local stdio (npx)

For a local process instead of the hosted URL:

claude mcp add lumbox --env LUMBOX_API_KEY=ak_your_key_here -- npx -y @lumbox/mcp-server
{
  "mcpServers": {
    "lumbox": {
      "command": "npx",
      "args": ["-y", "@lumbox/mcp-server"],
      "env": {
        "LUMBOX_API_KEY": "ak_your_key_here",
        "LUMBOX_API_URL": "https://api.lumbox.co"
      }
    }
  }
}

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

Authentication

Clients send a Bearer token:

Authorization: Bearer ak_your_key_here

OAuth 2.1 also works on the hosted URL. See authentication.

Session flow (Streamable HTTP)

  1. Initialize - POST /mcp with Bearer token + initialize request
  2. RPC calls - POST /mcp with Mcp-Session-Id header
  3. Server messages - GET /mcp with Mcp-Session-Id (event stream for that session)
  4. Terminate - DELETE /mcp with Mcp-Session-Id

Legacy SSE (GET /sse, then POST /messages) is accepted as a fallback. Prefer Streamable HTTP.

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

Inbox Management

ToolDescription
create_inboxCreate a new email inbox (returns email address)
list_inboxesList your inboxes, newest first (paginated: limit, cursor)
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