Skip to main content
Glama
lburnscissp

discord-mcp

by lburnscissp

discord_pin_message

Idempotent

Pin or unpin a Discord message in a channel, thread, or DM; requires Manage Messages and accepts an optional audit-log reason.

Instructions

Pin or unpin a message in its channel. Needs Manage Messages.

Returns: Confirmation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionNopin
reasonNoReason recorded in the server's audit log.
channel_idYesChannel, thread, or DM channel ID.
message_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, covering the safety profile. The description adds a genuine auth requirement ('Needs Manage Messages'), which is useful context, but says nothing about rate limits, behavior on already-pinned messages, or unpin side effects. With annotations carrying most of the burden, a 3 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.

Conciseness4/5

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

Two short lines with the core action front-loaded and no filler. The 'Returns: Confirmation' line is largely redundant given an output schema exists, which costs it a point.

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 mutation tool, the description covers the action and the permission requirement, and the return value is handled by the output schema. It omits any routing guidance relative to list_pins/delete_message, which leaves a gap an agent could need.

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 50%: reason and channel_id are documented in the schema, while action and message_id are not. The description's 'pin or unpin' and 'in its channel' loosely map to the action and channel_id parameters but add no syntax or format detail, so it only partially compensates for the coverage gap.

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 names a specific verb pair (pin/unpin) and resource (a message in its channel), so the agent knows exactly what operation is performed. It does not explicitly differentiate from the sibling discord_list_pins or explain the relationship, which keeps it short of a 5.

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?

Usage is only implied by the verb – there is no statement of when to pin/unpin versus using siblings like list_pins or delete_message. The 'Needs Manage Messages' clause functions as a prerequisite/condition rather than an explicit when-to-use rule, so guidance is present but thin.

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