MCP App Store
by KeenEthics

Overview

Missive is the email client teams run their business from: one shared inbox for email, WhatsApp, SMS, and the internal chat around them. Connecting Missive lets Claude search conversations across every channel in one pass, summarize threads and labels, look up contacts, calendars, and canned responses, and stage drafts with your team's signature applied. Ask who's still waiting on a reply, which customer emails are urgent this week, or what topics keep coming up in support. Claude drafts; your team reviews. Composing and delivering are separate steps, so nothing reaches a customer until someone approves it, and you can disable sending entirely for a draft-only setup.

Tools

change_labels

ChatGPT
Add and or remove labels from a conversation. At least one of add_shared_label_ids, add_mailbox_ids, remove_shared_label_ids, or remove_mailbox_ids is required. If you have multiple labels/mailboxes to add, do it all in a single tool call. If you have multiple conversations to change labels on, do a separate tool call for each conversation. Don't describe the labels in text.

compose_draft

ChatGPT
Create or update a message draft. Follow it with deliver_draft (using the returned conversation_id and draft_id) if the user asked to send, not just to draft. For email, unless the user's preferences specify otherwise: - Include a greeting like 'Hi [Name],' at the start; - Omit closings and signatures (the signature is appended automatically).

deliver_draft

ChatGPT
Deliver a draft in the current conversation.

get_calendar_events

ChatGPT
Fetch calendar events to check the user's availability. Use this tool when: - The conversation involves scheduling, meetings, or availability; - Someone asks about meeting times or when the user is free; - Drafting a reply that proposes meeting times; If calendar_ids is omitted, queries all accessible calendars. Use mode='availability' to get just busy time slots, or mode='full' for event details. IMPORTANT: When inferring dates from conversation context: - If a month is mentioned without a year, use the NEXT occurrence of that month (future, not past); - "Upcoming", "next", or future-tense language always means a date after today; - Check the current date before making assumptions about which year.

get_contact_details

ChatGPT
Look up contact details from contact books. Search by email, phone number, or general query (name, company, etc.). Returns up to 5 matching contacts.

get_conversation_entries

ChatGPT
Fetch older entries for a conversation that was cropped. Only call this when next_entries_before is present and you need more history.

get_conversations

ChatGPT
Fetch conversations by conversation IDs or shared label IDs. Only use this if you don't have a search term, otherwise use search_conversations to get the conversation IDs first. One of conversation_ids, shared_label_ids, team_ids, email_account_ids, or generic_account_ids is required. <conversation> headers and metadata are always included. Always assess first whether you need the full content or only the headers and metadata, and pass include_content accordingly. If you're asked to get a conversation in a specific mailbox, always use mailbox_id parameter. total_count and unseen_count reflect the number of conversations on all pages. If you need file attachments to get the context, reload the conversation with include_attachments parameter.

get_search_results

ChatGPT
Poll for additional results from a previously started conversation search. Use this after search_conversations returns partial results (done="false"). Pass the search_id from the previous response.

list_calendars

ChatGPT
List all calendars the user has access to. Returns calendar names, IDs, and ownership status (owned vs delegated/shared). Use this to discover which calendars to query for events.

manage_calendar_events

ChatGPT
Create, update, or delete a calendar event. Use list_calendars first to discover which calendars the user has access to. Use get_calendar_events to find existing event IDs for update or delete operations. Times must be in ISO 8601 format (e.g., 2024-03-15T10:00:00). For all-day events, use date format YYYY-MM-DD. Add a video call if the user might mean it. If the video conference was created, return the link to the user.

search_conversations

ChatGPT
Search conversations across all connected accounts (email, chat, etc.). NEVER use this tool if the user didn't provide a search term string, use get_conversations instead. Supports filtering by email filters, internal/external scopes, and shared labels. If you need then to get full conversation content, use get_conversations with the conversation IDs. CRITICAL: This is KEYWORD search, NOT semantic search. Multi-word queries require ALL words to appear in the email - this usually FAILS. QUERY STRATEGY: 1. Extract the CORE searchable noun from the user's request 2. IGNORE qualifiers: "my", "last", "recent", "the", "about", "for" - these hurt the search 3. Use FILTERS (date, email) to narrow - not more keywords 4. If no/wrong results, expand to SYNONYMS (see below) SYNONYM EXPANSION - Start with most likely term, expand if no/wrong results: - invoice → receipt → bill → statement - quote → estimate → proposal → pricing - shipping → delivery → tracking → shipment - contract → agreement → terms - payment → paid → transaction → charge - order → purchase → confirmation EXAMPLES - User request → Correct approach: "Find my last utility invoice" → Start: query: "invoice" + since filter → No/wrong results? Try "bill", then "statement" "What was the contractor's quote?" → Start: query: "quote" → No/wrong results? Try "estimate", then "proposal" WRONG: query: "last utility invoice" (0 results - emails don't contain "last") RIGHT: query: "invoice" + filters → no/wrong results → try "bill" → try "statement" AVAILABLE FILTERS: - email: Conversations involving this address (sender OR recipient) - from/to: Specific email header fields - since/before: Date range (YYYY-MM-DD) - has_attachments: Only with attachments - search_in_internal: Search comments/posts/drafts only - search_in_external: Search emails/messages only - mailbox_id: Search conversations in the specified mailbox. Only pass the mailbox ID from the mailbox or team record, otherwise use search_mailboxes tool first. If you're asked to get a conversation in a specific mailbox, always use this parameter. Note: A conversation can have both internal comments AND external emails/messages. WORKFLOW: 1. Search with most likely term + filters 2. If done="false" → call get_search_results with search_id for more results 3. If too many results → add email/date filters 4. If no/wrong results → try next synonym from the list above 5. Once you have results → use get_conversations to fetch full content If you're unsure about filters, ASK the user for clarification rather than running a broad search. A narrow search that misses some results is better than a broad search that returns thousands. ASYNC BEHAVIOR: Search runs across multiple sources (Gmail, Office365, etc.). Initial results return quickly, but if done="false", call get_search_results with the returned search_id to get additional results as they arrive.

search_mailboxes

ChatGPT
Search unified and label mailboxes. It does not search conversations within these mailboxes, only mailboxes themselves. Does not return individual team mailboxes, retrieve them through a team record if needed. One of query or types is required. When query is provided, types is forced to "label" (to search only non-system folders). If you need to find an email account, use the email_account_query parameter with types: ['all']

search_responses

ChatGPT
Search canned responses by semantic similarity. Use this to find relevant templates, policies, or pre-written replies that can help answer a question.

search_shared_labels

ChatGPT
Search shared labels across all user organizations. At least one of query, label_ids, or parent_label_ids is required.

search_teams

ChatGPT
Search teams across all user organizations. At least one of query, team_ids, or organization_ids is required.

change_labels

Claude

compose_draft

Claude

get_calendar_events

Claude

get_contact_details

Claude

get_conversation_entries

Claude

get_conversations

Claude

get_search_results

Claude

list_calendars

Claude

manage_calendar_events

Claude

search_conversations

Claude

search_mailboxes

Claude

search_responses

Claude

search_shared_labels

Claude

search_teams

Claude

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps