Skip to main content
Glama

Chop it: meal planning, recipes, pantry and shopping

Import a recipe from a photo

import_recipe_from_image

Imports a recipe from a photo (cookbook page, screenshot or handwritten card) given a fetchable http(s) imageUrl, restructures it to Chop It's recipe standard and saves it to the user's library. A needs_review result carries a preview and the issues found, for correction with save_recipe. If the image can't be fetched, the recipe text can be imported as a caption with import_recipe_from_url. Imports that need paid processing require confirmPaidImport after the user agrees. Limited per conversation. Requires a linked Chop It account.

Input Schema

NameRequiredDescriptionDefault
captionNoOptional extra context, e.g. the dish name or text the photo cuts off.
imageUrlYeshttp(s) URL of a photo of the recipe — a cookbook page, screenshot, or handwritten card. Must be a fetchable link; if the fetch fails, fall back to import_recipe_from_url with the recipe text as caption.
requestIdNoGenerate a unique ID before starting a new import. Reuse it until that import completes, including confirmation and recovery; a later new import needs a new ID.
confirmPaidImportNoTrue only after the user explicitly approves 1 credit once the 10 free weekly imports are exhausted.

Output Schema

NameRequiredDescriptionDefault
titleNo
appUrlNo
statusYes
keepUrlNo
messageYes
recipeIdNo
failedRulesNo
recipePreviewNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say it is a non-readonly, non-idempotent, open-world, non-destructive write. The description adds real context beyond that: it consumes rate limits (limited per conversation), requires an authenticated/linked account, may require paid credits, and returns a needs_review state with a preview plus issues instead of silently saving.

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

Conciseness4/5

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

Dense but front-loaded: capability and required input come first, then failure fallback, paid confirmation, limits and preconditions. The needs_review return-format sentence slightly overlaps the output schema but still earns its place by naming the corrective sibling.

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

Completeness5/5

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

For a mutating, open-world import tool, the description covers the happy path, the fetch-failure path, the paid-confirmation gate, rate limiting, and account linkage, while an output schema handles return values. Nothing an agent needs to call it correctly is missing.

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

Parameters3/5

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

Schema coverage is 100%, so all four parameters are already documented, and the description largely repeats the imageUrl fetchability constraint. It adds a little sequencing context for confirmPaidImport but never mentions requestId, so it does not meaningfully exceed the schema baseline.

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

Purpose5/5

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

States a specific verb+resource (imports a recipe from a photo) plus the processing it performs (restructures to Chop It's recipe standard and saves to the library). It also implicitly distinguishes itself from import_recipe_from_url and save_recipe by naming them for different situations.

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

Usage Guidelines5/5

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

Explicit routing: use this when you have a fetchable http(s) imageUrl; fall back to import_recipe_from_url with the text as caption if the fetch fails; correct a needs_review result with save_recipe; call confirmPaidImport only after the user agrees. Prerequisites (linked account, per-conversation limit) are also stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Directories

Listed in ChatGPT · Chop it

Last observed

Resources