leave_comment
Attach a short comment (≤280 chars) to a piece kapoost has published. Truncated silently past the limit.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | ||
| slug | Yes | ||
| text | Yes |
Attach a short comment (≤280 chars) to a piece kapoost has published. Truncated silently past the limit.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | ||
| slug | Yes | ||
| text | Yes |
Changes observed during successful MCP inspections.
Input schema / properties / from / descriptionRemoved value: -"Optional: reader name or handle"Input schema / properties / slug / descriptionRemoved value: -"The slug of the piece being commented on"Input schema / properties / text / descriptionRemoved value: -"The reaction or comment (max 280 chars, plain text)"Output schema / (root)Previous value: -{
- "properties": {
- "content": {
- "items": {
- "properties": {
- "text": {
- "type": "string"
- },
- "type": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
-}New value: +nullOutput schema / (root)Previous value: -nullNew value: +{
+ "properties": {
+ "content": {
+ "items": {
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+}Output schema / (root)Previous value: -{
- "properties": {
- "content": {
- "items": {
- "properties": {
- "text": {
- "type": "string"
- },
- "type": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
-}New value: +nullOutput schema / (root)Previous value: -nullNew value: +{
+ "properties": {
+ "content": {
+ "items": {
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+}Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavioral trait: silent truncation past 280 characters. With no annotations, the description carries the full burden, but it omits details like authentication requirements, error handling, or comment visibility, making this only partial transparency.
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 two sentences, front-loaded with purpose and a concise behavioral note. Every word earns its place, with no fluff or redundancy.
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?
The tool is a mutating operation with no annotations and no output schema. The description gives the core purpose and limit behavior, but is incomplete regarding parameter semantics (especially 'from'), potential side effects, and failure modes. It does not provide enough context for an agent to confidently use the tool without further inference.
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 0%, leaving all three parameters undocumented. The description hints at 'text' being the comment and 'slug' identifying the piece, but 'from' remains ambiguous. The description does not adequately compensate for the missing schema descriptions.
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 tool's verb ('attach') and resource ('a piece kapoost has published'), and adds a constraint (short comment ≤280 chars). It distinguishes from sibling 'leave_message' by focusing on comment vs message, though not explicitly.
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 implies usage: attach a comment to a published piece. However, it gives no explicit 'when to use' context or alternatives, and does not address exclusions or prerequisites beyond the character limit.
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.