{
  "markdown": "# Recipe MCP Server\n\nAn 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.\n\n## Features\n\n- 🍳 **Generate Recipes** - Create custom recipes from natural language descriptions\n- 🔄 **Transform Recipes** - Modify existing recipes (make vegan, adjust calories, etc.)\n- 🥗 **Dietary Support** - Handle allergies, restrictions, and food preferences\n- 📊 **Nutrition Goals** - Target specific calorie and protein requirements\n- 🆓 **Open Access** - No API key required (rate limited)\n\n## Installation\n\n### For Claude Desktop\n\n1. Install the MCP server:\n```bash\nnpm install -g @cookwith/recipe-mcp\n```\n\n2. Add to your Claude Desktop configuration:\n   - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n   - Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"recipe-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"@cookwith/recipe-mcp\"],\n      \"env\": {\n        \"COOKWITH_API_URL\": \"https://cookwith.co\"\n      }\n    }\n  }\n}\n```\n\n3. Restart Claude Desktop\n\n### For Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/cookwith/recipe-mcp.git\ncd recipe-mcp\n\n# Install dependencies\nnpm install\n\n# Run in development mode\nnpm run dev\n```\n\n## Usage Examples\n\n### Generate a Recipe\n\n```typescript\n// In Claude Desktop, you can say:\n\"Generate a healthy Mediterranean pasta dish with lots of vegetables\"\n\n// The tool will be called with:\n{\n  \"prompt\": \"A healthy Mediterranean pasta dish with lots of vegetables\",\n  \"dietaryRestrictions\": [\"vegetarian\"],\n  \"calories\": \"450\",\n  \"servings\": 4\n}\n```\n\n### Transform a Recipe\n\n```typescript\n// After generating or providing a recipe:\n\"Make this recipe vegan and reduce the calories by 200\"\n\n// The tool will be called with:\n{\n  \"recipe\": { /* existing recipe object */ },\n  \"instructions\": \"Make this vegan and reduce calories by 200\",\n  \"calories\": \"350\"\n}\n```\n\n## Tools\n\n### `generate_recipe`\n\nGenerate a new recipe based on natural language instructions.\n\n**Parameters:**\n- `prompt` (string, required) - Natural language description\n- `dietaryRestrictions` (string[], optional) - e.g., [\"vegetarian\", \"gluten-free\"]\n- `allergies` (string[], optional) - Ingredients to avoid\n- `dislikes` (string[], optional) - Foods to exclude\n- `calories` (string, optional) - Target calories per serving\n- `protein` (string, optional) - Target protein in grams\n- `servings` (number, optional) - Number of servings (1-20, default: 4)\n\n### `transform_recipe`\n\nTransform an existing recipe based on instructions.\n\n**Parameters:**\n- `recipe` (object, required) - The recipe to transform\n- `instructions` (string, required) - How to modify the recipe\n- `calories` (string, optional) - New target calories\n- `protein` (string, optional) - New target protein\n- `servings` (number, optional) - New number of servings\n\n## Rate Limits\n\nThe public API has the following rate limits:\n- **Anonymous Access**: 20 requests per hour per IP address\n- No authentication required\n- Retry-After header provided when limit exceeded\n\n## Recipe Object Format\n\n```typescript\ninterface Recipe {\n  title: string;\n  description: string;\n  ingredients: string[];      // e.g., [\"2 cups flour\", \"1 tsp salt\"]\n  instructions: string[];      // Step-by-step instructions\n  servings: number;\n  prepTime?: number;          // Minutes\n  cookTime?: number;          // Minutes\n  totalTime?: number;         // Minutes\n  cuisine?: string;           // e.g., \"Italian\", \"Mexican\"\n  course?: string;            // e.g., \"main\", \"dessert\"\n  difficulty?: string;        // e.g., \"easy\", \"medium\", \"hard\"\n  calories?: number;          // Per serving\n  protein?: number;           // Grams per serving\n  carbs?: number;            // Grams per serving\n  fat?: number;              // Grams per serving\n  fiber?: number;            // Grams per serving\n  sugar?: number;            // Grams per serving\n  sodium?: number;           // Milligrams per serving\n}\n```\n\n## Configuration\n\n### Environment Variables\n\n- `COOKWITH_API_URL` - API endpoint (default: https://cookwith.co)\n\n### Custom API Endpoint\n\nFor development or self-hosted instances:\n\n```bash\nexport COOKWITH_API_URL=http://localhost:3000\nnpx @cookwith/recipe-mcp\n```\n\n## Examples\n\n### Basic Recipe Generation\n\n```javascript\n// Request\n{\n  \"prompt\": \"Quick and easy chicken stir-fry\"\n}\n\n// Response\n{\n  \"title\": \"Quick Chicken Stir-Fry\",\n  \"description\": \"A delicious and speedy chicken stir-fry...\",\n  \"ingredients\": [\n    \"2 chicken breasts, sliced\",\n    \"2 cups mixed vegetables\",\n    \"3 tbsp soy sauce\",\n    // ...\n  ],\n  \"instructions\": [\n    \"Heat oil in a large wok or skillet\",\n    \"Add chicken and cook until golden\",\n    // ...\n  ],\n  \"servings\": 4,\n  \"prepTime\": 10,\n  \"cookTime\": 15,\n  \"calories\": 320,\n  \"protein\": 28\n}\n```\n\n### Recipe Transformation\n\n```javascript\n// Request\n{\n  \"recipe\": {\n    \"title\": \"Classic Beef Lasagna\",\n    \"ingredients\": [\"1 lb ground beef\", \"ricotta cheese\", ...],\n    // ... full recipe\n  },\n  \"instructions\": \"Make this vegetarian and lower in calories\"\n}\n\n// Response\n{\n  \"title\": \"Vegetarian Light Lasagna\",\n  \"description\": \"A healthier vegetarian version...\",\n  \"ingredients\": [\n    \"2 cups chopped mushrooms\",\n    \"1 cup low-fat ricotta\",\n    // ... transformed ingredients\n  ],\n  // ... rest of transformed recipe\n}\n```\n\n## Troubleshooting\n\n### Rate Limit Errors\nIf you receive a 429 error, you've exceeded the rate limit. Wait for the time specified in the `retryAfter` field before making another request.\n\n### Connection Issues\nEnsure your internet connection is stable and the API endpoint is accessible.\n\n### Invalid Parameters\nCheck that your parameters match the expected format and constraints (e.g., servings between 1-20).\n\n## Contributing\n\nContributions are welcome! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## Support\n\n- 🐛 [Report Issues](https://github.com/blaideinc/recipe-mcp/issues)\n- 💬 [Discussions](https://github.com/blaideinc/recipe-mcp/discussions)\n- 📧 Email: support@blaide.com\n\n## Powered By\n\n- [Cookwith](https://cookwith.co) - AI-powered cooking platform\n- [OpenAI GPT-4](https://openai.com) - Recipe generation\n- [Model Context Protocol](https://modelcontextprotocol.io) - Tool integration",
  "bytes": 6456,
  "sha": "332d3ade0d41b0497cc54c192f0aa288c8b3c7c6be7ec981b15b9f006f661b89",
  "repo_slug": "blaideinc/recipe-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_jkakar_recipe_mcp_67cce088/readme"
}