Skip to main content
Glama

chats_remove_participant

Destructive

Removes a participant from a specified chat using channel, chat, and participant IDs, and requires user confirmation before changing shared data.

Instructions

Remove a participant from a chat Reaches other people on the platform, deletes, or redirects data — say exactly what will happen and get the user’s confirmation first. (POST /api/kalagh/chats/remove-participant · gRPC RemoveChatParticipant · socket "chats/remove-participant")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chatIdYes
channelIdYes
participantIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, openWorldHint=true and readOnlyHint=false, so the safety profile is covered structurally. The description adds that the action is visible to other people and requires user confirmation, which is useful, but it never says whether the removal is permanent, what happens to the participant's message history, or whether they can be re-added.

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

Conciseness3/5

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

The purpose is correctly front-loaded in a single short clause, and the trailing endpoint line (POST route, gRPC method, socket event) is compact and useful for tracing. The middle line is template hedging that implies this tool may delete or redirect data, which is noise for a participant-removal operation.

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?

For a destructive, open-world mutation with no output schema and three undocumented identifiers, the description omits the outcomes an agent most needs: permanence of the removal, effect on the participant's existing messages, and error conditions such as a non-member participantId. The endpoint metadata is helpful but does not close those gaps.

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% for three required parameters (chatId, channelId, participantId), and the description says nothing about any of them — not even the relationship between channelId and chatId, which is genuinely ambiguous here. The schema's bare examples carry all the meaning, so the description 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.

Purpose4/5

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

The opening line gives a specific verb+resource ('Remove a participant from a chat') that is immediately distinguishable from the inverse sibling chats_add_participant and from chats_delete (which removes the chat itself). It does not explicitly name an alternative, so it stops 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?

The second line supplies one usable precondition — confirm with the user before acting — which is real guidance for a destructive operation. However it is generic boilerplate hedged across three possible effects ('reaches other people... deletes, or redirects data') and gives no when-to-use boundary against chats_delete or chats_update.

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