collab_edit
Edit a module in a collab.demo room; live pages merge it with what people are typing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ||
| mod | Yes | ||
| find | No | ||
| line | No | ||
| link | Yes | ||
| name | No | ||
| text | No | ||
| value | No | ||
| append | No | ||
| replace | No |
Edit a module in a collab.demo room; live pages merge it with what people are typing.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ||
| mod | Yes | ||
| find | No | ||
| line | No | ||
| link | Yes | ||
| name | No | ||
| text | No | ||
| value | No | ||
| append | No | ||
| replace | No |
Changes observed during successful MCP inspections.
Input schema / properties / append / propertiesRemoved value: -nullInput schema / properties / find / propertiesRemoved value: -nullInput schema / properties / key / propertiesRemoved value: -nullInput schema / properties / line / propertiesRemoved value: -nullInput schema / properties / link / propertiesRemoved value: -nullInput schema / properties / mod / propertiesRemoved value: -nullInput schema / properties / name / propertiesRemoved value: -nullInput schema / properties / replace / propertiesRemoved value: -nullInput schema / properties / text / propertiesRemoved value: -nullInput schema / properties / value / propertiesRemoved value: -nullInput schema / properties / append / propertiesAdded value: +nullInput schema / properties / find / propertiesAdded value: +nullInput schema / properties / key / propertiesAdded value: +nullInput schema / properties / line / propertiesAdded value: +nullInput schema / properties / link / descriptionRemoved value: -"the room link https://ce-net.com/collab/<code> (a host link carries ?host=<key>)"Input schema / properties / link / propertiesAdded value: +nullInput schema / properties / mod / descriptionRemoved value: -"module id from collab_state, e.g. doc, code, canvas"Input schema / properties / mod / propertiesAdded value: +nullInput schema / properties / name / descriptionRemoved value: -"how you show up in the room, e.g. \"Daniel's AI\" (40 characters)"Input schema / properties / name / propertiesAdded value: +nullInput schema / properties / replace / propertiesAdded value: +nullInput schema / properties / text / propertiesAdded value: +nullInput schema / properties / value / propertiesAdded value: +nullDoes the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is partially covered. The description adds useful concurrency context by noting that live pages merge edits with what people are typing, but it does not explain conflict behavior, permissions, or what the edit response looks like.
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 filler, so it is concise and easy to scan. Its brevity comes at the cost of under-specification, but as a structural matter it is efficient.
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 complex, open-world, non-idempotent mutation tool with 10 undocumented parameters and no output schema, the description is far too thin. It leaves out parameter guidance, concurrency/conflict details, permissions, and return behavior.
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 has 10 parameters with 0% description coverage, so the description must compensate and does not. It vaguely implies a module and a room, but gives no meaning for required parameters link and mod, nor for key, find, line, name, text, value, append, or replace.
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?
It states a verb and resource ("Edit a module in a collab.demo room"), so the basic operation is identifiable. However, "module" and "collab.demo room" are not clarified, and it does not distinguish this tool from siblings like collab_op, collab_state, or collab_module_register.
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 collab_op or collab_module_register. There are no exclusions, prerequisites, or context cues beyond the generic idea of editing a module.
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.