Skip to main content
Glama
davidmosiah

ifood-mcp

Create iFood address

ifood_create_address
Destructive

Create a new delivery address for your iFood account using latitude and longitude. Requires explicit user confirmation before saving.

Instructions

POST /v1/customers/me/addresses (401 JSON no-jwt). Requires explicit_user_intent. PUT/DELETE :id 404.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNo
numberNo
streetNo
latitudeYes
longitudeYes
complementNo
neighborhoodNo
response_formatNomarkdown
explicit_user_intentNoMust be true after the user explicitly asked for this write.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.5

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds some behavioral detail beyond the annotations: the endpoint path, a 401 JSON no-JWT auth failure mode, and the fact that PUT/DELETE by :id return 404. It does not describe success behavior, response shape, or the side effects implied by destructiveHint=true, and the required explicit_user_intent is already documented in the schema. The mention of 'create' is not a direct contradiction of destructiveHint, though that annotation is surprising for a creation endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads the endpoint, with no filler. However, it is a set of cryptic fragments ('401 JSON no-jwt', 'PUT/DELETE :id 404') rather than clear structured prose, and repeating explicit_user_intent wastes one of its few clauses without adding new information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter mutation with no output schema, low schema coverage, and destructiveHint=true, this description is not complete enough. It leaves out what the required coordinates mean, what a successful creation returns, and what effects or errors beyond 401/404 an agent should expect. The explicit-consent rule is helpful but insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 11%, so the description should compensate by explaining latitude/longitude or the other address fields, but it does not. The only parameter-related statement repeats the explicit_user_intent schema description and adds no new meaning. Latitude and longitude are required yet entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific HTTP POST to /v1/customers/me/addresses, which clearly signals creating an address for the authenticated customer. Combined with the title, it distinguishes this write operation from read-only siblings like ifood_list_addresses. It is not phrased as a plain verb sentence, which keeps it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states that explicit_user_intent is required before calling, which is a meaningful usage condition for a consent-sensitive write. However, it gives no guidance about when to prefer this over alternatives or when not to call it, and it does not explain the relationship to ifood_list_addresses.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.