Send chat
chat_sendSay something in a discussion room, as the caller. Use chat_rooms to find the room id
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| room | Yes | Room id, as returned by chat_rooms | |
| message | Yes | What to say |
chat_sendSay something in a discussion room, as the caller. Use chat_rooms to find the room id
| Name | Required | Description | Default |
|---|---|---|---|
| room | Yes | Room id, as returned by chat_rooms | |
| message | Yes | What to say |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Input schema / properties / contentRemoved value: -{
- "description": "What to say",
- "type": "string"
-}Input schema / properties / messageAdded value: +{
+ "description": "What to say",
+ "type": "string"
+}Input schema / requiredPrevious value: -[
- "room",
- "content"
-]New value: +[
+ "room",
+ "message"
+]Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no behavioral annotations provided (no readOnlyHint, destructiveHint), the description must disclose side effects. It implies a write operation via 'Say something', but does not state whether authentication is required, whether the message is permanent, or what happens on success/failure. The only extra context is 'as the caller', which clarifies the message origin, but the description does not fully carry the burden of behavioral disclosure.
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 sentence that front-loads the action and immediately gives the prerequisite for the main parameter. Zero waste, and the structure is optimal for a tool with only two parameters.
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?
Given the tool's simplicity (2 params, no output schema, no nested objects), the description sufficiently covers the necessary usage context: what the tool does, how to get the required parameter, and the caller perspective. It lacks a mention of return value, but that is standard for send operations and not critical. The description is complete enough for correct invocation.
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 schema covers 100% of parameters, so each property has a description. The tool description adds the valuable hint that 'room' is obtained from chat_rooms, which is beyond the schema's generic 'Room id'. This aids parameter usage, but the core semantics of the parameters are already in the schema, so the baseline of 3 applies.
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 the action ('Say something in a discussion room, as the caller'), identifying the verb (send/say) and resource (chat message). It is distinguishable from sibling tools like chat_messages (which likely reads messages) and chat_rooms (which lists rooms). The phrase 'as the caller' adds precision about who sends the message.
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 provides an explicit prerequisite: 'Use chat_rooms to find the room id'. This tells the agent how to satisfy the 'room' parameter. However, it does not explicitly mention when to use this tool versus alternatives like chat_messages, but the guidance about obtaining the room id is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Every tool is prefixed with a clear domain (e.g., apps_, blog_, transit_), and the suffix identifies a distinct action or resource. Overlapping tools like archive_search and news_search are explicitly differentiated in their descriptions.
All tools consistently use a domain_prefix_suffix pattern, but the suffix is sometimes a verb (create, list, search) and sometimes a noun (inbox, status, address). This minor mixing prevents a perfect score but remains predictable and readable.
With 113 tools, the count is far beyond the typical well-scoped range, even for a broad personal assistant. While each tool is distinct and serves a purpose, the sheer number is overwhelming and could be better organized into separate domain-specific servers.
Each domain has near-complete lifecycle coverage, including CRUD and search where relevant, with only minor gaps such as missing apps_delete or events_update. The wide range of covered domains itself demonstrates strong completeness for a general assistant.