Order by Cash App brings local food ordering into Claude. Discover nearby restaurants, compare menus, customize your order, and check out, all in the conversation. On clients that support it, an interactive ordering view opens right in chat.
Protocol
MCP 2025-11-25
Server version
1.0.0
Supports
Tools
Resources
Overall score
B
Overall quality score: 80 out of 10080/100
Server metadata
5 of 8 fields60/1006 / 10 pts
Identity, discovery, and usage metadata advertised during the MCP handshake.
How to fix: Set the top-level tool.title to a short human-readable label (for example, "Search catalog"). Claude directory submission requires tool titles; annotations.title remains accepted only as a legacy fallback.
Add a human-readable title so users do not have to interpret the tool identifier.
Description89/100
Given a restaurant brand name, return its locations. A name may match multiple brands (e.g. "pizza"); returns up to `limit` locations total. Optionally restrict results to within 5 miles of a location.
Describe the returned information so the agent knows whether it will answer the request.
Inputs83/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
name
The restaurant brand name to look up locations for
Clear enough to supply this argument.
limit
Maximum number of locations to return (default 25, minimum 1, maximum 100)
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
location
Optional location to restrict results near (e.g., 'San Francisco, CA' or '94102' or '37.7749, -122.4194'). Only locations within 5 miles are returned.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "search-brand-by-name",
"description": "Given a restaurant brand name, return its locations. A name may match multiple brands (e.g. \"pizza\"); returns up to `limit` locations total. Optionally restrict results to within 5 miles of a location.",
"inputSchema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The restaurant brand name to look up locations for"
},
"limit": {
"type": "integer",
"description": "Maximum number of locations to return (default 25, minimum 1, maximum 100)"
},
"location": {
"type": "string",
"description": "Optional location to restrict results near (e.g., 'San Francisco, CA' or '94102' or '37.7749, -122.4194'). Only locations within 5 miles are returned."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}
}
Add a human-readable title so users do not have to interpret the tool identifier.
Description87/100
Discover restaurants near a given location. Returns a plain English list of restaurants with their names, locations, fulfillment hours, and descriptions.
The description explains the capability, when to use it, and what to expect.
Inputs90/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
location
The user's physical location (e.g. coordinates, address, or city name, not relative like 'current location').
Clear enough to supply this argument.
openOnly
If true, only return restaurants currently open. This field defaults to true.
Clear enough to supply this argument.
brandName
Filter results to a specific restaurant brand (e.g. IHOP, Los Tacos)
Clear enough to supply this argument.
radiusMiles
Search radius in miles around the location. Defaults to 1 mile. Maximum 5.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
customer_intent
Brief thematic description of what the customer is looking for, e.g. 'healthy lunch', 'quick breakfast', 'vegetarian options', 'something sweet'. Keep this high-level; do not include personally sensitive information. Maximum 100 characters.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "discover-nearby-restaurants",
"description": "Discover restaurants near a given location. Returns a plain English list of restaurants with their names, locations, fulfillment hours, and descriptions.",
"inputSchema": {
"type": "object",
"required": [
"location"
],
"properties": {
"location": {
"type": "string",
"description": "The user's physical location (e.g. coordinates, address, or city name, not relative like 'current location')."
},
"openOnly": {
"type": "boolean",
"description": "If true, only return restaurants currently open. This field defaults to true."
},
"brandName": {
"type": "string",
"description": "Filter results to a specific restaurant brand (e.g. IHOP, Los Tacos)"
},
"radiusMiles": {
"type": "number",
"description": "Search radius in miles around the location. Defaults to 1 mile. Maximum 5."
},
"customer_intent": {
"type": "string",
"description": "Brief thematic description of what the customer is looking for, e.g. 'healthy lunch', 'quick breakfast', 'vegetarian options', 'something sweet'. Keep this high-level; do not include personally sensitive information. Maximum 100 characters."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}
}
Add a human-readable title so users do not have to interpret the tool identifier.
Description70/100
Create a cart for a restaurant location using unit token and a list of item selections.
Use standard/first variation if no variation is explicitly specified. Use CALI_ prefixed IDs for menu item,
and CALIV_ prefixed IDs for menu item variations. Fill both menu item and menu item variations when they are available.
Any item requiring a modifier requires a modifierId field (singular, using CALIM_ prefix from the menu's modifier data).
If a modifier has minSelection >= 1, at least one modifier from that list must be included.
Describe the returned information so the agent knows whether it will answer the request.
Inputs57/100
13 of 14 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
unitToken
The unit token identifying the location
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
cartLineSelections › items › menuItemId
The id for the menu item selected. This id should start with CALI_ prefix.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
cartLineSelections › items › quantity
The quantity of the item selected (minimum 1, maximum 999)
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
cartLineSelections › items › menuItemVariationId
Optional id of menu item variation for the item selected. This id should start with CALIV_ prefix.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "create-cart",
"description": "Create a cart for a restaurant location using unit token and a list of item selections.\nUse standard/first variation if no variation is explicitly specified. Use CALI_ prefixed IDs for menu item,\nand CALIV_ prefixed IDs for menu item variations. Fill both menu item and menu item variations when they are available.\nAny item requiring a modifier requires a modifierId field (singular, using CALIM_ prefix from the menu's modifier data).\nIf a modifier has minSelection >= 1, at least one modifier from that list must be included.",
"inputSchema": {
"type": "object",
"required": [
"unitToken",
"cartLineSelections"
],
"properties": {
"unitToken": {
"type": "string",
"description": "The unit token identifying the location"
},
"fulfillment": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"oneOf": [
{
"const": "PICKUP"
},
{
"const": "DELIVERY"
}
]
}
},
"description": "Optional fulfillment details. Set type to PICKUP for pick-up orders or DELIVERY for delivery orders. Defaults to PICKUP."
},
"discountCodes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional array of discount codes to apply"
},
"cartLineSelections": {
"type": "array",
"items": {
"type": "object",
"required": [
"menuItemId",
"quantity"
],
"properties": {
"quantity": {
"type": "integer",
"description": "The quantity of the item selected (minimum 1, maximum 999)"
},
"modifiers": {
"type": "array",
"items": {
"type": "object",
"required": [
"modifierId"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the modifier"
},
"quantity": {
"type": "integer",
"description": "The quantity of this modifier (default 1, minimum 1, maximum 999)"
},
"modifierId": {
"type": "string",
"description": "The id of the modifier using the CALIM_ prefixed modifier id."
},
"total_price": {
"type": "object",
"properties": {
"amount": {
"type": "integer",
"description": "The total price amount (minimum 0)"
},
"currency": {
"type": "string",
"description": "The ISO-4217 currency code of this modifier"
}
},
"description": "The total price of this modifier"
}
}
},
"description": "Optional array of modifier selections"
},
"menuItemId": {
"type": "string",
"description": "The id for the menu item selected. This id should start with CALI_ prefix."
},
"textModifiers": {
"type": "array",
"items": {
"type": "object",
"required": [
"menuItemMenuModifierId",
"inputtedText"
],
"properties": {
"inputtedText": {
"type": "string",
"description": "The input text of the modifier"
},
"modifierName": {
"type": "string",
"description": "The name of the modifier"
},
"menuItemMenuModifierId": {
"type": "string",
"description": "The menu item modifier list id using the CALIL_ prefixed item modifier list id"
}
}
},
"description": "Optional array of text modifier selections"
},
"menuItemVariationId": {
"type": "string",
"description": "Optional id of menu item variation for the item selected. This id should start with CALIV_ prefix."
}
}
},
"description": "Array of cart line selections (items to add to cart)"
}
}
},
"annotations": {
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": false
}
}
Add a human-readable title so users do not have to interpret the tool identifier.
Description89/100
Get menu items for a restaurant location by brand name and address. Returns menu categories, items, prices, and a unit token for placing an order.
The description explains the capability, when to use it, and what to expect.
Inputs94/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
brand_name
The restaurant brand name (e.g. Los Tacos, IHOP)
Clear enough to supply this argument.
location_address
The specific restaurant location address (e.g. 123 John St, New York, NY)
Clear enough to supply this argument.
customer_intent
Brief thematic description of what the customer is looking for, e.g. 'healthy lunch', 'quick breakfast', 'vegetarian options', 'something sweet'. Do NOT put specific menu item names here; use `suggested_items` for those. Do not include any personally sensitive information. Maximum 100 characters.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
suggested_items
Specific menu item names the customer mentioned or asked about, e.g. 'tiramisu', 'cappuccino', 'chicken sandwich'. Populate this whenever the customer names a dish (even approximately). Do NOT put thematic descriptions here; use `customer_intent` for those.
Clear enough to supply this argument.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get-single-menu",
"description": "Get menu items for a restaurant location by brand name and address. Returns menu categories, items, prices, and a unit token for placing an order.",
"inputSchema": {
"type": "object",
"required": [
"brand_name",
"location_address"
],
"properties": {
"brand_name": {
"type": "string",
"description": "The restaurant brand name (e.g. Los Tacos, IHOP)"
},
"customer_intent": {
"type": "string",
"description": "Brief thematic description of what the customer is looking for, e.g. 'healthy lunch', 'quick breakfast', 'vegetarian options', 'something sweet'. Do NOT put specific menu item names here; use `suggested_items` for those. Do not include any personally sensitive information. Maximum 100 characters."
},
"suggested_items": {
"type": "array",
"items": {
"type": "string"
},
"description": "Specific menu item names the customer mentioned or asked about, e.g. 'tiramisu', 'cappuccino', 'chicken sandwich'. Populate this whenever the customer names a dish (even approximately). Do NOT put thematic descriptions here; use `customer_intent` for those."
},
"location_address": {
"type": "string",
"description": "The specific restaurant location address (e.g. 123 John St, New York, NY)"
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}
}
Add a human-readable title so users do not have to interpret the tool identifier.
Description87/100
Research tool: get plain text menus for multiple restaurant locations. Returns up to 10 menus with item names, descriptions, and prices for comparison and analysis.
The description explains the capability, when to use it, and what to expect.
Inputs88/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
locations › items › brand_name
The restaurant brand name (e.g. Los Tacos, IHOP)
Clear enough to supply this argument.
locations › items › location_address
The specific restaurant location address (e.g. 123 John St, New York, NY)
Clear enough to supply this argument.
customer_intent
Brief thematic description of what the customer is looking for, e.g. 'healthy lunch', 'quick breakfast', 'vegetarian options', 'something sweet'. Do NOT put specific menu item names here; use `suggested_items` for those. Do not include any personally sensitive information. Maximum 100 characters.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
suggested_items
Specific menu item names the customer mentioned or asked about, e.g. 'tiramisu', 'cappuccino', 'chicken sandwich'. Populate this whenever the customer names a dish (even approximately). Do NOT put thematic descriptions here; use `customer_intent` for those. Applies to every location fetched.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get-multiple-menus",
"description": "Research tool: get plain text menus for multiple restaurant locations. Returns up to 10 menus with item names, descriptions, and prices for comparison and analysis.",
"inputSchema": {
"type": "object",
"required": [
"locations"
],
"properties": {
"locations": {
"type": "array",
"items": {
"type": "object",
"required": [
"brand_name",
"location_address"
],
"properties": {
"brand_name": {
"type": "string",
"description": "The restaurant brand name (e.g. Los Tacos, IHOP)"
},
"location_address": {
"type": "string",
"description": "The specific restaurant location address (e.g. 123 John St, New York, NY)"
}
}
},
"description": "List of restaurant locations to fetch menus for (max 10)"
},
"customer_intent": {
"type": "string",
"description": "Brief thematic description of what the customer is looking for, e.g. 'healthy lunch', 'quick breakfast', 'vegetarian options', 'something sweet'. Do NOT put specific menu item names here; use `suggested_items` for those. Do not include any personally sensitive information. Maximum 100 characters."
},
"suggested_items": {
"type": "array",
"items": {
"type": "string"
},
"description": "Specific menu item names the customer mentioned or asked about, e.g. 'tiramisu', 'cappuccino', 'chicken sandwich'. Populate this whenever the customer names a dish (even approximately). Do NOT put thematic descriptions here; use `customer_intent` for those. Applies to every location fetched."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}
}
Loading score analytics…
Put your MCP to the test
A few tasks worth trying with this server, chosen from its reviewed tools. These have not been run.
01Discover nearby restaurantsDiscover restaurants near a given location.
02Search brand by nameGiven a restaurant brand name, return its locations.
03Get single menuGet menu items for a restaurant location by brand name and address.
04Get multiple menusResearch tool: get plain text menus for multiple restaurant locations.
Want to run these tasks against your MCP server with us?
block-cash-app-ordering-mcp-server setup, tools, quality score, publishing readiness, and alternatives.
How do I add block-cash-app-ordering-mcp-server to Claude, ChatGPT, or Cursor?
Add block-cash-app-ordering-mcp-server to Claude, ChatGPT, or Cursor by connecting its remote MCP URL in each client's MCP settings. In Claude, add a custom connector. In ChatGPT, add an MCP app. In Cursor, add an MCP server under Settings. The MCP URL is https://connect.squareup.com/v2/mcp/cash-app.
Is block-cash-app-ordering-mcp-server MCP ready for ChatGPT and Claude?
As of October 6, 2026, block-cash-app-ordering-mcp-server scores 94/100 on Manufact's MCP publishing checklist. The scan meets ChatGPT publishing checks and does not yet meet Claude publishing checks. Passing these checks does not guarantee marketplace approval.
How clear is block-cash-app-ordering-mcp-server's MCP tool documentation?
As of October 6, 2026, block-cash-app-ordering-mcp-server scores 65/100 in Manufact's review of tool titles, descriptions, input and output schemas, and behavior annotations. The review covers 5 of 5 discovered tools. The quality score measures documentation clarity; runtime behavior and marketplace readiness require separate checks.
What tools does the block-cash-app-ordering-mcp-server MCP server provide?
block-cash-app-ordering-mcp-server provides these MCP tools: discover-nearby-restaurants, get-multiple-menus, get-restaurant-ordering-view, get-single-menu-view, get-single-menu, create-cart, and app_create-cart.
What are the best alternatives to block-cash-app-ordering-mcp-server?
As of October 20, 2026, alternatives to block-cash-app-ordering-mcp-server in commerce-shopping on the Manufact MCP leaderboard include EbooksDepository, ecoExperten Energieausweis, PHS Pallets, Promotion Pros Catalog, and RCO-A2A.
Does block-cash-app-ordering-mcp-server MCP require authentication?
block-cash-app-ordering-mcp-server does not require authentication. It is a public MCP endpoint you can connect without logging in.
How can block-cash-app-ordering-mcp-server improve its MCP documentation?
create-cart is the lowest-scoring reviewed tool at 55/100. No output schema is declared. Add one for structured results so clients can interpret returned fields. Open its review for feedback and a copyable fix prompt, then rerun the documentation review after updating your tool metadata.
Who develops block-cash-app-ordering-mcp-server?
block-cash-app-ordering-mcp-server is developed by Block, Inc.. It is listed as partner on the Claude connector directory.
Not your MCP?
Review any public or OAuth MCP server for protocol compatibility, tool documentation, and ChatGPT and Claude publishing readiness. No account required.