Skip to main content
Glama

slack_open_dm

Idempotent

Opens or resumes a direct message with authorized users and returns a conversation ID for sending messages; it does not send the message itself.

Instructions

Open or resume a direct message with explicitly authorized users. Returns a conversation ID for sending. Does not send a message.

Input Schema

NameRequiredDescriptionDefault
usersYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare idempotency, open-world behavior, and non-destructiveness. The description adds useful context by stating that it returns a conversation ID and does not send a message, but it omits important behavioral details such as what happens when multiple users are supplied.

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?

Three short sentences, front-loaded with purpose and followed immediately by the return value and the non-send caveat. Every sentence adds distinct 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?

The description covers purpose, return value, and the crucial fact that it does not send a message. However, for a tool with a single 0%-documented array parameter, it leaves out parameter semantics and multi-user behavior that an agent needs to invoke it correctly.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain the 'users' parameter at all—not the Slack ID format, the 1–8 item limit, or whether multiple users create a group DM. It only vaguely refers to 'explicitly authorized users.'

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?

States a specific verb+resource ('Open or resume a direct message'), identifies the target population ('explicitly authorized users'), and explicitly distinguishes itself from slack_send_message by saying it 'Does not send a message.'

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 makes the intended workflow clear: use it to obtain a conversation ID before sending. It does not name an alternative tool or state exclusions beyond 'explicitly authorized users,' so it falls short of full routing guidance.

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