Skip to main content
The Inbound MCP (Model Context Protocol) server allows AI assistants to interact with your Inbound account to manage domains, endpoints, and emails.

What is MCP?

Model Context Protocol (MCP) is an open standard that enables AI assistants to securely connect to external data sources and tools. With Inbound’s MCP server, your AI assistant can:
  • List and manage your email domains
  • Create and configure webhook endpoints
  • Send, receive, and search emails
  • View email threads and conversations
  • Access full email content including attachments

Quick Start

The fastest way to get started is using Inbound’s hosted MCP server at mcp.inbound.new/mcp.

Cursor

Add to your Cursor MCP config (.cursor/mcp.json in your project or global config):
{
  "mcpServers": {
    "inbound": {
      "type": "http",
      "url": "https://mcp.inbound.new/mcp",
      "headers": {
        "x-inbound-api-key": "your-api-key"
      }
    }
  }
}

OpenCode

Add to your opencode.json config:
{
  "mcp": {
    "inbound": {
      "type": "remote",
      "url": "https://mcp.inbound.new/mcp",
      "headers": {
        "x-inbound-api-key": "your-api-key"
      }
    }
  }
}

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
  "mcpServers": {
    "inbound": {
      "command": "npx",
      "args": ["-y", "@inbound/mcp"],
      "env": {
        "INBOUND_API_KEY": "your-api-key"
      }
    }
  }
}
Claude Desktop uses STDIO transport and runs the MCP server locally via npx.

Authentication

The MCP server authenticates using your Inbound API key. Get your API key from the dashboard.

Domain Restriction (Optional)

To restrict all operations to a single domain (and its subdomains), add the x-inbound-domain header:
{
  "mcpServers": {
    "inbound": {
      "type": "http",
      "url": "https://mcp.inbound.new/mcp",
      "headers": {
        "x-inbound-api-key": "your-api-key",
        "x-inbound-domain": "example.com"
      }
    }
  }
}
This will filter results to show only example.com and subdomains like mail.example.com, support.example.com, etc.

Available Tools

Domains

ToolDescription
list_domainsList all domains in your account (respects domain restriction)

Endpoints

ToolDescription
list_endpointsList webhook and email forwarding endpoints
create_endpointCreate a webhook, email forward, or email group endpoint

Emails

ToolDescription
list_emailsList sent, received, and scheduled emails with filtering
get_emailGet detailed information about a specific email including full content
send_emailSend or schedule an email

Threads

ToolDescription
list_threadsList email conversations with previews
get_threadGet all messages in a thread

Example Use Cases

Email Management

Once configured, you can ask your AI assistant to:
  • “List all my domains”
  • “Show me the last 10 received emails”
  • “Send an email to [email protected] with subject ‘Hello’”
  • “Get the full content of email ID abc123”
  • “Show me the conversation thread with [email protected]

Automation Workflows

Automated Responses

Ask your AI to draft and send email responses based on received messages

Email Analysis

Analyze email patterns, response times, and conversation threads

Endpoint Management

Create and configure webhook endpoints for different email addresses

Bulk Operations

Process multiple emails, schedule campaigns, or manage domains at scale

AI Agent Integration

Perfect for building AI agents that need email capabilities:
// Your AI agent can now:
// 1. Monitor incoming emails via list_emails
// 2. Parse and understand email content with get_email
// 3. Draft responses using LLM
// 4. Send emails via send_email
// 5. Track conversations with list_threads and get_thread

Available Prompts

The MCP server includes a getting-started prompt that teaches the AI assistant how to use Inbound effectively. Most AI assistants will automatically discover and use this prompt.

Self-Hosting

You can also run the MCP server locally:

Installation

npm install @inbound/mcp
# or
pnpm add @inbound/mcp
# or
bun add @inbound/mcp

Running

# HTTP server (for Cursor, OpenCode, etc.)
INBOUND_API_KEY=your-api-key npx @inbound/mcp start:http

# STDIO server (for Claude Desktop)
npx @inbound/mcp
The HTTP server runs on port 3002 by default. Configure your client to use http://localhost:3002/mcp.

Security Best Practices

Never commit your API key to version control. Use environment variables or a secrets manager.
Best practices:
  • Use environment variables for API keys: "x-inbound-api-key": "$INBOUND_API_KEY"
  • Restrict operations to specific domains using x-inbound-domain
  • Regularly rotate your API keys
  • Use separate API keys for different environments (dev, staging, production)
  • Monitor API usage in your Inbound dashboard

Troubleshooting

Make sure your API key is valid and has the necessary permissions. Check the MCP server logs for authentication errors.
Ensure the x-inbound-domain header value matches exactly with your domain name in Inbound (case-sensitive).
If self-hosting, verify the server is running and the port is accessible. For the hosted version, check your network connectivity.
The MCP server respects your account’s rate limits. Check your plan limits in the dashboard or upgrade for higher limits.

Configuration in stainless.yml

The MCP server is automatically generated from our OpenAPI spec using Stainless. Configuration:
targets:
  typescript:
    options:
      mcp_server:
        package_name: inbound-docs-mcp
        enable_all_resources: true
        host:
          stainless: true
This ensures the MCP server has access to all API resources and is automatically deployed to the hosted endpoint.

Next Steps

API Reference

Explore the full API that powers the MCP server

Better Auth Integration

Add authentication email notifications

Webhooks

Learn about webhook payloads and security

GitHub

View the SDK source code

Build docs developers (and LLMs) love