# Connect AI Tools

Inboxjot runs a hosted MCP server. Connect it to Claude, ChatGPT, Cursor or any tool that supports MCP, then ask it to send email, look up deliveries or build a campaign. You sign in once and choose what it can do.

## Server URL

Paste this URL into any tool that supports remote MCP servers.

```
https://mcp.inboxjot.com
```

## Set Up Your Tool

### Claude Code

Add the server from your terminal. Run /mcp in Claude Code and select inboxjot. Sign in to Inboxjot, pick your workspace and approve the access.

```bash
claude mcp add --transport http inboxjot https://mcp.inboxjot.com
```

### Cursor

Add the server to \~/.cursor/mcp.json. Open Customize in the Cursor sidebar and sign in to inboxjot. Sign in to Inboxjot, pick your workspace and approve the access.

```json
{ "mcpServers": { "inboxjot": { "url": "https://mcp.inboxjot.com" } } }
```

### Codex

Add the server from your terminal. Run codex mcp login inboxjot. Sign in to Inboxjot, pick your workspace and approve the access.

```bash
codex mcp add inboxjot --url https://mcp.inboxjot.com
```

### Pi

Add the server from your terminal. Run pi mcp login inboxjot. Sign in to Inboxjot, pick your workspace and approve the access.

```bash
pi mcp add inboxjot --url https://mcp.inboxjot.com
```

### VS Code

Add the server from your terminal. Run MCP: List Servers and start inboxjot. Sign in to Inboxjot, pick your workspace and approve the access.

```bash
code --add-mcp '{"name":"inboxjot","type":"http","url":"https://mcp.inboxjot.com"}'
```

### GitHub Copilot

Add the server to Copilot CLI from your terminal. Start copilot and run /mcp auth inboxjot. Sign in to Inboxjot, pick your workspace and approve the access.

```bash
copilot mcp add --transport http inboxjot https://mcp.inboxjot.com
```

### Devin

Add the server from your terminal. Run devin mcp login inboxjot. Sign in to Inboxjot, pick your workspace and approve the access.

```bash
devin mcp add -s user inboxjot --url https://mcp.inboxjot.com
```

### Windsurf

Add the server to \~/.config/devin/mcp_config.json. Open the MCP list in Devin Desktop and choose Authenticate. Sign in to Inboxjot, pick your workspace and approve the access.

```json
{ "mcpServers": { "inboxjot": { "url": "https://mcp.inboxjot.com", "transport": "http" } } }
```

Each tool has its own setup page: [Claude Code](https://inboxjot.com/docs/mcp/claude-code.md), [Cursor](https://inboxjot.com/docs/mcp/cursor.md), [Codex](https://inboxjot.com/docs/mcp/codex.md), [Pi](https://inboxjot.com/docs/mcp/pi.md), [VS Code](https://inboxjot.com/docs/mcp/vs-code.md), [GitHub Copilot](https://inboxjot.com/docs/mcp/github-copilot.md), [Devin](https://inboxjot.com/docs/mcp/devin.md) and [Windsurf](https://inboxjot.com/docs/mcp/windsurf.md).

## Access

When a tool connects, you pick a workspace and the access it gets: Full Access, Read Only, or a custom set of areas. You see every connected tool on the MCP page of the dashboard and can revoke it at any time.

Each area has a read and a write scope, such as `emails:read` and `emails:write`. The areas are emails, contacts, campaigns, automations, templates, domains, webhooks and settings. A tool call without its scope is refused.

## Available Tools

| Tool                       | Scope               | Description                                                                                                |
| -------------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------- |
| `send_email`               | `emails:write`      | Send one transactional email from a verified domain, or from a template, to up to 50 recipients.           |
| `get_email`                | `emails:read`       | Get one email by id: sender, recipient, subject, status and send time.                                     |
| `list_emails`              | `emails:read`       | List sent emails, newest first. Filter by recipient or subject text, status, source and send time.         |
| `get_stats`                | `emails:read`       | Get sending totals for a date range: sent, delivered, opened, clicked, bounced and complained.             |
| `list_contacts`            | `contacts:read`     | List contacts, newest first. Search by email or name, or filter by status or segment.                      |
| `get_contact`              | `contacts:read`     | Get one contact with its properties, segments, email stats and last email.                                 |
| `create_contact`           | `contacts:write`    | Add a contact by email. If the email exists, its fields are updated instead.                               |
| `update_contact`           | `contacts:write`    | Change a contact’s name, language, notes, properties, subscription or static segments.                     |
| `set_contact_topics`       | `contacts:write`    | Subscribe a contact to topics or unsubscribe it.                                                           |
| `delete_contact`           | `contacts:write`    | Delete a contact and remove it from every segment and topic. This cannot be undone.                        |
| `list_segments`            | `contacts:read`     | List static and dynamic segments with their contact counts.                                                |
| `list_topics`              | `contacts:read`     | List subscription topics with their subscriber counts.                                                     |
| `list_contact_properties`  | `contacts:read`     | List the custom contact properties: key, label and type.                                                   |
| `list_campaigns`           | `campaigns:read`    | List campaigns, most recently sent first, with delivered, opened and clicked counts.                       |
| `get_campaign`             | `campaigns:read`    | Get one campaign: subject, sender, audience, schedule, status, delivery totals and its content.            |
| `create_campaign`          | `campaigns:write`   | Create a draft campaign from HTML, from a template, or blank. Nothing is sent until someone schedules it.  |
| `update_campaign`          | `campaigns:write`   | Change a draft or scheduled campaign while people may be editing it.                                       |
| `list_campaign_versions`   | `campaigns:read`    | List the saved states of a campaign, newest first.                                                         |
| `restore_campaign_version` | `campaigns:write`   | Put a saved version back into a draft or scheduled campaign. The audience and topic stay the same.         |
| `preview_campaign`         | `campaigns:read`    | Render a campaign as it will be sent: subject, preview text, HTML and plain text.                          |
| `send_test_campaign`       | `campaigns:write`   | Send the campaign as it is now to up to 5 addresses, with \[Test] before the subject.                      |
| `list_templates`           | `templates:read`    | List email templates, most recently updated first, without their HTML.                                     |
| `get_template`             | `templates:read`    | Get one template: name, sender, subject, preview and its content.                                          |
| `create_template`          | `templates:write`   | Create a template from HTML, from a starter, or blank.                                                     |
| `update_template`          | `templates:write`   | Change a template while people may be editing it.                                                          |
| `publish_template`         | `templates:write`   | Make the draft of a template the version that API and automation sends use.                                |
| `list_template_versions`   | `templates:read`    | List the saved states of a template, newest first.                                                         |
| `restore_template_version` | `templates:write`   | Put a saved version back into the draft of a template. The current draft stays in history.                 |
| `preview_template`         | `templates:read`    | Render the draft of a template: subject, preview text, HTML and plain text.                                |
| `list_images`              | `templates:read`    | List images in the media library, newest first, with their hosted URLs.                                    |
| `guide`                    | `templates:read`    | Read how to write and edit email content before a create or update call.                                   |
| `get_workspace`            | `settings:read`     | Get the workspace brand: name, logo URL and postal address, plus each sending domain with its own address. |
| `list_domains`             | `domains:read`      | List sending domains with their verification status and the DNS records that still need to verify.         |
| `get_domain`               | `domains:read`      | Get one domain with its DNS records, tracking settings and the last 30 days of sends and bounces.          |
| `list_automations`         | `automations:read`  | List automations with their trigger and status.                                                            |
| `set_automation_status`    | `automations:write` | Turn an automation on or off.                                                                              |
| `list_webhooks`            | `webhooks:read`     | List webhook endpoints with their URL, status and subscribed events. Signing secrets are never returned.   |
