Recipe Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Recipe Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP (Model Context Protocol) server that provides AI-powered recipe generation and transformation tools. Generate personalized recipes based on dietary preferences, transform existing recipes to meet nutritional goals, and more.
npm install -g @cookwith/recipe-mcp~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"recipe-mcp": {
"command": "npx",
"args": ["@cookwith/recipe-mcp"],
"env": {
"COOKWITH_API_URL": "https://cookwith.co"
}
}
}
}# Clone the repository
git clone https://github.com/cookwith/recipe-mcp.git
cd recipe-mcp
# Install dependencies
npm install
# Run in development mode
npm run dev// In Claude Desktop, you can say:
"Generate a healthy Mediterranean pasta dish with lots of vegetables"
// The tool will be called with:
{
"prompt": "A healthy Mediterranean pasta dish with lots of vegetables",
"dietaryRestrictions": ["vegetarian"],
"calories": "450",
"servings": 4
}// After generating or providing a recipe:
"Make this recipe vegan and reduce the calories by 200"
// The tool will be called with:
{
"recipe": { /* existing recipe object */ },
"instructions": "Make this vegan and reduce calories by 200",
"calories": "350"
}generate_recipeGenerate a new recipe based on natural language instructions.
Parameters:
prompt (string, required) - Natural language descriptiondietaryRestrictions (string[], optional) - e.g., ["vegetarian", "gluten-free"]allergies (string[], optional) - Ingredients to avoiddislikes (string[], optional) - Foods to excludecalories (string, optional) - Target calories per servingprotein (string, optional) - Target protein in gramsservings (number, optional) - Number of servings (1-20, default: 4)transform_recipeTransform an existing recipe based on instructions.
Parameters:
recipe (object, required) - The recipe to transforminstructions (string, required) - How to modify the recipecalories (string, optional) - New target caloriesprotein (string, optional) - New target proteinservings (number, optional) - New number of servingsThe public API has the following rate limits:
interface Recipe {
title: string;
description: string;
ingredients: string[]; // e.g., ["2 cups flour", "1 tsp salt"]
instructions: string[]; // Step-by-step instructions
servings: number;
prepTime?: number; // Minutes
cookTime?: number; // Minutes
totalTime?: number; // Minutes
cuisine?: string; // e.g., "Italian", "Mexican"
course?: string; // e.g., "main", "dessert"
difficulty?: string; // e.g., "easy", "medium", "hard"
calories?: number; // Per serving
protein?: number; // Grams per serving
carbs?: number; // Grams per serving
fat?: number; // Grams per serving
fiber?: number; // Grams per serving
sugar?: number; // Grams per serving
sodium?: number; // Milligrams per serving
}COOKWITH_API_URL - API endpoint (default: https://cookwith.co)For development or self-hosted instances:
export COOKWITH_API_URL=http://localhost:3000
npx @cookwith/recipe-mcp// Request
{
"prompt": "Quick and easy chicken stir-fry"
}
// Response
{
"title": "Quick Chicken Stir-Fry",
"description": "A delicious and speedy chicken stir-fry...",
"ingredients": [
"2 chicken breasts, sliced",
"2 cups mixed vegetables",
"3 tbsp soy sauce",
// ...
],
"instructions": [
"Heat oil in a large wok or skillet",
"Add chicken and cook until golden",
// ...
],
"servings": 4,
"prepTime": 10,
"cookTime": 15,
"calories": 320,
"protein": 28
}// Request
{
"recipe": {
"title": "Classic Beef Lasagna",
"ingredients": ["1 lb ground beef", "ricotta cheese", ...],
// ... full recipe
},
"instructions": "Make this vegetarian and lower in calories"
}
// Response
{
"title": "Vegetarian Light Lasagna",
"description": "A healthier vegetarian version...",
"ingredients": [
"2 cups chopped mushrooms",
"1 cup low-fat ricotta",
// ... transformed ingredients
],
// ... rest of transformed recipe
}If you receive a 429 error, you've exceeded the rate limit. Wait for the time specified in the retryAfter field before making another request.
Ensure your internet connection is stable and the API endpoint is accessible.
Check that your parameters match the expected format and constraints (e.g., servings between 1-20).
Contributions are welcome! Please see our Contributing Guide for details.
MIT License - see LICENSE file for details.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.