🍳 MealDB食谱MCP服务器
模型上下文协议(MCP)服务器,为任何AI代理提供对TheMealDB配方数据库和本地配方管理功能的访问。搜索数千种食谱,将其保存为PDF,并生成有组织的购物清单——所有这些都直接来自您与代理的对话!!!
特性
🔍 食谱发现
- 按名称、配料、类别或菜肴搜索食谱
- 按字母顺序浏览食谱(A-Z)
- 获取随机食谱建议
- 查看完整的配方细节,包括配料和说明
📁 食谱管理
- 将食谱保存为专业PDF文件
- 按类别自动组织(海鲜、甜点等)
- 列出并管理已保存的食谱
- 删除不需要的食谱
🛒 购物清单生成
- 从多个食谱创建购物清单
- 自动成分分类(农产品、肉类、乳制品等)
- 智能组合重复成分
- 导出为打印机友好的PDF
🌐 配方数据库
- 访问TheMealDB的1000多种食谱
- 多种菜系(意大利、中国、墨西哥等)
- 种类繁多(素食、海鲜、甜点等)
- 包括食谱图片和视频链接
项目结构
recipe-mcp-server/
├── src/
│ ├── server.py # Main MCP server entry point
│ └── tools/
│ ├── api_tools.py # TheMealDB API integration tools
│ └── local/
│ ├── __init__.py # Local tools package exports
│ ├── tools.py # Local file management tools
│ ├── api.py # API client for fetching meal data
│ ├── config.py # Configuration and directory management
│ ├── categories.py # Ingredient categorization for shopping lists
│ ├── pdf_recipe.py # Recipe PDF generator
│ └── pdf_shopping.py # Shopping list PDF generator
├── tests/
│ ├── test_api_tools.py # Tests for API tools
│ └── test_local_tools.py # Tests for local tools
├── requirements.txt # Python dependencies
├── .gitignore # Git ignore file
└── README.md # This file先决条件
- Python 3.8或更高版本 (在Python 3.13上测试)
- 任何兼容MCP的客户端 (克劳德桌面等)
- Internet连接 (用于访问TheMealDB API)
关键依赖关系
mcp-模型上下文协议SDKhttpx-API请求的异步HTTP客户端reportlab-PDF生成Pillow-图像处理requests-对图像的HTTP请求
所有依赖项都列在 requirements.txt 并将自动安装。
安装
1.克隆存储库
git clone https://github.com/BrachaLeah1/MCP_server_mealDB.git
cd MCP_server_mealDB2.创建虚拟环境(推荐)
# Windows
python -m venv venv
venv\Scripts\activate
# macOS/Linux
python3 -m venv venv
source venv/bin/activate3.安装依赖项
pip install -r requirements.txt4.验证安装
运行测试以验证一切正常:
pytest tests/ -v或者直接测试服务器:
python src/server.pyMCP检验员测试
在连接到代理之前测试您的服务器:
npx @modelcontextprotocol/inspector python src/server.py这将打开一个web界面 http://localhost:5173 在那里,您可以交互式地测试所有22个工具。
(首次使用时,它会安装所有依赖项)
⚙️ MCP客户端配置
此服务器与任何 MCP兼容客户端.\ 将其添加到客户端的MCP配置文件中,然后重新启动客户端。
______________________________________________________________________
示例:游标IDE
- 按
Ctrl + Shift + P - 打开 光标设置
- 引导到 工具和MCP
- 添加具有以下配置的新MCP服务器:
{
"mcpServers": {
"recipes": {
"command": "C:/absolute/path/to/MCP_server_mealDB/venv/Scripts/python.exe",
"args": [
"C:/absolute/path/to/MCP_server_mealDB/src/server.py"
],
"cwd": "C:/absolute/path/to/MCP_server_mealDB",
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}______________________________________________________________________
示例:克劳德桌面
{
"mcpServers": {
"recipes": {
"command": "python",
"args": [
"C:/absolute/path/to/MCP_server_mealDB/src/server.py"
]
}
}
}______________________________________________________________________
Claude桌面配置文件位置
- 窗户:
%APPDATA%\\Claude\\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
______________________________________________________________________
备注
- 始终使用 绝对路径
- 更改后重新启动MCP客户端
- 确保配置的Python可执行文件与服务器使用的虚拟环境匹配
用法
一旦配置了MCP客户端,您就可以通过自然语言与配方服务器进行交互。
快速入门示例
发现食谱
"Show me a random recipe"
"Search for chicken recipes"
"Find Italian recipes"
"Show me desserts"
"List recipes starting with 'P'"查看配方详细信息
"Show me the recipe for Pad Thai"
"What ingredients do I need for Carbonara?"
"How do I make Chicken Teriyaki?"保存食谱
"Save this recipe as a PDF"
"Save the Pad Thai recipe"
"Download this recipe to my computer"管理已保存的食谱
"List my saved recipes"
"Show me all my saved recipes"
"Delete the Chicken Soup recipe"创建购物清单
"Create a shopping list from these recipes"
"Make a shopping list for recipes 52772, 52773, 52774"
"Generate a shopping list from my saved recipes"浏览类别和美食
"What recipe categories are available?"
"Show me all cuisines"
"What Italian recipes do you have?"
"Show me all Seafood recipes"服务器启动
如果手动运行服务器(用于测试或开发):
python src/server.py服务器将以stdio模式启动,并通过标准输入/输出与MCP客户端通信。
致谢
- TheMealDB -免费配方API提供数千个配方的访问,并提供图像和详细说明
- 模型上下文协议(MCP) -将AI助手连接到外部工具和数据源的框架
- Anthropic -用于创建Claude和MCP规范
- 报告实验室 -用于创建专业食谱和购物清单文档的PDF生成库
