Skip to main content
Glama

LinkedIn MCP Server (Salesbot)

cancel_email

DestructiveIdempotent

Withdraw an e-mail that has not gone out yet: pending_approval, approved or failed, and own-mailbox e-mails still queued. E-mails already queued in Smartlead/Instantly must be paused there.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
reasonNo
outreach_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the description doesn't need to restate those. The description adds valuable context by specifying the exact states of e-mails that can be withdrawn and the limitation regarding Smartlead/Instantly queued e-mails. It doesn't 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?

The description is two sentences with no wasted words. It front-loads the core action ('Withdraw an e-mail that has not gone out yet') and then adds the necessary scope and exclusion details. Every sentence earns its place.

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 destructive action with two parameters and no output schema, the description covers the key behavioral context: what states are eligible, what is not eligible, and the need to pause elsewhere. It doesn't explain the reason parameter, but the core usage is clear enough for an agent to invoke correctly.

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 0%, so the description carries the burden of explaining parameters. The description implies the outreach_id identifies the e-mail to withdraw, but it doesn't explicitly explain the reason parameter or its purpose. The description adds some context about what the tool does but doesn't fully compensate for the lack of parameter documentation.

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 purpose: withdrawing an e-mail that has not gone out yet, and enumerates the specific states it applies to (pending_approval, approved, failed, and own-mailbox queued). It also distinguishes itself from related tools by noting that e-mails already queued in Smartlead/Instantly must be paused there, which differentiates it from send_email and approve_message.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool (for e-mails not yet sent, in specific states) and when not to use it (e-mails already queued in Smartlead/Instantly must be paused there). This gives clear routing guidance and prevents misuse.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.