Find US home kitchens on Stovefront, read their menus and pickup times, and build order links.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Checks that the given dishes can be ordered now in those quantities (stock, cutoff, quantity rules, one shared pickup time) and returns a link to the kitchen's own storefront with them already in the cart. It does not place an order or take payment: the customer reviews and submits the order request on the storefront, and the cook confirms it.
Kitchen slug or storefront link, e.g. "stephanie-s-bite-of-heaven" or "https://app.stovefront.com/<slug>"
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http stovefront https://app.stovefront.com/mcp
Checks that the given dishes can be ordered now in those quantities (stock, cutoff, quantity rules, one shared pickup time) and returns a link to the kitchen's own storefront with them already in the cart. It does not place an order or take payment: the customer reviews and submits the order request on the storefront, and the cook confirms it.
| Argument | Type | Description |
|---|---|---|
| items* | array | |
| kitchen* | string | Kitchen slug or storefront link, e.g. "stephanie-s-bite-of-heaven" or "https://app.stovefront.com/<slug>" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"kitchen",
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"dish_id",
"quantity"
],
"properties": {
"dish_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "An offer id from get_menu or search_kitchens"
},
"quantity": {
"type": "integer",
"maximum": 99,
"minimum": 1
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1
},
"kitchen": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Kitchen slug or storefront link, e.g. \"stephanie-s-bite-of-heaven\" or \"https://app.stovefront.com/<slug>\""
}
},
"additionalProperties": false
}Returns one kitchen's menu: the dishes and meal packages that can be ordered now, with price, dietary tags, allergen notes, stock, order cutoff, next pickup or delivery time, quantity rules and any required options. Also returns the payment methods the kitchen accepts and its order model (orders are requests the cook confirms).
| Argument | Type | Description |
|---|---|---|
| week | string | Only this menu week (its Monday, YYYY-MM-DD, as listed in weeks) |
| kitchen* | string | Kitchen slug or storefront link, e.g. "stephanie-s-bite-of-heaven" or "https://app.stovefront.com/<slug>" |
| include_unavailable | boolean | Also list sold-out and closed offers, with the reason. Default false |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"kitchen"
],
"properties": {
"week": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Only this menu week (its Monday, YYYY-MM-DD, as listed in weeks)"
},
"kitchen": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Kitchen slug or storefront link, e.g. \"stephanie-s-bite-of-heaven\" or \"https://app.stovefront.com/<slug>\""
},
"include_unavailable": {
"type": "boolean",
"description": "Also list sold-out and closed offers, with the reason. Default false"
}
},
"additionalProperties": false
}Returns a kitchen's upcoming pickup and delivery times that are open for ordering, each with its order cutoff and the pickup place name. Kitchens with scheduled times list each slot; kitchens with weekly pickup list each pickup time and the dishes it serves. Street addresses are never included.
| Argument | Type | Description |
|---|---|---|
| kitchen* | string | Kitchen slug or storefront link, e.g. "stephanie-s-bite-of-heaven" or "https://app.stovefront.com/<slug>" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"kitchen"
],
"properties": {
"kitchen": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Kitchen slug or storefront link, e.g. \"stephanie-s-bite-of-heaven\" or \"https://app.stovefront.com/<slug>\""
}
},
"additionalProperties": false
}Finds published Stovefront kitchens and the dishes they have open for ordering. Matches words against kitchen names, dish names and categories, and can filter by dietary tags, pickup date and the area a kitchen serves. Returns each kitchen's name, storefront link, short description, service area and up to 8 matching dishes with price, dietary tags, stock and next pickup. Sample storefronts and kitchens hidden from search are not included.
| Argument | Type | Description |
|---|---|---|
| area | string | City or neighborhood, matched against the area each kitchen says it serves |
| limit | integer | Kitchens per page, default 10 |
| query | string | Words to match in kitchen names, dish names and categories, e.g. "tamales" |
| cursor | string | nextCursor from the previous page |
| dietary | array | Every dish returned has all of these tags |
| pickup_to | string | End of a date range, inclusive |
| pickup_date | string | Only dishes that can be picked up or delivered on this kitchen-local date |
| pickup_from | string |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 1, 2026.
| Start of a date range (use with pickup_to, at most 31 days) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"area": {
"type": "string",
"maxLength": 100,
"description": "City or neighborhood, matched against the area each kitchen says it serves"
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Kitchens per page, default 10"
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Words to match in kitchen names, dish names and categories, e.g. \"tamales\""
},
"cursor": {
"type": "string",
"maxLength": 12,
"description": "nextCursor from the previous page"
},
"dietary": {
"type": "array",
"items": {
"enum": [
"vegan",
"vegetarian",
"glutenFree",
"dairyFree",
"eggFree",
"nutFree",
"soyFree",
"paleo",
"spicy",
"containsNuts"
],
"type": "string"
},
"maxItems": 10,
"description": "Every dish returned has all of these tags"
},
"pickup_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End of a date range, inclusive"
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Only dishes that can be picked up or delivered on this kitchen-local date"
},
"pickup_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start of a date range (use with pickup_to, at most 31 days)"
}
},
"additionalProperties": false
}