Skip to main content
Glama
Crawlora-org

Crawlora MCP

Official

papajohns_intl_menu

Get restaurant-specific Papa John's international menu prices for Chile, Costa Rica, Guatemala, Panama, Portugal, or Spain using a store ID. Returns priced items with sizes, crusts, and local currency.

Instructions

Get a Papa John's restaurant's priced menu (international). Returns one Papa John's restaurant's full menu with that restaurant's own prices, in one of six international markets: Chile, Costa Rica, Guatemala, Panama, Portugal, and Spain. Prices are per restaurant, not national, so two restaurants in the same market can differ. Each pizza lists every size and crust combination it is sold in with that combination's own price and, where published, its calorie and portion figures; sides, drinks and desserts list their own portions. Machine codes for size and crust are returned alongside the market's own display labels in the local language. Currency is whatever the market trades in -- euros in Spain and Portugal, Chilean pesos in Chile, and so on -- so do not compare figures across markets. Use GET /papajohns/intl/stores to find a store_id. For India use GET /papajohns/india/menu; for the US and Canada see GET /papajohns/nutrition.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoReturn only one product kind. One of: pizza, side
marketYesMarket. One of: chile, costa-rica, guatemala, panama, portugal, spain
store_idYesRestaurant id from GET /papajohns/intl/stores. Prices are specific to this restaurant.
food_typeNoReturn only products carrying this dietary or heat marker. One of: hot, mild, spicy, vegetarian. Products upstream does not mark are excluded.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.16.2

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does a strong job: it explains that prices are per restaurant (not national), that currency varies by market and should not be compared across markets, that machine codes are returned alongside local display labels, and that calorie/portion figures are included where published. It doesn't explicitly state whether the operation is read-only or whether it can fail, but the read-only nature is strongly implied by 'Get' and the detailed scoping. The only minor gap is not stating what happens if a store_id is invalid or if a market has no data.

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?

The description is dense but well-organized: it front-loads the core purpose, then explains the per-restaurant pricing model, the data returned, the currency caveat, and finally the prerequisite and sibling routing. Every sentence earns its place, though it is somewhat long and could be slightly tightened. The structure is logical and scannable.

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

Completeness4/5

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

Given the tool's complexity (multiple markets, per-restaurant pricing, optional filters, currency caveats) and the absence of an output schema, the description is quite complete. It covers what the tool returns, how to get the required store_id, and how to route to sibling tools. The only missing piece is a note about error behavior or rate limits, but for a menu-fetching tool this is a minor gap.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema already documents all four parameters. The description adds value beyond the schema by explaining the semantics of store_id (prices are specific to this restaurant), market (six named markets), and the meaning of the returned data (per-restaurant prices, local currency, machine codes). It also clarifies that kind and food_type are optional filters. This goes beyond the baseline 3 for full schema coverage.

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?

The description states a specific verb ('Get'), a specific resource ('a Papa John's restaurant's priced menu (international)'), and clearly distinguishes it from sibling tools by naming the six international markets and explicitly pointing to papajohns_india_menu and papajohns_nutrition for other regions. This makes it easy for an agent to select this tool over the many Papa John's menu siblings.

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?

The description explicitly tells the agent when to use this tool (for international markets: Chile, Costa Rica, Guatemala, Panama, Portugal, Spain) and when not to (for India use papajohns_india_menu; for US/Canada use papajohns_nutrition). It also instructs the agent to use GET /papajohns/intl/stores to find a store_id, which is a clear prerequisite.

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

Install Server

Other Tools