missive
Read email/chat conversations, messages, contacts and teams; draft, send and update threads.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (4)
- LOWin missive_list_conversation_messages
- LOWin missive_list_conversation_comments
- LOWin missive_list_conversation_drafts
- LOWin missive_list_conversation_posts
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"missive": {
"url": "https://missive.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://missive.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (19)
🟢missive_list_conversations(limit, until, inbox, assigned, closed, ...)
List conversations (email/chat threads). Missive requires EXACTLY ONE mailbox-type filter — one of inbox / assigned / closed / flagged / snoozed / trashed / all / shared_label / team_inbox / team_all / organization. Missive: GET /conversations.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Max conversations to return (default 25, max 50).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"until": {
"description": "Unix timestamp cursor — return records older than this (offset-less pagination).",
"type": "number"
},
"inbox": {
"description": "Conversations in your inbox.",
"type": "boolean"
},
"assigned": {
"description": "Conversations assigned to you.",
"type": "boolean"
},
"closed": {
"description": "Closed conversations.",
"type": "boolean"
},
"flagged": {
"description": "Flagged conversations.",
"type": "boolean"
},
"snoozed": {
"description": "Snoozed conversations.",
"type": "boolean"
},
"trashed": {
"description": "Trashed conversations.",
"type": "boolean"
},
"all": {
"description": "All conversations.",
"type": "boolean"
},
"shared_label": {
"description": "Conversations under a shared label id.",
"type": "string"
},
"team_inbox": {
"description": "Conversations in a team's inbox (team id).",
"type": "string"
},
"team_all": {
"description": "All of a team's conversations (team id).",
"type": "string"
},
"organization": {
"description": "Filter to an organization id.",
"type": "string"
},
"email": {
"description": "Filter to conversations involving this email address.",
"type": "string"
},
"contact_organization": {
"description": "Filter to a contact organization id.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_get_conversation(id)
Get a single conversation by id. Missive: GET /conversations/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The resource id (a UUID-like string)."
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_list_conversation_messages(id, limit, until)
List the messages (emails) in a conversation. Missive: GET /conversations/{id}/messages.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The resource id (a UUID-like string)."
},
"limit": {
"description": "Max messages to return (default 10, max 10).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"until": {
"description": "Unix timestamp cursor — return records older than this (offset-less pagination).",
"type": "number"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_get_message(conversation_id, id)
Get a single message, including the full body. Missive: GET /conversations/{conversation_id}/messages/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"conversation_id": {
"type": "string",
"description": "The conversation id the message belongs to."
},
"id": {
"type": "string",
"description": "The message id."
}
},
"required": [
"conversation_id",
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_list_conversation_comments(id, limit, until)
List internal comments (team chat) on a conversation. Missive: GET /conversations/{id}/comments.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The resource id (a UUID-like string)."
},
"limit": {
"description": "Max records to return.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"until": {
"description": "Unix timestamp cursor — return records older than this (offset-less pagination).",
"type": "number"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_list_conversation_drafts(id, limit, until)
List draft messages on a conversation. Missive: GET /conversations/{id}/drafts.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The resource id (a UUID-like string)."
},
"limit": {
"description": "Max records to return.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"until": {
"description": "Unix timestamp cursor — return records older than this (offset-less pagination).",
"type": "number"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_list_conversation_posts(id, limit, until)
List posts (integration/app-generated items) on a conversation. Missive: GET /conversations/{id}/posts.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The resource id (a UUID-like string)."
},
"limit": {
"description": "Max records to return.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"until": {
"description": "Unix timestamp cursor — return records older than this (offset-less pagination).",
"type": "number"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_list_contacts(contact_book, search, order, limit, offset, ...)
List contacts in a contact book. Missive: GET /contacts.
Eingabe-Schema
{
"type": "object",
"properties": {
"contact_book": {
"type": "string",
"description": "The contact book id to list contacts from (required)."
},
"search": {
"description": "Free-text search over contacts.",
"type": "string"
},
"order": {
"description": "Sort order (default \"last_name\").",
"type": "string"
},
"limit": {
"description": "Max contacts to return (default 50, max 200).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Number of records to skip (offset pagination).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"modified_since": {
"description": "Unix timestamp — only contacts modified since.",
"type": "number"
},
"include_deleted": {
"description": "Include deleted contacts.",
"type": "boolean"
}
},
"required": [
"contact_book"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_get_contact(id)
Get a single contact by id. Missive: GET /contacts/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The resource id (a UUID-like string)."
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_list_contact_books(limit, offset)
List contact books (address books). Missive: GET /contact_books.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Max contact books to return (default 50, max 200).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Number of records to skip (offset pagination).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_list_contact_groups(contact_book, kind, limit, offset)
List contact groups or organizations within a contact book. Missive: GET /contact_groups.
Eingabe-Schema
{
"type": "object",
"properties": {
"contact_book": {
"type": "string",
"description": "The contact book id (required)."
},
"kind": {
"type": "string",
"enum": [
"group",
"organization"
],
"description": "Which kind to list: \"group\" or \"organization\"."
},
"limit": {
"description": "Max records to return.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Number of records to skip (offset pagination).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"contact_book",
"kind"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_list_teams(organization, limit, offset)
List teams in the organization(s). Missive: GET /teams.
Eingabe-Schema
{
"type": "object",
"properties": {
"organization": {
"description": "Filter to an organization id.",
"type": "string"
},
"limit": {
"description": "Max records to return.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Number of records to skip (offset pagination).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_list_users(organization, limit, offset)
List users (team members). Missive: GET /users.
Eingabe-Schema
{
"type": "object",
"properties": {
"organization": {
"description": "Filter to an organization id.",
"type": "string"
},
"limit": {
"description": "Max records to return.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Number of records to skip (offset pagination).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_list_shared_labels(organization, limit, offset)
List shared labels (team-shared folders/tags). Missive: GET /shared_labels.
Eingabe-Schema
{
"type": "object",
"properties": {
"organization": {
"description": "Filter to an organization id.",
"type": "string"
},
"limit": {
"description": "Max records to return.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Number of records to skip (offset pagination).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_list_organizations(limit, offset)
List organizations you belong to. Missive: GET /organizations.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Number of records to skip (offset pagination).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢missive_list_responses(organization, limit, offset)
List canned responses / templates. Missive: GET /responses.
Eingabe-Schema
{
"type": "object",
"properties": {
"organization": {
"description": "Filter to an organization id.",
"type": "string"
},
"limit": {
"description": "Max records to return.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Number of records to skip (offset pagination).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴missive_create_draft(body, subject, to_fields, cc_fields, bcc_fields, ...)
Create a draft email/message. WARNING: setting send=true SENDS a real email immediately (send_at schedules it) instead of saving a draft. Attach to an existing thread with `conversation`. Missive: POST /drafts.
Eingabe-Schema
{
"type": "object",
"properties": {
"body": {
"type": "string",
"description": "The message body (HTML) — required."
},
"subject": {
"description": "The subject line.",
"type": "string"
},
"to_fields": {
"description": "Recipients ({address, name?}).",
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Email address."
},
"name": {
"description": "Display name.",
"type": "string"
}
},
"required": [
"address"
],
"description": "An email participant ({address, name?})."
}
},
"cc_fields": {
"description": "Cc recipients.",
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Email address."
},
"name": {
"description": "Display name.",
"type": "string"
}
},
"required": [
"address"
],
"description": "An email participant ({address, name?})."
}
},
"bcc_fields": {
"description": "Bcc recipients.",
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Email address."
},
"name": {
"description": "Display name.",
"type": "string"
}
},
"required": [
"address"
],
"description": "An email participant ({address, name?})."
}
},
"from_field": {
"description": "The sender ({address, name?}).",
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Email address."
},
"name": {
"description": "Display name.",
"type": "string"
}
},
"required": [
"address"
]
},
"conversation": {
"description": "Attach the draft to an existing conversation id.",
"type": "string"
},
"references": {
"description": "Message-ID references (for threading).",
"type": "array",
"items": {
"type": "string"
}
},
"send": {
"description": "If true, SEND the email immediately instead of saving a draft.",
"type": "boolean"
},
"send_at": {
"description": "Unix timestamp to schedule the send.",
"type": "number"
},
"organization": {
"description": "Organization id to send from.",
"type": "string"
},
"add_assignees": {
"description": "User ids to assign to the conversation.",
"type": "array",
"items": {
"type": "string"
}
},
"add_shared_labels": {
"description": "Shared label ids to apply.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"body"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴missive_update_conversation(id, add_assignees, remove_assignees, add_shared_labels, remove_shared_labels, ...)
Update a conversation — assign/unassign users, add/remove shared labels, close/reopen, move to inbox, or set subject/color/team. Missive: PATCH /conversations/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The resource id (a UUID-like string)."
},
"add_assignees": {
"description": "User ids to assign.",
"type": "array",
"items": {
"type": "string"
}
},
"remove_assignees": {
"description": "User ids to unassign.",
"type": "array",
"items": {
"type": "string"
}
},
"add_shared_labels": {
"description": "Shared label ids to add.",
"type": "array",
"items": {
"type": "string"
}
},
"remove_shared_labels": {
"description": "Shared label ids to remove.",
"type": "array",
"items": {
"type": "string"
}
},
"close": {
"description": "Close (archive) the conversation.",
"type": "boolean"
},
"reopen": {
"description": "Reopen the conversation.",
"type": "boolean"
},
"add_to_inbox": {
"description": "Move the conversation back to the inbox.",
"type": "boolean"
},
"subject": {
"description": "Set the conversation subject.",
"type": "string"
},
"color": {
"description": "Set the conversation color.",
"type": "string"
},
"organization": {
"description": "Organization id (context for the update).",
"type": "string"
},
"team": {
"description": "Team id to move the conversation to.",
"type": "string"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴missive_create_contact(contact_book, first_name, last_name, starred, infos, ...)
Create a contact in the given contact book. Missive: POST /contacts.
Eingabe-Schema
{
"type": "object",
"properties": {
"contact_book": {
"type": "string",
"description": "The contact book id to create the contact in (required)."
},
"first_name": {
"description": "First name.",
"type": "string"
},
"last_name": {
"description": "Last name.",
"type": "string"
},
"starred": {
"description": "Whether the contact is starred.",
"type": "boolean"
},
"infos": {
"description": "Contact info entries (email/phone/etc. objects).",
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"memberships": {
"description": "Group/organization membership objects.",
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
},
"required": [
"contact_book"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis