Skip to main content
Glama

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsB

Average 3.5/5 across 19 of 19 tools scored.

Server CoherenceA
Disambiguation5/5

Every tool targets a unique resource-action combination (e.g., missive_get_contact vs missive_list_contacts). There is no overlap in functionality; the purposes are clearly distinct.

Naming Consistency5/5

All tool names follow a strict 'missive_verb_noun' pattern in lowercase snake_case. Verbs are limited to create, get, list, and update, applied consistently across resources.

Tool Count4/5

With 19 tools, the server is slightly above the ideal range (3-15) but still reasonable for covering multiple resources like contacts, conversations, messages, and lists. Each tool serves a specific purpose without unnecessary redundancy.

Completeness4/5

Core workflows are covered: listing, getting, creating contacts/drafts, managing conversations, and viewing sub-items. Minor gaps exist (no update for contacts, no delete for any resource), but these are acceptable for an initial release.

Available Tools

19 tools
missive_create_contactCreate contactB
Destructive
Inspect

Create a contact in the given contact book. Missive: POST /contacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
infosNoContact info entries (email/phone/etc. objects).
starredNoWhether the contact is starred.
last_nameNoLast name.
first_nameNoFirst name.
membershipsNoGroup/organization membership objects.
contact_bookYesThe contact book id to create the contact in (required).
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only says 'Create', which is consistent with the `destructiveHint: true` annotation. No additional behavioral details are provided, such as success/error behavior or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence plus an endpoint note, very concise. It could be slightly more informative without being wordy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description does not explain what the response looks like. With 6 parameters, only the contact book is mentioned; the description is too minimal to fully guide usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra parameter meaning beyond what is in the schema, meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a contact in a given contact book, with a specific API endpoint. It is distinct from sibling tools like `missive_get_contact` (retrieval) and `missive_list_contacts` (listing).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites, and no mention of when not to use it. The sibling tool list is given but without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_create_draftCreate draftA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesThe message body (HTML) — required.
sendNoIf true, SEND the email immediately instead of saving a draft.
send_atNoUnix timestamp to schedule the send.
subjectNoThe subject line.
cc_fieldsNoCc recipients.
to_fieldsNoRecipients ({address, name?}).
bcc_fieldsNoBcc recipients.
from_fieldNoThe sender ({address, name?}).
referencesNoMessage-ID references (for threading).
conversationNoAttach the draft to an existing conversation id.
organizationNoOrganization id to send from.
add_assigneesNoUser ids to assign to the conversation.
add_shared_labelsNoShared label ids to apply.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses critical mutation behaviors: send=true sends immediately, send_at schedules. Annotations provide destructiveHint=true, and the description adds valuable context beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences plus API hint, front-loaded with main action and warning. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite many parameters, description lacks details on parameter interactions (e.g., send vs send_at), constraints (e.g., subject requirement for sending), and does not explain return values (no output schema). Adequate but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds limited extra meaning (e.g., attaching to thread), but does not significantly enhance parameter understanding beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a draft email/message' (verb+resource) and distinguishes from sibling tools like get_message or list_conversation_drafts by focusing on creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit warning about send=true sending a real email and mentions attaching to existing threads, giving clear usage context. Lacks explicit when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_get_contactGet contactA
Read-only
Inspect

Get a single contact by id. Missive: GET /contacts/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe resource id (a UUID-like string).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already indicates the tool is read-only. The description adds no further behavioral context (e.g., authentication needs, rate limits) beyond the underlying API endpoint. Annotations bear the burden, so a neutral score is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one sentence plus the API endpoint. No fluff or redundant information. Every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with one parameter and no output schema, the description is mostly adequate. However, it lacks information about the return format or content, which would help an agent anticipate the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description for the 'id' parameter. The description does not add new meaning beyond 'by id', so it meets the baseline without exceeding it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves a single contact by ID (verb: 'Get', resource: 'single contact'). This distinguishes it from sibling tools like missive_create_contact (creation) and missive_list_contacts (listing).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description does not specify when to use this tool over alternatives like missive_list_contacts, nor does it mention prerequisites or context for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_get_conversationGet conversationB
Read-only
Inspect

Get a single conversation by id. Missive: GET /conversations/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe resource id (a UUID-like string).
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true. The description adds no extra behavioral details beyond stating it's a GET operation. No mention of side effects, permissions, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: one sentence plus an API reference line. No unnecessary words, front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (single parameter, no output schema), the description is adequate but does not explain the return value structure. Could briefly mention what the response contains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with a description for 'id'. The description does not add new meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get a single conversation by id', specifying the verb and resource. It distinguishes from sibling tools like list_conversations and update_conversation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like missive_list_conversations or missive_update_conversation. The description lacks context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_get_messageGet messageA
Read-only
Inspect

Get a single message, including the full body. Missive: GET /conversations/{conversation_id}/messages/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe message id.
conversation_idYesThe conversation id the message belongs to.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description's mention of 'full body' adds some behavioral context beyond annotations. However, it does not disclose potential limitations like pagination, encoding, or access requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two short sentences, front-loading the key action and resource. No redundant information is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with two parameters, the description covers the core action and result. However, without an output schema, it would benefit from clarifying what 'full body' entails (e.g., plain text, HTML). Still, it is mostly complete given the low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains both parameters (id, conversation_id). The description does not add any additional meaning or constraints beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the verb 'Get' with a specific resource 'single message' and adds 'including the full body', which is more specific than just the resource. It clearly distinguishes from list tools that return multiple messages without full bodies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives like list_conversation_messages. No mention of exclusions or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_list_contact_booksList contact booksB
Read-only
Inspect

List contact books (address books). Missive: GET /contact_books.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax contact books to return (default 50, max 200).
offsetNoNumber of records to skip (offset pagination).
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description repeats the read-only nature already indicated by annotations (readOnlyHint=true) and adds only the API endpoint. No disclosure of pagination, ordering, or effect on state beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no redundant information. Front-loaded with action and resource. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool is simple but description lacks return format details (no output schema) and does not mention defaults or error conditions. Given zero output schema, description should specify that it returns an array of contact book objects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both 'limit' and 'offset'. Description does not add any parameter meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'List contact books (address books)', specifying the verb and resource. It distinguishes from sibling tools like missive_list_contacts and missive_list_contact_groups by resource name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. Does not mention prerequisites, context, or comparison with sibling tools that list contacts or groups.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_list_contact_groupsList contact groupsA
Read-only
Inspect

List contact groups or organizations within a contact book. Missive: GET /contact_groups.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesWhich kind to list: "group" or "organization".
limitNoMax records to return.
offsetNoNumber of records to skip (offset pagination).
contact_bookYesThe contact book id (required).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations (readOnlyHint: true) already indicate it's a safe read operation. The description adds no further behavioral details (e.g., pagination, error handling) beyond the basic 'list' action. It meets the minimal bar but does not enrich the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences: one stating purpose and one giving the API endpoint. No wasted words; front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (list operation, no output schema), the description covers the basic purpose but lacks details on pagination behavior, ordering, or return format. It is adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already has 100% description coverage for all parameters, so the baseline is 3. The description does not add any additional parameter semantics beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('list') and the resource ('contact groups or organizations within a contact book'), distinguishing it from sibling tools like missive_list_contacts or missive_list_organizations. The API endpoint is also provided.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is given, but the required parameters (contact_book, kind) imply the context. The agent must infer usage from similar tools; no alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_list_contactsList contactsA
Read-only
Inspect

List contacts in a contact book. Missive: GET /contacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax contacts to return (default 50, max 200).
orderNoSort order (default "last_name").
offsetNoNumber of records to skip (offset pagination).
searchNoFree-text search over contacts.
contact_bookYesThe contact book id to list contacts from (required).
modified_sinceNoUnix timestamp — only contacts modified since.
include_deletedNoInclude deleted contacts.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, so the description need not reiterate safety. However, it adds no extra behavioral context like pagination behavior or default limit. Adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with core purpose. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters and no output schema, the description is minimal. It lacks information about return format, pagination behavior, or default values (though defaults are in schema). Adequate but could be more helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameters described. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it lists contacts in a contact book with a specific verb and resource. It distinguishes from siblings like missive_create_contact and missive_get_contact.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as missive_get_contact for a single contact or missive_list_contact_books for other resources. No exclusion criteria provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_list_conversation_commentsList conversation commentsA
Read-only
Inspect

List internal comments (team chat) on a conversation. Missive: GET /conversations/{id}/comments.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe resource id (a UUID-like string).
limitNoMax records to return.
untilNoUnix timestamp cursor — return records older than this (offset-less pagination).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description's burden is lower. The description adds context that these are 'internal comments (team chat)', but does not disclose pagination behavior or ordering. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence plus an API reference. Every word is necessary and it is front-loaded with the core purpose. No wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation with 3 parameters and no output schema, the description could mention the return format or pagination details. It provides the basic purpose but lacks completeness about what the agent can expect as a result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (all 3 parameters have descriptions). The tool description does not add any parameter-specific details beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List', the resource 'internal comments (team chat)', and the scope 'on a conversation'. It effectively distinguishes from sibling tools like missive_list_conversation_messages or missive_list_conversation_posts by specifying it lists comments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like other list tools. It does not mention context, preconditions, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_list_conversation_draftsList conversation draftsB
Read-only
Inspect

List draft messages on a conversation. Missive: GET /conversations/{id}/drafts.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe resource id (a UUID-like string).
limitNoMax records to return.
untilNoUnix timestamp cursor — return records older than this (offset-less pagination).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description 'List draft messages' aligns with the readOnlyHint annotation, indicating a safe read operation. However, it adds no behavioral details beyond what annotations provide (e.g., pagination behavior of limit/until parameters could be explained but schema already covers them).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence plus the HTTP endpoint, front-loading the core action. It is efficient and easy to scan, though slightly more structured details could be added without bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with 3 parameters, no output schema, and readOnlyHint annotation, the description is minimally adequate. It covers the basic function but lacks usage guidance and behavioral elaboration, leaving some gaps for an AI agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter (id, limit, until) already has a description. The tool description does not add extra meaning, such as clarifying that 'until' is for cursor-based pagination. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists draft messages on a conversation, distinguishing it from siblings like missive_create_draft (create) and missive_list_conversation_messages (list messages, not drafts). The verb 'List' and resource 'draft messages on a conversation' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as missive_create_draft or missive_list_conversation_messages. The description lacks context about prerequisites (e.g., conversation must exist) or scenarios where drafts are relevant.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_list_conversation_messagesList conversation messagesB
Read-only
Inspect

List the messages (emails) in a conversation. Missive: GET /conversations/{id}/messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe resource id (a UUID-like string).
limitNoMax messages to return (default 10, max 10).
untilNoUnix timestamp cursor — return records older than this (offset-less pagination).
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, so the read-only nature is known. The description adds the API endpoint but discloses no additional behavioral traits like pagination behavior, default limit, or response structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is very short and front-loaded with the core action. It could be slightly more informative without becoming verbose, but it is concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should clarify return format or pagination behavior. It omits important details like the default/max limit of 10 and the 'until' cursor, leaving gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains the parameters. The tool description does not add extra meaning beyond the schema, justifying the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'List the messages (emails) in a conversation', which is specific and distinct from sibling tools like add_comment or get_message. The API endpoint reinforces the action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like get_message or other list tools. No explicit context about when it's appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_list_conversation_postsList conversation postsA
Read-only
Inspect

List posts (integration/app-generated items) on a conversation. Missive: GET /conversations/{id}/posts.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe resource id (a UUID-like string).
limitNoMax records to return.
untilNoUnix timestamp cursor — return records older than this (offset-less pagination).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description aligns with the readOnlyHint annotation and adds that posts are integration/app-generated. However, it does not provide additional behavioral insights beyond what the schema and annotations already convey. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with only two sentences, no unnecessary words, and the key information is front-loaded. Every sentence is valuable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no output schema and multiple sibling tools, the description could provide more context about what 'posts' look like or how they differ. It is adequate but leaves room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters are fully described in the schema (100% coverage). The description does not add any extra meaning or context for the parameters, so it meets the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists posts (integration/app-generated items) on a conversation, distinguishing it from sibling tools like list_conversation_comments or list_conversation_messages. It specifies the exact resource and scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it (to get posts from a conversation) but provides no explicit guidance on when not to use it or how it compares to alternatives like list_conversation_messages. No exclusions or recommendations are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_list_conversationsList conversationsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
allNoAll conversations.
emailNoFilter to conversations involving this email address.
inboxNoConversations in your inbox.
limitNoMax conversations to return (default 25, max 50).
untilNoUnix timestamp cursor — return records older than this (offset-less pagination).
closedNoClosed conversations.
flaggedNoFlagged conversations.
snoozedNoSnoozed conversations.
trashedNoTrashed conversations.
assignedNoConversations assigned to you.
team_allNoAll of a team's conversations (team id).
team_inboxNoConversations in a team's inbox (team id).
organizationNoFilter to an organization id.
shared_labelNoConversations under a shared label id.
contact_organizationNoFilter to a contact organization id.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. The description adds that it uses a GET endpoint and mentions pagination via 'until' cursor. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, no filler. The essential constraint is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description explains the required filter constraint and pagination cursor, which is adequate for this list tool. Could mention limit default but it's in schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with individual descriptions. The description adds critical context that exactly one of the filter booleans/strings must be provided, which is not captured in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List conversations (email/chat threads)' using a specific verb and resource. The sibling tools include getters for single conversations and other entities, so this tool is well-distinguished.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly requires exactly one mailbox-type filter, listing the valid options. However, it does not mention when not to use this tool or alternative tools for other filtering needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_list_organizationsList organizationsB
Read-only
Inspect

List organizations you belong to. Missive: GET /organizations.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax records to return.
offsetNoNumber of records to skip (offset pagination).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true. Description adds no behavioral context beyond a redundant API endpoint reference. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Only one concise sentence plus an API reference. Efficient but the reference may be unnecessary clutter for an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Minimal for a simple list tool with 2 parameters and readOnlyHint. Lacks return value description, which is not provided by output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the tool description adds no extra meaning beyond the schema's parameter descriptions. Baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and the resource 'organizations', with scope 'you belong to', distinguishing it from siblings like list_contacts or list_conversations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, nor mention of prerequisites or exclusions. The description is purely functional.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_list_responsesList responsesB
Read-only
Inspect

List canned responses / templates. Missive: GET /responses.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax records to return.
offsetNoNumber of records to skip (offset pagination).
organizationNoFilter to an organization id.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. Description adds the HTTP method (GET), which is consistent but adds little beyond the structured annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise with no fluff. The description front-loads the purpose and includes the API endpoint. It could be slightly more structured but is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with good schema coverage and readOnly annotation, the description is adequate. It lacks details on pagination behavior, ordering, or authentication, but these are partially covered by the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description does not add extra meaning or usage hints beyond what is in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'List canned responses / templates' with a specific verb and resource. This effectively distinguishes it from sibling list tools like list_contacts or list_conversations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus other list tools. Among many sibling list operations, it does not specify context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_list_shared_labelsList shared labelsA
Read-only
Inspect

List shared labels (team-shared folders/tags). Missive: GET /shared_labels.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax records to return.
offsetNoNumber of records to skip (offset pagination).
organizationNoFilter to an organization id.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already marks this as a safe read operation. The description adds no additional behavioral details (e.g., pagination behavior, default sorting, or output structure). It is adequate but does not exceed the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that is front-loaded with the core purpose. Every word is informative; there is no redundancy or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers the essential purpose and resource, it omits any mention of the response format (e.g., array of label objects) and does not compensate for the lack of an output schema. For a simple list tool, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all three parameters with descriptions (limit, offset, organization). The description adds no extra meaning beyond what the schema provides. Baseline score of 3 is appropriate given full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'shared labels', with a parenthetical clarification that these are team-shared folders/tags. It distinguishes from sibling tools like 'missive_list_contacts' or 'missive_list_conversations' by specifying the exact resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., missive_list_organizations, missive_list_teams). It only mentions the API endpoint, which does not help the agent decide which list tool to invoke.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_list_teamsList teamsB
Read-only
Inspect

List teams in the organization(s). Missive: GET /teams.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax records to return.
offsetNoNumber of records to skip (offset pagination).
organizationNoFilter to an organization id.
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description repeats the read-only nature implied by the 'readOnlyHint' annotation by including the HTTP GET method, but adds no additional behavioral context (e.g., rate limits, auth requirements, or side effects). Since annotations already cover readOnlyHint, the description contributes minimal extra value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise—a single sentence plus an endpoint reference. It wastes no words, though a bit more structure (e.g., separating purpose from endpoint) could be beneficial. It is well front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation with no output schema, the description is minimal but sufficient. It does not mention pagination, return fields, or behavior when no parameters are provided. Given the tool's simplicity, the description is adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3. The description offers no parameter explanations beyond what the schema already provides (limit, offset, organization). It does not clarify parameter usage or constraints further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'List teams in the organization(s).' It provides the specific API endpoint ('GET /teams'), making the purpose unambiguous. It appropriately distinguishes from sibling tools which list other entities like contacts or conversations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives, nor are there any prerequisites or exclusions mentioned. The description merely states what it does, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_list_usersList usersB
Read-only
Inspect

List users (team members). Missive: GET /users.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax records to return.
offsetNoNumber of records to skip (offset pagination).
organizationNoFilter to an organization id.
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so description adds minimal value. It mentions the HTTP method but no additional behaviors like pagination or rate limits. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise single sentence with necessary info. No waste, but could add a bit more context without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Simple tool but lacks details on default ordering, pagination behavior, or return format. Incomplete for a tool with 3 parameters and no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are fully described in the input schema. Description adds no extra meaning beyond what schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'List users (team members)', using specific verb and resource. It distinguishes from sibling tools like missive_list_contacts or missive_list_conversations by naming 'users'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. No mention of prerequisites or context for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

missive_update_conversationUpdate conversationA
Destructive
Inspect

Update a conversation — assign/unassign users, add/remove shared labels, close/reopen, move to inbox, or set subject/color/team. Missive: PATCH /conversations/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe resource id (a UUID-like string).
teamNoTeam id to move the conversation to.
closeNoClose (archive) the conversation.
colorNoSet the conversation color.
reopenNoReopen the conversation.
subjectNoSet the conversation subject.
add_to_inboxNoMove the conversation back to the inbox.
organizationNoOrganization id (context for the update).
add_assigneesNoUser ids to assign.
remove_assigneesNoUser ids to unassign.
add_shared_labelsNoShared label ids to add.
remove_shared_labelsNoShared label ids to remove.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation already marks this as destructive. The description adds little beyond the listed actions, omitting details like permission requirements or side effects. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the purpose, lists actions efficiently, and includes a technical endpoint reference. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 12 parameters and no output schema, the description covers the main actions but lacks details on return values, error handling, or behavior when conflicting parameters are used. Adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds value by grouping parameters into actions (e.g., assign/unassign, add/remove labels), providing a high-level understanding beyond the schema's individual descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates a conversation and enumerates specific actions (assign/unassign users, add/remove labels, close/reopen, move to inbox, set subject/color/team). It is the only tool for updating conversations among siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists what can be done but does not explicitly state when to use it vs alternatives. However, since no sibling tools update conversations, usage is implied. A score of 4 reflects the lack of explicit guidance but sufficient clarity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • -
    license
    -
    quality
    -
    maintenance
    Provides access to Microsoft Teams, Outlook, Calendar, and SharePoint via the Microsoft Graph API, enabling natural language interactions to read and manage messages, emails, events, and files.
    1
  • A
    license
    B
    quality
    C
    maintenance
    Enables AI assistants to manage Microsoft Outlook email and calendar through the Microsoft Graph API, including reading, sending, searching emails, and handling calendar events.
    43
    133
    24
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.