missive

Read email/chat conversations, messages, contacts and teams; draft, send and update threads.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
91%
Integridad del esquema
96%
Calidad de los nombres
76%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (4)

  • LOWTool 'missive_list_conversation_messages' name length outside 3-30 rangeen missive_list_conversation_messages
  • LOWTool 'missive_list_conversation_comments' name length outside 3-30 rangeen missive_list_conversation_comments
  • LOWTool 'missive_list_conversation_drafts' name length outside 3-30 rangeen missive_list_conversation_drafts
  • LOWTool 'missive_list_conversation_posts' name length outside 3-30 rangeen missive_list_conversation_posts

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,596Tokens (definiciones de herramientas)
~1.8 KBTamaño de respuesta típico
Impacto significativo en la atención (2.81% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "missive": {
      "url": "https://missive.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://missive.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (19)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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}.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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}.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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}.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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}.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada19 herramientas