delete_meal
Delete a logged meal by id (soft delete, 30-day recovery window). Requires X-App-User-Id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| meal_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| deleted | No |
Delete a logged meal by id (soft delete, 30-day recovery window). Requires X-App-User-Id.
| Name | Required | Description | Default |
|---|---|---|---|
| meal_id | Yes |
| Name | Required | Description | Default |
|---|---|---|---|
| deleted | No |
Changes observed during successful MCP inspections.
Output schema / propertiesAdded value: +{
+ "deleted": {
+ "type": "string"
+ }
+}Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations' destructiveHint=true, the description discloses the soft-delete behavior and 30-day recovery window, as well as the required X-App-User-Id header, giving the agent essential behavioral context.
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 entire description is a single sentence that packs the action, the soft-delete behavior, the recovery window, and the required header—no wasted words.
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?
With a simple one-parameter schema, an output schema present, and annotations already marking destructiveness, the description provides sufficient context: what is deleted, how (soft), and the recovery window. It also notes the necessary authentication, making it complete for selection and 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 has one parameter (meal_id) with zero description coverage; the phrase 'by id' minimally links meal_id to the meal's identifier, but the description doesn't explicitly explain the parameter's format or semantics, leaving a 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 uses a specific verb ('Delete') and resource ('a logged meal') with the identifier dimension ('by id'), clearly distinguishing it from sibling delete_workout or update_meal.
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 conveys clear context—when a logged meal should be removed—and adds the prerequisite requirement 'Requires X-App-User-Id.' However, it doesn't explicitly mention alternatives or when not to use it, so it stops short of the highest rating.
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.