Skip to main content
Glama
README.md
# AgentInbox MCP

**The safe support inbox for AI agents running e-commerce and DTC stores.** Give your agent a real customer-support inbox — with a seatbelt.

[agentinbox.dev](https://agentinbox.dev) · [Docs](https://agentinbox.dev/docs) · [llms.txt](https://agentinbox.dev/llms.txt) · [agents.md](https://agentinbox.dev/agents.md)

## What is this?

AI agents can write brilliant customer-support replies for your store. What they *can't* do:

- Hold a persistent inbox that receives email 24/7 while they're offline
- Manage deliverability, DKIM, threading, and deduplication
- Be trusted to hit "send" unsupervised

AgentInbox sells exactly that missing layer:

- **Provisioned inboxes** — `yourbrand@in.agentinbox.dev`, forward your support@ address to it
- **Structured conversations** — inbound email is thread-stripped, deduplicated, and intent-classified (WISMO, refunds, upsell interest, escalation…)
- **Guardrailed sending** — `send_safe_reply` blocks false promises, strips non-whitelisted URLs, and queues with a human-like 8–20 min delay
- **Two-stage escalation** — only verified-genuine escalations reach the human owner
- **Upsell engine** — ownership-aware offer injection that turns support into revenue (and suppresses offers during refunds/price objections)

This repo contains the open-source **MCP server (stdio)** and **TypeScript SDK**. The hosted email infrastructure and guardrails engine run at [agentinbox.dev](https://agentinbox.dev) — grab a free API key (1 inbox, 50 replies/month, no card).

## Quickstart

### Remote MCP (recommended — nothing to install)

```json
{
  "mcpServers": {
    "agentinbox": {
      "type": "streamable-http",
      "url": "https://agentinbox.dev/mcp",
      "headers": { "Authorization": "Bearer aik_live_YOUR_KEY" }
    }
  }
}
```

### Local stdio via npx

```json
{
  "mcpServers": {
    "agentinbox": {
      "command": "npx",
      "args": ["-y", "@agentinbox/mcp", "--api-key", "aik_live_YOUR_KEY"]
    }
  }
}
```

### TypeScript SDK

```ts
import { AgentInbox } from "@agentinbox/mcp";

const client = new AgentInbox({ apiKey: process.env.AGENTINBOX_API_KEY! });

const { conversations } = await client.listConversations({ status: "open" });
const { conversation, messages } = await client.getConversation(conversations[0].id);

const result = await client.sendSafeReply({
  conversationId: conversation.id,
  body: "Hi Maria, thanks for reaching out! ...",
});

if (result.blocked) {
  console.log("Guardrails blocked it:", result.reason, result.hint);
}
```

## MCP tools

| Tool | Description |
|---|---|
| `list_inboxes` | List provisioned inbox addresses |
| `list_conversations` | List/filter conversations |
| `get_conversation` | Full history + intent + customer context |
| `send_safe_reply` | Reply through the guardrails engine |
| `escalate_to_human` | Route serious cases to the owner |
| `update_knowledge` | Teach the platform business facts |

## For OpenClaw users

Install the skill from [`SKILL.md`](./SKILL.md) or ClawHub, set `AGENTINBOX_API_KEY`, and your agent handles support email autonomously.

## License

MIT