Mealie MCP服务器Docker
此容器提供了一个模型上下文协议(MCP)服务器,该服务器将Mealie配方管理器API暴露给Claude Desktop等MCP客户端,使AI助手能够与您的Mealie配方数据库进行交互。
先决条件
- 跑步 米莉 例子
- Mealie API密钥(由您的Mealie帐户设置生成)
- Docker或Docker Compose
快速开始
docker run -i \
-e MEALIE_BASE_URL=https://your-mealie-instance.com \
-e MEALIE_API_KEY=your-api-key \
ghcr.io/danielpalstra/mealie-mcp-server-docker:main配置
所需的环境变量
| 变量 | 描述 | 示例 |
|---|---|---|
MEALIE_BASE_URL | Mealie实例的基本URL(包括协议和端口) | https://mealie.example.com |
MEALIE_API_KEY | Mealie帐户设置中的API密钥 | your-mealie-api-key |
可选环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
LOG_LEVEL | 日志记录级别 | INFO |
用法
Docker运行
docker run -i \
-e MEALIE_BASE_URL=https://mealie.example.com \
-e MEALIE_API_KEY=your-secret-api-key \
ghcr.io/danielpalstra/mealie-mcp-server-docker:mainDocker Compose
创建一个 docker-compose.yml 文件:
version: '3.8'
services:
mealie-mcp-server:
image: ghcr.io/danielpalstra/mealie-mcp-server-docker:main
environment:
MEALIE_BASE_URL: https://mealie.example.com
MEALIE_API_KEY: your-secret-api-key
LOG_LEVEL: INFO
restart: unless-stopped
stdin_open: true然后运行:
docker-compose up -dClaude桌面集成
要与Claude Desktop一起使用,请将此添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"mealie": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MEALIE_BASE_URL=https://your-mealie-instance.com",
"-e",
"MEALIE_API_KEY=your-api-key",
"ghcr.io/danielpalstra/mealie-mcp-server-docker:main"
]
}
}
}使用主机中的环境变量:
如果你有 MEALIE_BASE_URL 和 MEALIE_API_KEY 在shell环境中设置(例如 ~/.secrets),您可以在不硬编码值的情况下引用它们:
{
"mcpServers": {
"mealie": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MEALIE_BASE_URL",
"-e",
"MEALIE_API_KEY",
"ghcr.io/danielpalstra/mealie-mcp-server-docker:main"
]
}
}
}在启动MCP客户端之前,请确保获取机密文件:
# In ~/.secrets or ~/.config/fish/config.fish
export MEALIE_BASE_URL=https://mealie.example.com
export MEALIE_API_KEY=your-api-key
# Or in fish shell
set -x MEALIE_BASE_URL https://mealie.example.com
set -x MEALIE_API_KEY your-api-keyHTTP服务器模式(可选)
容器还支持使用FastMCP作为HTTP服务器运行:
docker run -t \
-p 8000:8000 \
-e MEALIE_BASE_URL=https://mealie.example.com \
-e MEALIE_API_KEY=your-api-key \
ghcr.io/danielpalstra/mealie-mcp-server-docker:main这将暴露上的MCP服务器http://localhost:8000用于编程访问或调试。
测试MCP服务器
要验证服务器是否正常工作,请执行以下操作:
- 使用环境变量进行测试:
# Set your credentials
export MEALIE_BASE_URL=https://your-mealie.com
export MEALIE_API_KEY=your-key
# Run the server
docker run -i --rm \
-e MEALIE_BASE_URL \
-e MEALIE_API_KEY \
ghcr.io/danielpalstra/mealie-mcp-server-docker:main- 测试HTTP模式:
docker run -t --rm \
-p 8000:8000 \
-e MEALIE_BASE_URL=$MEALIE_BASE_URL \
-e MEALIE_API_KEY=$MEALIE_API_KEY \
ghcr.io/danielpalstra/mealie-mcp-server-docker:main然后访问http://localhost:8000在浏览器中查看FastMCP界面。
可用标签
main-主分支的最新构建latest-最新稳定版本vX.Y.Z-特定版本标签X.Y-主版本标记。次版本标记X-主要版本标签sha--特定提交构建
特性
MCP服务器提供以下工具:
- 食谱管理:搜索、创建和更新食谱
- 膳食计划:创建和管理膳食计划
- 与Mealie的完整API集成
在当地建设
docker build -t mealie-mcp-server:local .建筑
- 基本图像:
ghcr.io/astral-sh/uv:python3.12-bookworm-slim - Python版本: 3.12
- 包管理器:uv(快速Python包安装程序)
- 尺寸:约200MB
- 用户:非root用户(uid/gid 999)
- 平台:linux/am64、linux/arm64
上游项目
这个Docker镜像打包了 Mealie MCP服务器 通过rldiao。
许可证
麻省理工学院
贡献
欢迎投稿!请打开问题或提交拉取请求。
提交消息约定
此项目使用 常规承诺 用于自动化语义版本控制和发布管理。
提交消息格式:
():
[optional body]
[optional footer(s)]触发释放的类型:
feat:-新功能(触发器 次要的 版本升级,例如1.0.0→ 1.1.0)fix:-错误修复(触发 补丁 版本升级,例如1.0.0→ 1.0.1)BREAKING CHANGE:-突破API变更(触发器 主要 版本升级,例如1.0.0→ 2.0.0)
其他类型(不发布):
docs:-文档更改chore:-维护任务ci:-CI/CD更改refactor:-代码重构test:-添加或更新测试
示例:
# Feature (minor bump)
git commit -m "feat: add support for recipe tags filtering"
# Bug fix (patch bump)
git commit -m "fix: correct API endpoint for meal plans"
# Breaking change (major bump)
git commit -m "feat!: redesign configuration format
BREAKING CHANGE: configuration now uses YAML instead of JSON"自动化工作流程:
- 使用传统消息格式提交
- 合并到
main分支 - GitHub自动操作:
- 分析提交消息 - 确定版本号 - 创建git标签 - 生成变更日志 - 创建GitHub版本 - 构建并推送带有版本标签的Docker镜像
故障排除
连接问题
如果服务器无法连接到Mealie:
- 验证
MEALIE_BASE_URL包含协议(http://或https://) - 确保您的Mealie实例可以从容器访问
- 检查API密钥是否有效并具有正确的权限
Docker网络问题
如果在同一个Docker网络中运行Mealie和MCP服务器:
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:latest
networks:
- mealie-net
# ... other config
mealie-mcp-server:
image: ghcr.io/danielpalstra/mealie-mcp-server-docker:main
environment:
MEALIE_BASE_URL: http://mealie:9000
MEALIE_API_KEY: your-api-key
networks:
- mealie-net
networks:
mealie-net:相关项目
- 米莉 -自托管配方管理器
- Mealie MCP服务器 -Mealie的MCP服务器
- 紫外线 -快速Python包安装程序
- 模型上下文协议 -MCP规范
