Ask about dinner. Use your real pantry.

Connect Pantryfy to ChatGPT, Claude, Cursor or another compatible MCP app. Check groceries, find saved recipes, plan meals and build shopping lists.

ClaudeChatGPTCursor

Free to connect. Your Pantryfy plan’s limits apply.

Four kitchen requests. Illustrated examples with demo data.
Setup, permissions, tools and troubleshooting

Illustrated setup guides

Choose your assistant and follow the steps. You connect by signing in to Pantryfy from the assistant (an OAuth sign-in), which works on Free, Pro and Family within your plan’s feature and usage limits.

Claude setup

Add Pantryfy to Claude from its listing in Claude’s connector directory.

Sign in to your Claude account. For a Team or Enterprise workspace, an owner may need to enable Pantryfy for your organization first.

1. Open Pantryfy’s listing

Illustration of Pantryfy’s Claude directory listing with a Connect button.

Open Pantryfy’s directory listing and choose Connect. If it says Connected, go straight to a conversation.

2. Choose your kitchen and access

Illustration of Pantryfy authorization with one household and separate read and write permissions.

Sign in to Pantryfy, choose your household and approve the permissions you want. No API key is needed.

3. Try it in a conversation

Illustration of Claude’s plus menu, Connectors and an enabled Pantryfy toggle above a pantry question.

In a new Claude chat, open +, choose Connectors and enable Pantryfy. Ask: “What in my pantry expires this week?”

These are illustrations, so your assistant’s screens may look different.

Open Pantryfy in Claude · Claude’s connector guide

ChatGPT setup

Add the Pantryfy app to ChatGPT.

Pantryfy must be available for your ChatGPT plan, region and workspace. A workspace administrator may need to enable the app.

1. Open Pantryfy’s listing

Illustration of finding Pantryfy in ChatGPT’s app directory.

Open Pantryfy’s ChatGPT listing and follow the connection prompts.

2. Sign in and choose access

Illustration of Pantryfy authorization with a household and permission choices.

Sign in to Pantryfy, choose your household and approve the read and write permissions you want. No API key is needed.

3. Use Pantryfy in a chat

Illustration of a pantry question in a conversation with Pantryfy enabled.

Select Pantryfy from the chat’s app menu or mention it with @. Ask: “Which saved recipes use the ingredients in my pantry?”

These are illustrations, so your assistant’s screens may look different.

Open Pantryfy in ChatGPT · ChatGPT’s connected app guide

Cursor setup

Add Pantryfy to Cursor from its listing in Cursor Directory.

Install Cursor and sign in to your account. Pantryfy is available through the community Cursor Directory.

1. Add Pantryfy to Cursor

Illustration of Pantryfy’s Cursor Directory listing with an Add to Cursor button.

Open Pantryfy in Cursor Directory and choose Add to Cursor. Review the server installation in Cursor.

2. Sign in and choose access

Illustration of Pantryfy household selection and separate read and write permissions.

Sign in to Pantryfy when prompted. Choose your household and approve the permissions you want. No API key is needed.

3. Ask about your kitchen

Illustration of a pantry question in an assistant conversation with Pantryfy connected.

With Pantryfy enabled in an agent conversation, ask: “What in my pantry expires this week?” Review tool approvals when prompted.

These are illustrations, so your assistant’s screens may look different.

Open Pantryfy in Cursor Directory · Cursor’s MCP guide

Connect Pantryfy

Use your pantry, saved recipes, meal plan and shopping lists in ChatGPT, Claude, Cursor or another compatible MCP app.

Choose a directory link in the setup guide, connect Pantryfy and sign in. Select your household and approve the permissions you want. OAuth works on Free, Pro and Family, within your plan’s feature and usage limits. You need a Pantryfy account and household.

MCP (Model Context Protocol) lets an AI assistant use tools in another app.

Other MCP apps

Add https://api.pantryfy.ai/mcp/ as a remote server in your app’s MCP settings. Keep the trailing slash. Your app must support Streamable HTTP and OAuth sign-in or bearer-token authentication; no local server installation is needed.

Choose OAuth where supported. If your app needs a bearer token, create a personal API key in Pantryfy Settings (Pro or Family). OAuth connections do not need a personal API key or client secret.

Manage or revoke access in Pantryfy Settings → Agents.

Permissions and household access

Each connection works only with the household you chose when you authorized it. A tool can’t switch to a different household, even by using another household’s object ID. Everyone in the connected household can see the changes an assistant makes to the household’s shared data.

Scope Allows
pantry:read Search pantry items, check expiry dates, request substitutes and read a summary of the household’s pantry, meals and lists.
pantry:write Add pantry items and update their details or quantities.
recipes:read Search and read saved recipes and request recipe suggestions based on the pantry.
recipes:write Create recipes, import a recipe from a public URL and edit recipe metadata (title, description, servings, tags and meal types).
planner:read Read a week’s meal plan.
planner:write Add planned meals and mark meals cooked.
shopping:read Read shopping lists and their items.
shopping:write Create lists, add items, check items off and generate a list from planned meals.

Read permissions only let the assistant look at data. They don’t allow changes. A write permission you approve lets the assistant make that kind of change, and Pantryfy doesn’t show a separate confirmation for each tool call. Look carefully at any request to edit quantities or mark meals cooked, because marking a meal cooked deducts its ingredients from pantry stock. Adding planned meals can also reserve pantry quantities for those meals, which lowers the amount the pantry shows as available.

Tool reference

The default endpoint offers all 21 tools below. Some connector profiles are restricted and offer only some of these tools. Every endpoint uses the same authentication, retention and disconnect controls. An authenticated MCP tools/list request returns each tool’s current description, its JSON input schema, and annotations that say whether the tool is read-only, destructive or open-world (reaches outside Pantryfy). Use IDs from earlier tool results in later calls. Don’t invent IDs.

Tool Permission Inputs and behavior
pantry_search pantry:read Optional query; returns matching pantry items and their IDs.
pantry_expiring pantry:read Optional days (1–30, default 7); returns expiring items.
pantry_substitute pantry:read ingredient, optional require_in_pantry; suggests substitutes.
household_context pantry:read No inputs; returns pantry and meal/list counts and tonight’s dinner title.
pantry_add pantry:write items (1–30), each with name and optional quantity, unit, location; adds items.
pantry_update pantry:write item_id and fields to change: name, quantity, unit, location, expiry_date. Changes existing data.
recipes_search recipes:read Optional query; searches the household’s saved recipes.
recipes_get recipes:read recipe_id; returns ingredients and instructions.
recipes_make_now recipes:read Optional limit (1–5); ranks saved recipes by local ingredient overlap with the pantry and applies the household’s allergen and diet exclusions. request is accepted for compatibility but does not change this local ranking.
recipes_create recipes:write title, ingredients (objects with name, numeric quantity, unit, and optional preparation/is_optional), instructions (steps); optional description, servings, tags and preparation/cooking minutes. Saves a new recipe.
recipes_import_url recipes:write url; fetches a public recipe page and saves the imported recipe. This tool reaches an external website and is available only on the default endpoint.
recipes_update recipes:write recipe_id and optional title, description, servings, tags or meal types. Edits metadata, not ingredient or instruction lists. A meal type outside breakfast, lunch, dinner, dessert and snack is refused and the recipe’s current meal types are kept.
planner_get_week planner:read week_start; returns meals with their IDs and completion state.
planner_add_meals planner:write week_start, meals (1–28), each with recipe_id, day_of_week (0 Monday–6 Sunday), optional meal_type and servings.
planner_complete_meal planner:write meal_id; marks the meal cooked and deducts pantry ingredients.
shopping_list shopping:read No inputs; returns lists with IDs and item counts.
shopping_get shopping:read Optional list_id; reads lists or one list’s items and item IDs.
shopping_create_list shopping:write name; creates an empty list.
shopping_add shopping:write items (1–30), each with name and optional quantity, unit, category; optional list_id selects a list; without it the items go on the newest open list made in the last 14 days (never a completed one), or a new list.
shopping_check_item shopping:write list_id, item_id; marks an item bought.
shopping_generate_from_week shopping:write week_start; creates a shopping list from that week’s planned meals.

Use ISO dates (YYYY-MM-DD), and use a Monday for week_start. Unit values are case-sensitive: item, piece, dozen, bunch, bag, box, can, bottle, jar, package, stick, lb, oz, gallon, quart, pint, cup, fl oz, tbsp, tsp, kg, g, mg, L, ml.

The connector has no tools for purchases, public posting, deleting or removing data, exporting a shopping list to the pantry, or Recipe Studio. Recipe search only searches the household’s saved recipes. Suggestions use the ingredient data and household restrictions that Pantryfy has. Check labels, unknown ingredients and cross-contact yourself, because Pantryfy does not certify allergen safety.

Send every item quantity as a JSON number, never as a fraction string: 0.5 for 1/2, 0.75 for 3/4, and 1.25 for 1 1/4. Keep quantities and units out of item names. A pantry addition needs a positive quantity and defaults to 1 item when you leave the quantity out. A pantry update allows 0 to record that an item has run out. A shopping quantity can be null when no amount is given. If any quantity or unit in a batch is invalid, Pantryfy rejects the whole batch before writing anything, so correct the complete batch and send it again.

For repeating fractions, send a decimal approximation: 0.333333 for 1/3, 0.666667 for 2/3, and 1.333333 for 1 1/3. Keep at least six decimal places, and let the server do the rounding for storage. For example, {"name":"olive oil","quantity":0.333333,"unit":"cup"}. Do not send "1/3" or "0.333333" as strings. Saved recipe, pantry, and shopping quantities round to three decimal places, so these examples become 0.333, 0.667, and 1.333. The app’s fraction formatter displays them as 1/3, 2/3, and 1 1/3. It does not store an exact numerator and denominator, so scaling uses the stored decimal.

Examples

Recipe ingredient amounts and preparation are separate fields. Use numeric quantities (0.5 for 1/2, 0.75 for 3/4), and do not put amounts, units, or preparation in name. For example: {"name":"black pepper","quantity":0.5,"unit":"tsp","preparation":null} and {"name":"onion","quantity":1,"unit":"item","preparation":"sliced"}. Keep varieties and alternatives in the name, such as firm apples (Honeycrisp or Granny Smith). Use an explicit null for an unspecified quantity or unit. Pantryfy rejects the older format that sent ingredients as an array of text strings. After updating your client, refresh the connector’s tool discovery so it picks up the current format.

  • “What should I use up this week?” — pantry_expiring with {"days":7}.
  • “Find my saved lentil recipes and show the ingredients.” — recipes_search, then recipes_get using a returned recipe ID.
  • “Add two cans of chickpeas to my pantry.” — pantry_add with {"items":[{"name":"chickpeas","quantity":2,"unit":"can"}]}.
  • “Plan that saved recipe for Monday dinner.” — planner_add_meals with a returned recipe ID and the selected week.
  • “Show this week’s shopping list.” — shopping_list, then shopping_get using the chosen list ID.

OAuth and client implementation

Pantryfy uses the OAuth authorization code flow with PKCE (S256) and bearer access tokens. Read the authorization details from the discovery endpoints below instead of hardcoding them:

Endpoint URL
MCP resource / OAuth resource value https://api.pantryfy.ai/mcp/; must match the connected endpoint
OAuth revocation https://api.pantryfy.ai/oauth/revoke
Protected resource metadata https://api.pantryfy.ai/.well-known/oauth-protected-resource
Authorization server metadata https://api.pantryfy.ai/.well-known/oauth-authorization-server
Authorization https://api.pantryfy.ai/oauth/authorize
Token exchange and refresh https://api.pantryfy.ai/oauth/token
Dynamic client registration https://api.pantryfy.ai/oauth/register

The server supports OAuth Client ID Metadata Documents and dynamic client registration. Public clients use the token endpoint authentication method none. Send the exact resource URL above during authorization and token exchange. Access tokens last one hour. Refresh tokens rotate on use and expire after 30 days. Your client must store the new refresh token returned each time and must not replay a rotated token.

For MCP POST requests, send Content-Type: application/json, Accept: application/json, text/event-stream and Authorization: Bearer <access token>. Complete initialize and notifications/initialized before requesting tools/list. Send the negotiated MCP-Protocol-Version on later requests. The server is stateless and does not require a persistent Mcp-Session-Id. The endpoint is not a legacy SSE (server-sent events) URL.

An unauthenticated request that returns 401 with a WWW-Authenticate header is normal, because that is how OAuth discovery starts. Opening the URL in a browser does not test an authenticated MCP connection.

Data handling and disconnecting

Each tool response shares the household data you asked for with the assistant you connected. Depending on the tool and scopes, this includes pantry inventory, recipe content, meal plans and shopping lists. Substitution and recommendation tools may use the household’s dietary restrictions. URL import fetches the recipe website you supply and uses Pantryfy’s configured AI providers to read it. The other connector tools process data locally within Pantryfy. Ingredient matching does not add what you send through the connector to global learning queues. See our Privacy Policy and Terms of Service for data handling details.

Pantryfy processes connector requests and responses to carry out the action you asked for. They are not stored as chat histories, persistent MCP sessions, prompt/result caches or per-call product analytics. Request and response contents are left out of tracing. Account-level usage totals and short-lived rate-limit counters enforce service limits. Content you choose to save stays in your Pantryfy household for your use.

To revoke access, open Pantryfy Settings → Agents and choose Disconnect under Connected apps. Remove the connector from your assistant’s settings to clear it from that app as well. Some assistants remove the connector from their own settings without notifying Pantryfy. For Muse, use Disconnect Muse in Pantryfy to revoke the grant.

Pantryfy erases the connection’s access and refresh tokens, write grants, pending authorization codes, and older external-call analytics that identify the connection. An assistant can trigger the same revocation by sending a token to /oauth/revoke. After revocation, the assistant needs fresh consent to reach your household again. Pantryfy finishes any tool call already in progress before completing the disconnect. Account deactivation also erases OAuth credentials and grants.

Your saved household content stays in Pantryfy. Manage earlier conversations and their retention through your assistant’s own controls.

Troubleshooting

Symptom What to do
Authorized, but connection or tool discovery fails Check the exact server URL, including /mcp/, and retry the connection. If it still fails, send support the assistant name, the time and the error or reference ID. A successful sign-in does not mean the MCP transport finished connecting.
421 Misdirected Request The server rejected the request’s host. Use the canonical URL above. If it is already correct, contact support. Changing your password or approving OAuth again will not fix this error, because it comes from the server’s host configuration.
401 after previously working Let the client refresh its token, or reconnect if access was revoked or the refresh token expired.
403 or a scope error Check the approved permissions and household membership. For a write action, reconnect and grant its matching write scope if you want to allow it.
rate_limited Wait for the retry_after_s interval before retrying. Tool calls are limited to 60 per minute per principal.
usage_limit_reached If you reached a time-based allowance, wait for it to reset. If you reached a saved-item limit, delete some saved items in Pantryfy.
feature_unavailable That action is not available for the connected Pantryfy account. Other permitted tools remain available.
An item or recipe cannot be found Confirm the selected household and search again for its current ID.
Connection fails after a server restart Let the client initialize a fresh MCP session.

Contact [email protected] with the assistant name, the approximate time and timezone, the step that failed, and the error text or support reference. Never send passwords, API keys, access tokens or refresh tokens.

Security incidents

Report connector security concerns through Pantryfy support. If a connector security incident happens, Pantryfy’s process covers containing it, revoking credentials, keeping as little evidence data as possible, working out which users were affected, and notifying the assistant’s provider. We may send the provider a first notice and then updates as we confirm the facts.