# Missive MCP connector

Connect Missive to Elaichi and Claude, ChatGPT, Cursor, or any MCP client can read shared inbox conversations, look up contacts, draft replies, and pull up saved responses, each person within their own Missive access, every action logged.

Source: https://elaichi.ai/connectors/missive/

## Facts

| | |
| --- | --- |
| Application | Missive |
| Category | Helpdesk |
| AI tools | 32 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 32 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Missive is connected

- Summarize open Missive conversations labeled Billing from this week.
- Which Missive teams have the most unassigned conversations?
- Find the Missive contact behind yesterday's escalated conversation.

## Connect Missive in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Missive.
2. Optionally set Share with, then press Connect.
3. Paste a Missive API key. One person generates a token in Missive and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Missive tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Missive to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Missive to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Missive to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Missive to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Missive tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Missive through Elaichi

### Catch up on a thread before replying

Support. Ask for the full Missive conversation, every message and every internal comment, and get a short summary of where it stands and who last touched it.

### Draft a reply from a saved response

Support. Have the agent find the right Missive response for the situation, adapt it to the customer's question, and leave it as a draft in the conversation for a person to check and send.

### Update a contact after a call

Sales. Tell the agent what changed and it updates the Missive contact, new title, new number, new company, without anyone opening the contact book.

### Find every conversation with an account

Sales. Ask for all Missive conversations involving a contact or a domain and get the history laid out in order, ready for a handover or a renewal call.

### Pull attachments out of a shared inbox

Operations. Ask for the invoices or signed forms sitting in a Missive conversation and the agent downloads the attachments so they can be filed or forwarded.

### Set up labels for a new project

Team leads. Describe the shared labels a new campaign or client needs and the agent creates them in Missive, or renames the old ones, so the team sorts mail the same way from day one.

## Frequently asked questions

### How do I connect Missive to Claude?

In Elaichi, choose Missive and paste in a Missive API key, which you create in Missive under your account settings; there is no OAuth application to register and no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in as yourself and Missive is available in Claude within a few minutes.

### Does Missive work with ChatGPT and Cursor as well as Claude?

Yes. Once Missive is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Missive once and every client you use picks it up.

### What can an AI agent actually do with my Missive data?

With Missive connected, an agent can read shared inbox conversations, their messages and internal comments, look up and update contacts, download attachments, find saved responses, create drafts, and create or rename shared labels. It can also list users, teams, and organizations so it knows who handles what. Missive has a lot of actions, so short, specific asks such as "summarize the thread with Acme from this week" work better than long instructions.

### Does connecting Missive give the AI access to every shared inbox?

No. Every request runs as the person who signed in, so an agent sees only the Missive conversations, contact books, and teams that person already has access to in Missive. Elaichi can narrow that further with restrictions, but it can never widen it beyond what the person could do in Missive themselves.

### Can my team share one Missive connection?

Yes. One person connects Missive in Elaichi and shares the connection with a team, and nobody else ever sees or handles the Missive API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person behind every Missive conversation read or contact updated.

### Can I stop an agent from deleting or changing things in Missive?

Yes. In Elaichi, restrictions on the Missive connection work per action, so you can allow reading conversations and contacts while blocking draft deletion, contact updates, or label changes. A blocked action is never shown to Claude, ChatGPT, Cursor, or any other client, so no prompt, however worded, can reach it.

### What happens to a Missive connection when someone leaves?

Offboarding that person in Elaichi ends their access to Missive through every AI client at once. If the Missive connection was shared with a team, it keeps working for everyone else on the team. And if you ever want Missive gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client at the same time.

## All 32 Missive tools

Every tool below is callable through https://api.elaichi.ai/mcp once Missive is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Missive users** (List). List users in organizations the authenticated user belongs to in Missive. Returns fields such as id, me, email, name, and avatar_url for each user.
- **List all Missive teams** (List). List teams in Missive for a specific organization using organization. Returns team id, name, organization, active_members, and observers.
- **List all Missive organizations** (List). List organizations the authenticated user is part of in Missive. Returns id and name for each organization in the response.
- **List all Missive conversations** (List). Returns a list of conversations visible to the authenticated user in the Missive account. It must be filtered by the mailbox, shared label, or team.
Each conversation includes its unique ID, subject, creation date, latest message subject, participants (users and external authors), message and attachment counts, associated organization and team details, the timestamp of the last activity, and direct URLs to access the conversation within Missive.
- **Get single Missive conversation by ID** (Get). Get a specific conversation in Missive using id. May return a different id if the conversation was merged. Returns fields including latest_message_subject, organization, users, messages_count, and web_url.
- **List all Missive conversation messages** (List). List messages in a conversation in Missive. Requires id. Returns message fields such as id, subject, preview, type, delivered_at, from_field, to_fields, and attachments ordered from newest to oldest.
- **List all Missive conversation comments** (List). List conversation comments in Missive for the specified id. Returns comments ordered from newest to oldest with fields such as id, body, created_at, author, mentions, attachment, and task details including state and due_at.
- **List all Missive shared labels** (List). List shared labels in Missive for an organization the authenticated user belongs to. Requires organization. Returns label id, name, name_with_parent_names, color, and organization in the response.
- **Create a Missive shared label** (Create). Create one or more shared labels in Missive. Requires name and organization. Returns shared_labels with id, name, name_with_parent_names, color, parent, and organization fields.
- **Update a Missive shared label by ID** (Update). Update one or more shared-labels in Missive using id. Returns updated shared_labels including name, color, parent, visibility, and sharing settings.
- **Missive attachments download** (Download). Use this endpoint to retrieve the raw contents of a specific attachment directly from a message. To specify the message and attachment, you must provide both the message_id and the attachment_id query parameters.
- **List all Missive contacts** (List). List contacts in Missive. Requires contact_book. Returns id, first_name, last_name, starred, contact_book, deleted, modified_at, infos, and memberships fields for each contact.
- **Get single Missive contact by ID** (Get). Get a specific contact in Missive using id. Returns key details about the contact. A 404 is returned if the contact has been deleted.
- **Create a Missive contact** (Create). Create contact(s) in Missive. Requires contact_book in the request body. Returns contacts with fields such as id, first_name, last_name, starred, contact_book, infos, memberships, and modified_at.
- **Update a Missive contact by ID** (Update). Update one or more contacts in Missive using id. Returns the updated contacts with embedded memberships and infos in the response.
- **List all Missive contact books** (List). List contact books in Missive accessible to the authenticated user. Returns id, name, user, organization, share_with_organization, share_with_team, share_with_users, and description fields.
- **List all Missive contact groups** (List). List contact groups or organizations linked to a contact book in Missive. Requires contact_book and kind. Returns contact_groups including id and name.
- **Create a Missive draft** (Create). Create a new draft in Missive. Returns the created draft object including subject, body, to_fields, from_field and other configuration details. Requires specifying draft content and recipient data.
- **Delete a Missive draft by ID** (Delete). Delete a draft in Missive. Requires id. Returns confirmation of deletion for the specified draft.
- **List all Missive messages** (List). List messages in Missive matching a specific email_message_id. Returns up to 10 messages if multiple exist, each including headers, body, and attachments.
- **Get single Missive message by ID** (Get). Get a specific message in Missive by id. Returns key fields including subject, body, from_field, to_fields, attachments, and conversation details such as organization, team, and assignees.
- **Create a Missive message** (Create). Create a new incoming message in Missive. Requires account. Returns message details including id, subject, body, from_field, to_fields, delivered_at, and attachments.
- **List all Missive responses** (List). List responses for the authenticated user in Missive. Returns each response with fields including id, title, body, subject, organization, user, share_with_team, modified_at, recipients (to_fields, cc_fields, bcc_fields), shared_labels, and attachments details such as filename, url, and size.
- **Get single Missive response by ID** (Get). Get a specific response in Missive using id. Returns fields such as id, name, subject, and body representing the saved email or message template details.
- **Create a Missive post** (Create). Create a post in Missive. Requires notification with title and body, and optionally conversation for appending to an existing one. Returns conversation (conversation id where post was added) and id (post id used for deletion).
- **Delete a Missive post by ID** (Delete). Delete a post in Missive using its id. Removes the post from the associated conversation. Only organization owners and admins can delete posts in shared conversations. Returns the deleted post's id and conversation fields in response.
- **Create a Missive task** (Create). Create a new task in Missive. Requires title. Returns id, conversation, title, description, state, assignees, team, and due_at fields in the response.
- **Update a Missive task by ID** (Update). Update a specific task in Missive using id. Returns updated fields including title, description, state, assignees, team, and due_at.
- **Create a Missive webhook** (Create). Create a webhook in Missive to subscribe to specific events. Requires type and url. Returns the id of the created webhook in the response.
- **Delete a Missive webhook by ID** (Delete). Delete a webhook in Missive using id. This removes the corresponding rule containing the webhook action. Returns confirmation of deletion.
- **Create a Missive analytics report** (Create). Create an analytics report in Missive. Requires organization, start, and end. Returns the report id used to retrieve report results.
- **Get single Missive analytics report by ID** (Get). Get an analytics report in Missive using id. Reports expire 60 seconds after completion and return 404 if incomplete, expired, or inexistent. Response includes analytics data for the requested report.
