withdraw_proposal
Remove YOUR OWN still-pending Inbox item (id from the propose response / get_inbox).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The pending item's id | |
| project_id | No |
Remove YOUR OWN still-pending Inbox item (id from the propose response / get_inbox).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The pending item's id | |
| project_id | No |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Input schema / additionalPropertiesRemoved value: -falseInput schema / properties / id / descriptionPrevious value: -"The pending item's id (from the propose response / get_inbox)"New value: +"The pending item's id"Input schema / properties / project_id / descriptionRemoved value: -"Project id (from list_projects) to act on; omit = the connector URL's project."Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include destructiveHint=false; the description adds useful constraints ('YOUR OWN', 'still-pending') and id provenance. However, it doesn't disclose what happens after removal or whether it's reversible, so behavioral transparency is adequate but not rich.
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 that conveys the action, scope, and id source without wasted words. Every element earns 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 simple two-parameter tool with no output schema, the description covers the key usage context: what to remove and where to get the id. The only notable omission is the role of project_id, which is a minor gap given the tool's simplicity.
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 documents id as 'The pending item's id' (50% coverage). The description adds that the id comes from the propose response or get_inbox, which helps. But project_id has no description in the schema and is not addressed in the description, leaving a semantic 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 description specifies the action ('Remove'), the target ('YOUR OWN still-pending Inbox item'), and the id source ('propose response / get_inbox'). This clearly distinguishes it from sibling tools like delete_entity and resolve_rejection by scoping to your own pending inbox items.
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 clear usage context: it's for withdrawing a still-pending proposal that you created, and it tells the agent where to obtain the id. It doesn't explicitly name alternative tools for different conditions, but the ownership and pending-status exclusions are clear enough.
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.
Each tool has a clearly distinct purpose, with explicit distinctions between direct actions and proposals via Inbox. The verbs and object types (system, milestone, screen, element, balance) are unique enough that no two tools appear to do the same thing.
Most tool names follow a consistent verb_noun snake_case pattern (get_system, propose_screen, update_element). Minor deviations like 'dedupe', 'search', 'next_task', and 'reorder' are single words or non-verb but remain readable and stylistically compatible.
With 54 tools, this server vastly exceeds the typical MCP scope, hitting the 'extreme mismatch' threshold. Even for a complex domain, the sheer number will overwhelm agents and degrade selection performance.
The tool surface is remarkably complete, covering full lifecycle operations for all major entities, plus import, design generation, drift detection, status reporting, inbox handling, and rejection workflows. No obvious dead ends or missing operations for the stated purpose.