Skip to main content
Glama

Cookwith MCP Server

An MCP (Model Context Protocol) server that provides AI-powered recipe generation and transformation tools using Cookwith's advanced culinary AI.

Features

  • Recipe Generation: Create custom recipes from natural language descriptions

  • Recipe Transformation: Modify existing recipes based on dietary needs, serving sizes, or other requirements

  • Dietary Support: Handle allergies, dietary restrictions, and nutritional goals

  • Smart Adaptations: Adjust for calories, protein targets, and serving counts

Related MCP server: @mealmastery/mcp-server

Installation

Via MCP Registry

npx @modelcontextprotocol/create-server install @cookwith/mcp-server

Via npm

npm install -g @cookwith/mcp-server

For Claude Desktop

Add to your Claude Desktop configuration:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "cookwith": {
      "command": "npx",
      "args": ["@cookwith/mcp-server"]
    }
  }
}

Available Tools

generate_recipe

Generate a new recipe based on natural language instructions.

Parameters:

  • prompt (string, required): Natural language description of the desired recipe

  • dietaryRestrictions (array): Dietary restrictions (e.g., vegetarian, vegan, gluten-free)

  • allergies (array): Ingredients to avoid due to allergies

  • dislikes (array): Foods the user doesn't like

  • calories (string): Target calories per serving

  • protein (string): Target protein in grams per serving

  • servings (number): Number of servings (1-20, default: 4)

Example:

{
  "prompt": "A healthy pasta dish with lots of vegetables",
  "dietaryRestrictions": ["vegetarian"],
  "calories": "500",
  "servings": 2
}

transform_recipe

Transform or modify an existing recipe based on instructions.

Parameters:

  • recipe (object, required): The recipe to transform

    • title (string): Recipe title

    • description (string): Recipe description

    • ingredients (array): List of ingredients

    • instructions (array): Cooking instructions

    • servings (number): Number of servings

    • Additional optional fields for nutrition, timing, etc.

  • instructions (string, required): How to transform the recipe

  • calories (string): New target calories per serving

  • protein (string): New target protein per serving

  • servings (number): New number of servings

Example:

{
  "recipe": {
    "title": "Classic Spaghetti Carbonara",
    "description": "Traditional Italian pasta dish",
    "ingredients": ["400g spaghetti", "200g guanciale", "4 eggs", "100g pecorino"],
    "instructions": ["Cook pasta", "Fry guanciale", "Mix eggs and cheese", "Combine"],
    "servings": 4
  },
  "instructions": "Make it vegetarian and reduce calories",
  "calories": "400"
}

Usage Examples

With Claude

Once configured, you can use natural language to interact with the tools:

"Generate a healthy dinner recipe for 2 people with chicken and vegetables, around 500 calories per serving"

"Transform this pasta recipe to be gluten-free and dairy-free"

Programmatic Usage

import { Client } from '@modelcontextprotocol/sdk';

const client = new Client({
  name: 'my-app',
  version: '1.0.0'
});

await client.connect('npx', ['@cookwith/mcp-server']);

// Generate a recipe
const result = await client.callTool('generate_recipe', {
  prompt: 'Quick and healthy breakfast',
  calories: '350',
  servings: 1
});

Development

Building from Source

git clone https://github.com/blaideinc/cookwith-mcp
cd cookwith-mcp
npm install
npm run build

Running Locally

npm start

Testing

npm test

API Endpoint

The MCP server can also be accessed via HTTP at:

  • Production: https://cookwith.co/api/mcp

  • Development: http://localhost:3000/api/mcp

License

MIT

Support

About Cookwith

Cookwith is an AI-powered cooking platform that generates personalized recipes based on your preferences, dietary restrictions, and taste profile. Learn more at cookwith.co.

Available Tools

2 tools
generate_recipeC

Generate a new recipe based on natural language instructions

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesNatural language description of the desired recipe
dietaryRestrictionsNoDietary restrictions
allergiesNoIngredients to avoid
caloriesNoTarget calories per serving
proteinNoTarget protein in grams
servingsNoNumber of servings (1-20)

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only says 'generate a new recipe'. It does not disclose creation side effects, persistence, output format, or required permissions, leaving significant behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise. However, it sacrifices informativeness for brevity, lacking structure or prioritization of key information.

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

Completeness2/5

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

For a tool with 6 parameters and no output schema, the description is inadequate. It fails to explain what the generated recipe contains, how to interpret the output, or error conditions. The presence of many optional nutritional parameters is not contextualized.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema's parameter labels; it does not explain how parameters interact or provide context for using optional fields like dietary restrictions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'generate' and the resource 'recipe', clearly indicating it creates new recipes. It implicitly distinguishes from the sibling 'transform_recipe' which would modify existing recipes, but does not explicitly differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus the sibling 'transform_recipe'. The description simply repeats the purpose without contextualizing when to choose this generation over transformation.

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

transform_recipeB

Transform or modify an existing recipe

ParametersJSON Schema
NameRequiredDescriptionDefault
recipeYesThe recipe to transform
instructionsYesHow to transform the recipe
caloriesNoNew target calories
proteinNoNew target protein
servingsNoNew servings

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It merely says 'transform or modify' without disclosing whether changes are destructive, whether a new recipe is created, or any side effects. This is insufficient for safe invocation.

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 a single sentence that is concise and front-loaded with the action. While it lacks detail, it is not verbose and efficiently states the core purpose.

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

Completeness2/5

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

Given the complexity (nested recipe object, 5 parameters) and lack of annotations and output schema, the description is too vague. It does not explain what the tool returns, whether it modifies in place, or any constraints beyond the schema.

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

Parameters3/5

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

Schema description coverage is 100% with each parameter having a clear description. The tool description adds no additional meaning beyond the field descriptions, so baseline 3 is appropriate.

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 'Transform or modify an existing recipe' uses a specific verb and resource, clearly indicating it modifies existing recipes. It distinguishes from the sibling 'generate_recipe', which implies creation of new recipes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus 'generate_recipe'. While the purpose implies modification, there is no statement about prerequisites, when not to use it, or alternatives.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv1.0.0
    • First observedgenerate_recipe
    • First observedtransform_recipe

TDQS

B3.1/5.0
Disambiguation5/5

Both tools have clearly distinct purposes: generate_recipe creates new recipes from instructions, while transform_recipe modifies existing ones. No overlap or ambiguity.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern: generate_recipe and transform_recipe, with clear and predictable naming.

Tool Count2/5

Only 2 tools for a cooking assistant is too few; typical CRUD operations like list, get, delete are missing, making the surface feel thin.

Completeness2/5

The tool set lacks basic operations such as listing, searching, or deleting recipes, leaving significant gaps in expected functionality for a recipe management server.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that transforms AI assistants into personal chefs by providing recipe recommendations and meal planning features based on the HowToCook repository.
    5
    5,676
    766
    ISC
  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server for MealMastery AI meal planning that enables users to manage meal plans, recipes, and grocery lists through natural language conversation with AI agents like Claude.
    90
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    MCP server that provides cooking recipe lookup, classification, and weekly meal planning based on dietary restrictions and allergies.
    5
    -
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server for AI-powered recipe generation and transformation, enabling users to create custom recipes from natural language descriptions and modify existing ones to meet dietary and nutritional goals.
    2
    69
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/valetdotdev/cookwith-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server