Skip to content

Connect RecipeClip to your AI assistant

Ask Claude, ChatGPT or Gemini to find, plan and save recipes from your library, right from the chat you already use. Needs Pro or Family; on a free account tool calls return PREMIUM_REQUIRED. See plans.

MCP server URLhttps://recipeclip.app/api/mcp

MCP (Model Context Protocol) lets an assistant call RecipeClip's tools directly. Prefer an API key to signing in? Create one in your developer console.

Pick your assistant

Claude, ChatGPT and Gemini sign in with no key. Coding tools can sign in or use an API key.

Claude

claude.ai, Claude Desktop and Claude mobile · Free (1 connector), Pro, Max, Team and Enterprise

Claude calls this a connector. Add RecipeClip once and it works the same way across web, desktop and mobile. Connecting on mobile is still in beta, so connect on web or desktop first and it becomes available on mobile automatically.

  1. 1

    Open Connectors

    In claude.ai, go to Customize → Connectors. In Claude Desktop, it's the same menu in the sidebar.

    You'll see: A list of your connectors.

  2. 2

    Add a custom connector

    Click Add custom connector and paste the MCP server URL.
    MCP server URLhttps://recipeclip.app/api/mcp

    You'll see: A dialog for the URL and authentication.

  3. 3

    Set authentication

    Under OAuth client, choose Register automatically. Under Authentication, choose Sign in now. Click Add.

    You'll see: A new RecipeClip row, pending sign-in.

  4. 4

    Sign in and allow access

    Sign in and click Allow access on RecipeClip's consent page.

    The consent screen lists the main permissions. The full list is in Permissions & security.

    You'll see: RecipeClip appears under Your connectors as Connected.

  5. 5

    Try it

    In a new chat, ask Claude something that needs your recipes.

    You'll see: Claude answers using your RecipeClip library.

Team and Enterprise

An Owner (or a role with library-management rights) adds RecipeClip once for everyone, under Organization settings → Connectors. Everyone else then opens Customize → Connectors and clicks Connect on the RecipeClip row.

A few organizations have an early-access option to paste an API key instead of signing in, though most accounts won't see it. If yours does, choose No sign-in under Authentication and set a header named authorization to Bearer rcp_live_YOUR_KEY.

Try asking

  • "What can I cook tonight with chicken and rice?"
  • "What's on my meal plan this week?"
  • "Search my recipes for something with basil."
  • "Save this recipe to RecipeClip: https://www.bbcgoodfood.com/recipes/easy-pancakes"

Build your own agent

Calling RecipeClip's MCP server from your own code uses an API key. rcp_live_YOUR_KEY below is a placeholder; swap in a real one from your developer console.

Anthropic Messages API: MCP connector

Requires the anthropic-beta: mcp-client-2025-11-20 header. The allowlist below enables four read tools. Every other tool, including all the write tools, stays disabled until you add it to configs.

Show code (cURL, Python)
curl https://api.anthropic.com/v1/messages \  -H "Content-Type: application/json" \  -H "X-API-Key: $ANTHROPIC_API_KEY" \  -H "anthropic-version: 2023-06-01" \  -H "anthropic-beta: mcp-client-2025-11-20" \  -d '{    "model": "claude-opus-5-5",    "max_tokens": 16000,    "messages": [{"role": "user", "content": "What can I cook with chicken and rice?"}],    "mcp_servers": [{      "type": "url",      "url": "https://recipeclip.app/api/mcp",      "name": "recipeclip",      "authorization_token": "rcp_live_YOUR_KEY"    }],    "tools": [{      "type": "mcp_toolset",      "mcp_server_name": "recipeclip",      "default_config": {"enabled": false},      "configs": {        "search_recipes": {"enabled": true},        "get_recipe": {"enabled": true},        "what_can_i_cook": {"enabled": true},        "list_collections": {"enabled": true}      }    }]  }'

OpenAI Responses API: remote MCP tool

OpenAI's API doesn't handle sign-in itself, so pass a RecipeClip API key as a bearer token. By default OpenAI asks for approval before any tool runs; the example below pre-approves four read tools and leaves every write tool (such as save_recipe_from_url) requiring approval.

Show code (Python, TypeScript)
import osfrom openai import OpenAI client = OpenAI()recipeclip = {    "type": "mcp",    "server_label": "recipeclip",    "server_url": "https://recipeclip.app/api/mcp",    "headers": {"Authorization": f"Bearer {os.environ['RECIPECLIP_API_KEY']}"},    "require_approval": {"never": {"tool_names": [        "search_recipes", "get_recipe", "what_can_i_cook", "list_collections"]}},}  # write tools are left out of "never" -> keep default approval-required behavior resp = client.responses.create(model="gpt-6-astra", tools=[recipeclip],                                input="What can I cook with chicken and rice?")print(resp.output_text)

Vercel AI SDK

createMCPClient from @ai-sdk/mcp connects over Streamable HTTP the same way.

Show code (TypeScript)
import { createMCPClient } from "@ai-sdk/mcp";import { openai } from "@ai-sdk/openai";import { streamText } from "ai"; const mcpClient = await createMCPClient({  transport: {    type: "http",    url: "https://recipeclip.app/api/mcp",    headers: { Authorization: `Bearer ${process.env.RECIPECLIP_API_KEY}` },  },}); const tools = await mcpClient.tools();const result = streamText({  model: openai("gpt-5"), // or any other AI SDK model  tools,  prompt: "What can I cook with chicken and rice?",  onFinish: async () => {    await mcpClient.close();  },}); for await (const chunk of result.textStream) process.stdout.write(chunk);

Tools reference

RecipeClip's MCP server exposes 17 tools. A read-only connection sees the read tools; the write tools only appear for a read and write key or a signed-in connection.

Recipes

  • search_recipesRead only

    Search the recipes you've already saved by title, or list the newest.

    Try asking: "Search my recipes for something with basil."

  • get_recipeRead only

    Get one saved recipe in full: ingredients, steps, times and servings.

    Try asking: "Show me the full recipe for Thai Basil Chicken."

  • what_can_i_cookRead only

    Rank your saved recipes by what you can make. Pass a list of ingredients, or set use_pantry to rank against your pantry.

    Try asking: "What can I cook with what's in my pantry?"

  • list_collectionsRead only

    List your collections, with how many recipes are in each.

    Try asking: "What collections do I have?"

  • save_recipe_from_urlRead and write

    Fetch a recipe page, extract it with AI, and save it to your account.

    Try asking: "Save this recipe to RecipeClip: https://www.bbcgoodfood.com/recipes/easy-pancakes"

Pantry

  • get_pantryRead only

    List what's in your pantry. Salt, pepper and water are always assumed.

    Try asking: "What's in my pantry?"

  • add_to_pantryRead and write

    Add ingredients to your pantry. Duplicates are skipped, up to 50 names per call.

    Try asking: "I just bought eggs, basmati rice and chicken thighs. Add them to my pantry."

  • remove_from_pantryRead and write

    Remove ingredients you've used up, by name or id.

    Try asking: "I'm out of eggs. Take them off my pantry."

Meal plan

  • get_meal_planRead only

    Read your meal plan for a date range (default: the next 7 days), yours, the family's, or both.

    Try asking: "What's on my meal plan this week?"

  • plan_mealRead and write

    Put a saved recipe on a date and meal slot, on your plan or your family's.

    Try asking: "Plan Miso-Glazed Salmon for Friday dinner."

  • move_planned_mealRead and write

    Move a planned meal to another date or meal slot.

    Try asking: "Move Friday's dinner to Saturday."

  • remove_planned_mealRead and write

    Take a meal off the plan.

    Try asking: "Remove Saturday's dinner from my plan."

Grocery list

  • get_grocery_listRead only

    Build your shopping list from the meal plan for a date range, plus items you added by hand.

    Try asking: "What do I need to buy for this week's meals?"

  • add_to_grocery_listRead and write

    Add items to the list, each with an optional quantity and unit. Up to 50 per call.

    Try asking: "Add lemons and 2 cans of tomatoes to my grocery list."

  • check_off_grocery_itemsRead and write

    Mark added items as bought, or put them back on the list.

    Try asking: "Check off the lemons."

  • remove_grocery_itemsRead and write

    Delete added items from the list.

    Try asking: "Remove the tomatoes from my grocery list."

Nutrition

  • get_nutritionRead only

    Read one day of your food diary: entries, totals, your goals and what's left.

    Try asking: "How many calories have I eaten today, and how much protein is left?"

Permissions & security

Sign-in vs. API key

Signing in (Claude, ChatGPT, Gemini, and most config-file clients) always grants full read and write access. RecipeClip's sign-in flow doesn't yet offer a read-only option, so any assistant you connect that way can save recipes and change your pantry, meal plan and grocery list, not just look things up. An API key lets you choose instead: a read-only key for an assistant that should only look things up, or a read and write key if it should also be able to save recipes or edit your pantry, plan and list.

Per-tool approval

Several clients (Claude, Codex CLI, OpenAI's Responses API) let you require a confirmation before a specific tool runs. This is useful for gating the write tools, such as save_recipe_from_url or plan_meal, while leaving the read tools to run freely.

Disconnecting

To remove a signed-in assistant, go to Connected apps in your developer console and disconnect it. To revoke an API key, find it in your API keys list and click the trash icon next to it. Any client using it stops working immediately.

Troubleshooting & FAQ

I'm getting a 401 or an authentication error.

Your API key was revoked, retyped incorrectly, or never created. Create a new key and update your client's config. If you're signed in instead of using a key, try disconnecting and reconnecting the assistant.

I'm getting PREMIUM_REQUIRED.

The MCP server and the REST API are part of Pro and Family. A free account gets this error on every tool call and API request, and can't create keys. Family members are covered by the plan. See plans.

My config file isn't picking up the server.

Check the top-level key your client expects, since it isn't the same everywhere. VS Code uses servers, not mcpServers. Gemini CLI's own gemini mcp add command writes type: "http" and url (some older docs show httpUrl for the same transport; try that if url doesn't connect). Antigravity and Windsurf use serverUrl instead of either.

save_recipe_from_url isn't showing up.

If you connected with a read-only key, create a read and write key instead and update your client. If your assistant's plan only allows read access (for example, ChatGPT's Pro developer mode), signing in won't change that. You'll need a plan with full access instead.

Claude won't let me add another connector.

Claude's Free plan allows one custom connector at a time. Remove an existing one before adding RecipeClip, or upgrade.

ChatGPT doesn't show an option to add a custom MCP server.

Full read and write access needs a Business, Enterprise or Edu workspace with Developer mode turned on by an admin; Pro gets read-only access. OpenAI doesn't document support for Plus or Free plans.

Gemini's custom apps option isn't available.

It requires a personal Google account (not work or school), being 18 or older, being in the United States, and having Keep Activity turned on.