Slack MCP by Nova (CIVAI)
Server Details
Use Slack from chat: see channels, catch up on messages, post updates, and reply in threads in your…
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 17 tools
Most tools target distinct Slack actions, but several pairs overlap: post_message vs post_message_rich are variants of the same operation, and session_status vs user_boot vs confirm_email_signin form an unclear session/auth lifecycle. Descriptions help, but an agent could easily misselect among the messaging variants or auth tools.
All names use snake_case, which is consistent, but the conventions are mixed: some are verb_noun (post_message, list_channels), while others are noun-only (channel_info, conversation_history, thread_replies, user_boot). The pattern is readable but not predictable.
17 tools is slightly above the typical 3-15 range, but the surface covers distinct Slack areas: auth/session, channels, users, messaging, and search. Each tool mostly earns its place, though the extra rich-message variant and multiple session tools add some bloat.
Core workflows (read channels, post/reply/delete messages, list users, search people) are covered, but notable gaps remain: no edit_message, no reactions, no file upload, and no channel join/archive/invite operations. Agents can work around some gaps but will hit dead ends for common Slack interactions.
Available Tools
17 toolschannel_infoBInspect
Channel name and member count for a channel id.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | ||
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read-only lookup, but does not mention permissions, error behavior, or the role of notification_message if the follow-up reply fails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It gets directly to the returned information and the required identifier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool, the description states the main return fields, but it omits any explanation of notification_message and provides no output schema or annotations to cover behavioral details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%. The description clarifies that channel_id identifies the channel whose name and member count are returned, but it adds no format or syntax detail and does not explain notification_message.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what information the tool returns: channel name and member count for a given channel id. It is specific enough to distinguish this from list-style siblings like list_channels and list_channel_members, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance about when to use this tool versus list_channels or list_channel_members. Usage is only implied by the phrase 'for a channel id'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confirm_email_signinCInspect
Start Slack email sign-in.
| Name | Required | Description | Default |
|---|---|---|---|
| slack_email | No | ||
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the entire burden, yet it says nothing about side effects (does it send an email?), auth requirements, rate limits, or idempotency. The only behavioral hint comes from the notification_message parameter text about a "follow-up reply" failing, which is buried in the schema rather than the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short front-loaded sentence with zero padding, but the brevity comes from omission rather than efficiency. It is appropriately sized only if the tool truly needs no explanation, which is not the case here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an authentication-flow tool with two parameters, no annotations, and no output schema, the description should explain the outcome (email sent, challenge issued) and any multi-step continuation. None of that is present, so an agent cannot confidently invoke it in a session flow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: notification_message is well documented in the schema, but slack_email has no description at all. The tool description adds no parameter meaning beyond what little the schema provides, leaving the key input (whose email, in what format) unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Start Slack email sign-in" gives a verb and a resource, but it is ambiguous about what actually happens: the tool name says "confirm" while the description says "start", and it never says whether an email is dispatched, a session is created, or a challenge is issued. No sibling tool performs auth, so there is nothing to differentiate against, but the core action is still under-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this, what preconditions exist (e.g., a prior sign-in attempt or an email already on file), or what to do instead. An agent has to guess at the entry point of the flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
conversation_historyCInspect
Fetch recent messages in a channel.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | ||
| history_limit | No | ||
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and discloses almost nothing: no ordering guarantee for "recent", no pagination or default/max behavior for history_limit, no permission requirements, and no note on whether messages are filtered or trimmed. Only the word "recent" hints at any behavior at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the resource front-loaded and zero filler. It is efficient, though its brevity reflects under-specification rather than disciplined compression.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read tool with no annotations, no output schema, and an ambiguous string-typed limit parameter, the definition leaves too much unknown to call correctly. The description should at minimum explain history_limit's semantics and what the returned message set looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 33%: only notification_message is documented, and the description adds nothing for channel_id or history_limit. Notably, history_limit is typed as a string with no explanation of expected format (numeric string? page size?), which is exactly the gap the description should fill.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence names a specific verb ("Fetch") and resource ("recent messages in a channel"), so the core action is unambiguous. It does not differentiate from nearby siblings such as thread_replies or open_conversation, which also surface message content, so an agent must open schemas to compare.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus thread_replies, open_conversation, or search-style siblings, and no stated prerequisites or exclusions. The agent is left to infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_channelCInspect
Create a channel (may be restricted on some workspaces).
| Name | Required | Description | Default |
|---|---|---|---|
| is_private | No | ||
| channel_name | Yes | ||
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet only notes possible workspace restrictions. It does not disclose side effects (whether the caller is auto-joined, whether members are notified), what happens on duplicate names, or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the core action front-loaded and no filler. It is appropriately sized, though the brevity reflects under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and an undocumented is_private parameter, the description is far too thin. An agent cannot tell what it gets back, what permissions are required, or how the private flag behaves.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%; only notification_message is documented in the schema. The description says nothing about channel_name being required or what is_private (a string-typed enum) controls, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Create a channel"), which is unambiguous and distinguishable from all siblings, none of which create channels. It stops short of differentiating context, but the purpose is clear from the verb alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical "may be restricted on some workspaces" hints at a permission prerequisite but gives no guidance on when to use this versus alternatives, what permissions are needed, or how to handle the restriction case. There is no when/when-not routing to siblings like list_channels or channel_info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_messageCInspect
Delete one of your messages.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | ||
| message_ts | Yes | ||
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: irreversibility, permission requirements, rate limits, and what happens on failure are all unstated. The only behavioral signal is the implicit ownership restriction in 'your messages', which is useful but far from sufficient for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded and free of padding, but its brevity here reflects under-specification rather than efficiency. Nothing is wasted, yet little is earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a destructive mutation, zero annotations, no output schema, and only 33% schema coverage, an agent is left guessing about failure modes and parameter formats. The ownership hint is helpful but not enough to make the definition self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33%, so the description needs to compensate and does not. It never explains that channel_id identifies the containing channel or that message_ts is a timestamp identifier, which are non-obvious and essential to a correct call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (Delete) and resource (message), and the qualifier 'one of your messages' signals an ownership restriction that helps distinguish it from siblings like post_message or reply_thread. It stops short of any explicit sibling differentiation, so it lands just below the top tier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives, no mention of prerequisites such as channel membership or bot ownership, and no warning about when deletion is inappropriate. The only implied condition is ownership of the message, inferred from 'your'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_channel_membersCInspect
List member user ids in a Slack channel.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | ||
| members_limit | No | ||
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it only discloses one trait: results are user ids rather than full profiles. It is silent on pagination (the members_limit parameter implies truncation but the behavior is unstated), on permissions required to read membership, and on ordering – all material for a membership-list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler or repetition. It is efficient rather than verbose, though the brevity edges toward under-specification rather than crispness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no annotations, no output schema, and only partial schema descriptions, the definition leaves too much unresolved: pagination of member results, the return shape beyond 'user ids,' and permission requirements are all missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 33%: only notification_message is documented, while channel_id and the ambiguously typed string members_limit are bare. The description's 'in a Slack channel' weakly implies channel_id is a channel identifier but adds nothing about members_limit's semantics (limit vs cursor, max value) despite its string type being a likely agent trap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (list) plus resource (member user ids) plus the system (Slack channel), so the agent knows exactly what is returned. It falls short of a 5 because it never distinguishes itself from nearby siblings such as list_workspace_users or channel_info, which an agent could easily confuse with this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no named alternative. The agent must infer that this is the per-channel counterpart to list_workspace_users, and nothing states prerequisites such as the bot needing to be in the channel or the channel needing to be public.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_channelsCInspect
List Slack channels and group DMs (mobile client.channels).
| Name | Required | Description | Default |
|---|---|---|---|
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and discloses almost nothing behavioral: no mention of scope (public/private/archived/DMs), pagination, ordering, or permission requirements. Only the vague 'mobile client' hint gestures at the underlying implementation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. The only dead weight is the cryptic '(mobile client.channels)' clause, which costs a little comprehension without earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing tool with no output schema and no annotations, the description should say what comes back and under what scope. It gives the resource but not the result shape or filtering behavior, so an agent calling it knows roughly what it does but not what it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single parameter is documented there. However, the description does not connect the lone 'notification_message' parameter to this listing operation, leaving the agent to wonder why a list action takes a user-facing message.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List Slack channels and group DMs'), which is enough to separate it from mutating siblings like create_channel and from lookup siblings like channel_info. The parenthetical '(mobile client.channels)' is opaque internal shorthand that adds no clarity about scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this vs. channel_info or list_channel_members, nor on whether it requires a workspace context or returns the whole workspace versus the user's memberships. The agent must infer its place in the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workspacesCInspect
List workspaces after email confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It does not say whether the operation is read-only, whether it requires an authenticated/confirmed session, whether results are paginated or scoped to the caller, or how failures behave — beyond a vague nod to confirmation state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no waste, but it is arguably under-specified rather than concise: the one modifier present is the ambiguous one, and the schema's only parameter goes unmentioned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and a precondition-flavored name, the description is too thin. An agent cannot tell what the return shape is, what "workspaces" means in scope, or why the notification_message fallback parameter matters for a read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter notification_message is fully documented in the schema (100% coverage), so the schema does the heavy lifting. The description adds nothing about it — not what triggers the fallback reply or why a user-facing message would be needed for a list operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"List workspaces" is a clear verb+resource and is distinguishable from siblings like list_channels and list_workspace_users. However, the trailing phrase "after email confirmation" is ambiguous — it is unclear whether it describes a precondition the agent must satisfy, a pending-state filter, or the temporal context of results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "after email confirmation" implies a sequencing precondition relative to confirm_email_signin, which is some usage context. But it never states explicitly "call this only after confirm_email_signin succeeds" nor mentions any alternatives or exclusions, leaving the agent to infer the ordering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workspace_usersCInspect
List users in the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| users_limit | No | ||
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. "List" implies a read, but nothing is said about permissions needed, pagination, return shape, or ordering; the presence of notification_message hints at a side effect that is never explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence is front-loaded and free of waste, but it is under-specified rather than genuinely concise—it says far too little to be actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a cryptic string "limit" parameter, the description should explain pagination, scope, and the follow-up message behavior, and it does none of these.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%, and users_limit is an undocumented string with no format or default, while notification_message's purpose in a list operation is unexplained. The description adds no parameter meaning to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("List users"), which is better than tautology, but it doesn't distinguish itself from siblings like search_people or list_channel_members, nor does it clarify whether it's scoped to the current workspace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus search_people or list_channel_members, and no stated prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_conversationCInspect
Open a DM conversation with a Slack user id.
| Name | Required | Description | Default |
|---|---|---|---|
| slack_user_id | Yes | ||
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full behavioral burden, yet it says nothing about idempotency (does it reuse an existing DM?), required OAuth scopes, or whether the conversation id is returned for use in post_message. Only the bare action is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It is efficient, though the brevity edges toward underspecification rather than crispness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation tool with no annotations and no output schema, the description leaves key gaps: it never says what the call returns (presumably a conversation/channel id needed downstream) or that a DM must be opened before posting. Not enough for an agent to call it confidently in a workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: notification_message is documented in the schema, but slack_user_id has no description anywhere. The tool description does not explain the expected id format (e.g., a 'U...' member id) or where to obtain it, so it adds nothing beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: "Open a DM conversation with a Slack user id." That clearly separates it from create_channel and post_message in the sibling list. It doesn't explicitly name a sibling alternative, but the DM scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus post_message or reply_thread, and no stated prerequisite (e.g., that you need the resulting conversation before messaging). The agent must infer the workflow entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_messageCInspect
Post a message to a Slack channel or DM using the mobile user session.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | ||
| message_text | Yes | ||
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it only partially delivers: 'using the mobile user session' is a genuinely useful disclosure of execution context (implying a session must be established, cf. session_status). It says nothing about permissions, rate limits, whether the message notifies recipients, or whether failures are recoverable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. Brevity is appropriate, though it comes at the cost of the missing behavioral and parameter detail noted above.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and two undocumented parameters, the description is too thin. An agent cannot tell what a successful call returns, what happens on failure, or how the required parameters should be formatted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% — channel_id and message_text are both undocumented in schema and description. The description adds no guidance on channel_id format (ID vs. name) or message_text content rules, which is a meaningful gap for a posting tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Post a message to a Slack channel or DM'), so an agent knows the core action immediately. However, it does not distinguish itself from the closely related siblings post_message_rich and reply_thread, which is exactly where ambiguity would arise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus post_message_rich (rich formatting) or reply_thread (threaded replies), nor any prerequisite such as requiring an active session. The agent must infer selection from the sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_message_richCInspect
Post using mobile Block Kit blocks (message_blocks_json).
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | ||
| message_blocks_json | Yes | ||
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and discloses almost nothing: not whether message_blocks_json must be valid JSON, not what validation errors look like, not permissions or rate limits. The only behavioral hint is that a fallback notification path exists, and that comes from the parameter schema rather than the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the key differentiator (mobile Block Kit) front-loaded and no filler. It is efficient, though efficiency here borders on under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write tool with no annotations, no output schema, and two of three parameters undocumented, the description is far too thin. An agent cannot tell from it what a valid blocks payload is, what the reply contains, or how failures surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Three parameters with only 33% schema coverage (only notification_message is documented in the schema). The description names message_blocks_json but gives no format expectations for it, and channel_id is undocumented in both places, so the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb 'Post' and the payload format 'mobile Block Kit blocks' are stated, and parenthetically naming message_blocks_json hints at the intended alternative to the plain post_message sibling. However, the resource (a channel message) is only implied and the phrasing 'Post using' is grammatically vague about what is posted and where.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no explicit contrast with the sibling post_message, even though mentioning 'mobile Block Kit' implies it is the rich-format alternative. An agent must infer from the name alone that this is the blocks-based counterpart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reply_threadCInspect
Post a reply in a thread.
| Name | Required | Description | Default |
|---|---|---|---|
| thread_ts | Yes | ||
| channel_id | Yes | ||
| message_text | Yes | ||
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the basic action. It says nothing about required permissions, whether the thread must already exist, failure behavior, or what notification_message actually triggers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded and free of waste, but at one clause it is under-specified rather than concise. There is no structure to speak of because there is only one short statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter mutation tool with no annotations and no output schema, the description is far from complete. An agent lacks the meaning of the three required parameters and any behavioral expectations for the write operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25%: thread_ts, channel_id, and message_text are bare strings with no description anywhere. The description does not clarify that thread_ts is the parent message timestamp, nor the format of channel_id or any constraints on message_text, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence names a specific verb and resource ('Post a reply in a thread'), so an agent knows exactly what action it performs. It does not, however, distinguish itself from siblings such as post_message, post_message_rich, or thread_replies, which an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus post_message or post_message_rich, no prerequisites (does the thread need to exist?), and no exclusions. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_peopleCInspect
Search people by name or email fragment.
| Name | Required | Description | Default |
|---|---|---|---|
| people_page | No | ||
| people_count | No | ||
| search_query | Yes | ||
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: it implies a read-only lookup but says nothing about search scope, partial-match behavior, result caps, permissions, or pagination. Only the "name or email fragment" phrase hints at matching semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the search dimensions front-loaded and no filler. It is concise, but the brevity comes at the cost of the content the other dimensions need.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations, no output schema, low schema coverage, and ambiguous paging parameters, this one-line description is far too thin. An agent cannot tell what a result set looks like, how paging works, or whether the search spans all workspaces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25% (only notification_message is documented), so the description must compensate and does not. It loosely maps to search_query but leaves people_page and people_count — both typed as strings, which is itself surprising for paging parameters — entirely unexplained in either location.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ("Search people") plus the matching dimensions (name or email fragment), which is clearly more informative than the bare name. It does not, however, differentiate this tool from sibling list_workspace_users or explain how the two overlap, so the agent is left to infer the distinction from names alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus alternatives such as list_workspace_users, nor any preconditions (required permissions, scope of the search across workspaces or channels). The agent must guess the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
session_statusBInspect
Verify Slack mobile session (run before other tools).
| Name | Required | Description | Default |
|---|---|---|---|
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden and discloses almost nothing: whether this is a read-only probe or a mutation, whether it can trigger an interactive login, what a failed verification returns, or whether it has side effects. The single parenthetical only covers ordering, not behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with the key operational constraint front-loaded in parentheses. No filler, nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a gating/auth tool with no annotations and no output schema, an agent still needs to know how failures surface and what to do next. The description covers only ordering, leaving the tool's actual contract — including anything about the mobile-session requirement — unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one optional parameter and schema description coverage is 100%, so the schema already explains notification_message fully. The description adds nothing about it, which is the baseline-3 case rather than a strength.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Verify") and a specific resource ("Slack mobile session"), which is more than a restatement of the name. It doesn't compare itself to any sibling or clarify whether it's an auth handshake vs. a health check, but the intent is recoverable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"run before other tools" is an explicit ordering/prerequisite instruction that an agent could not infer from the schema or annotations. There is no guidance on what to do if verification fails, or which sibling tools are exempt from the prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thread_repliesCInspect
Read messages in a thread.
| Name | Required | Description | Default |
|---|---|---|---|
| thread_ts | Yes | ||
| channel_id | Yes | ||
| replies_limit | No | ||
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies read-only access but does not disclose pagination behavior, reply limits, authentication requirements, ordering, or what happens when the thread is missing or the follow-up notification fails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is structurally clean, though its brevity contributes to under-specification rather than true completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter tool with no annotations, no output schema, and low schema description coverage, the description is too sparse. It states the core action but omits operational details an agent needs to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%; only notification_message has a schema description, and even that is not explained by the tool description. The description adds no detail about channel_id, thread_ts format, or replies_limit, beyond the vague phrase 'in a thread.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Read messages in a thread.' It is distinguishable from the write-oriented sibling reply_thread, but it does not explicitly differentiate itself from conversation_history or other read tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives such as conversation_history or reply_thread. Usage is only implied by the phrase 'in a thread.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
user_bootCInspect
Workspace client bootstrap after login.
| Name | Required | Description | Default |
|---|---|---|---|
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but discloses almost nothing: no side effects, idempotency, auth requirements, or return behavior. It only states a vague phase ('bootstrap after login').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is not wasteful, but it is under-specified rather than concise. Front-loading is irrelevant given the lack of substantive information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is critically incomplete. An agent cannot know what the tool does, what it returns, or when it should be called.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the single optional parameter. The description adds no additional meaning, but the baseline of 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Workspace client bootstrap after login' is vague; 'bootstrap' does not specify what state is initialized or what the tool returns. It hints at timing but fails to distinguish from siblings like session_status or list_workspaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Only an implied timing ('after login') is provided; there is no explicit when-to-use, when-not-to-use, or alternative tool guidance. An agent cannot confidently choose this over session_status or confirm_email_signin.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
17 tool updates
- First observed
channel_info - First observed
confirm_email_signin - First observed
conversation_history - First observed
create_channel - First observed
delete_message - First observed
list_channel_members - First observed
list_channels - First observed
list_workspace_users - First observed
list_workspaces - First observed
open_conversation - First observed
post_message - First observed
post_message_rich - First observed
reply_thread - First observed
search_people - First observed
session_status - First observed
thread_replies - First observed
user_boot
Related MCP Connectors
Schedule and manage Google Calendar events directly from your workspace. Check availability, view…
Browse Hacker News from chat: top stories, search, read comment threads, and post or upvote when yo…
121Control your Chrome from chat: open websites, read what's on the page, click buttons, and fill in f…
241Streamline your Attio workflows using natural language to search, create, update, and organize com…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Slack workspaces through comprehensive integration capabilities. Supports channel management, messaging, thread replies, reactions, and message history retrieval through natural language commands.65 npmMIT
- AlicenseAqualityCmaintenanceEnables Slack workspace integration including channel creation, user invites, message posting, and thread management through natural language.61MIT
- FlicenseAqualityBmaintenanceEnables interaction with Slack channels including checking Xcode Cloud build status, reading and searching messages, sending messages, and listing channels.51-
- AlicenseAqualityCmaintenanceEnables AI assistants to interact with Slack workspaces, including listing channels, posting messages, replying to threads, adding reactions, and retrieving user information.1018 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.