关于 MCP-Mealprep
MCP-Mealprep 将 GitHub 上的 MCP 服务打包为用于 ML 和 AI 服务的 Docker Compose 堆栈,适合希望部署并连接一组可配置服务的运维人员;支持通过 SSE 暴露服务,并可选用 mcpo 提供兼容 OpenAPI 的端点。
主要功能
- 01组合多个 MCP 服务
- 02使用 Docker Compose 部署
- 03通过 SSE 暴露服务
- 04可选通过 mcpo 提供 OpenAPI 端点
- 05运行 mcp-shield 安全扫描
适用场景
- 01将一组 MCP 服务部署为堆栈
- 02通过 SSE 连接客户端与服务
- 03为 OpenWebUI 提供 OpenAPI 端点
- 04使用 mcp-shield 扫描服务容器
MCP 相关
它运行 MCP 服务并通过 SSE 向客户端开放;也可选用 mcpo 提供兼容 OpenAPI 的 HTTP 端点。集合包含搜索、GitHub、Slack、地图、网页抓取等服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP-Mealprep
你可以把各种容器装起来,放入美味的 MCP 小零食,冷藏起来留待以后享用。
本项目从 GitHub 地址获取多个 MCP 服务,运行它们,并通过 supergateway 和可选的 mcpo 提供服务,再通过 docker-compose 将它们整合起来,作为一组 ML/AI 资源运行。
新版 V2
得益于 supergateway 和 mcpo 项目,本项目已彻底重建!现在可安全地用于内部和外部 MCP 服务,并应能随 python、mcpo、pip、npx、uv 以及各个 MCP 服务的更新而更新。
docker-compose 中的内容可视为示例服务;你可以按照此语法,从公共仓库添加任意数量的服务。每个自定义 GHCR 容器都会运行 MCP 服务,以支持本地 STDIO/STOUT,同时也会通过 SSE 协议安全地公开这些服务,并可选择提供与 OpenAPI 兼容的 HTTP 服务,供 OpenWebUI 使用。你可以连接本地资源,也可以通过 nginx、Traefik、Caddy 等代理进行路由。服务公开后,你可以连接 OpenWebUI、n8n、Flowise、Claude、Cursor 等外部服务。
GHCR 容器基于 debian 构建,应可用于 uv、npx 和 pip 安装。如有需要,你也应能使用旧方法安装 docker MCP 服务。更多信息请参阅下文的“已弃用的 Docker 流程”。
mcpo 安装
如果你想安装可选的 mcpo 扩展,请在环境变量中添加 "USE_MCPO=true"。这会指示 startup.sh 脚本收集 MCP 服务命令和环境变量,并在启动时将它们传递给 mcpo 命令。请注意,这会同时运行一个重复的服务,而且它不会连接到原始服务。不过,这样会提供与 OpenAPI 兼容的端点,可与 OpenWebUI 集成;你可以在 /docs 中找到各个服务的更多信息。这不是必需的,但如果你需要,可以按服务启用。
startup.sh 说明
如果你想详细了解在容器中调用此 bash 脚本后具体会发生什么,请参阅“Startup README.md”,其中逐行全面说明了脚本的执行过程。请先审查脚本,确保你愿意运行它,因为每个 MCP 服务容器都会运行该脚本。
安全扫描
使用 mcp-shield 扫描安全问题
"startup.sh" 脚本现在会运行
"npx mcp-shield >> "mcp-shield.log" 2>&1
来运行 MCP 安全扫描器 mcp-shield,并将结果追加到日志文件中。更多信息请参阅其文档。你也可以随时在容器中运行该命令来检查是否存在问题,例如更新后。
客户端连接
服务堆栈运行后,你可以将 MCP 客户端连接到你的 IP 地址或域名和端口。如果没有便捷的方式连接,也可以再次使用 mcpo 命令。
N8N
待定
Flowise
待定
Claude、Cursor 等
待定
概述
本项目精选了一系列模型上下文协议(MCP)服务,旨在提供一套全面的 AI 工具和服务,可通过 Docker 和/或 Portainer 轻松部署。本项目基于 官方 MCP 服务仓库、supergateway 和 OpenWebUI 的 mcpo 仓库 构建,让开发者和 AI 爱好者能够快速启动各种兼容 MCP 的服务。
什么是模型上下文协议?
模型上下文协议(MCP)是一种创新框架,使大语言模型(LLM)能够安全地访问各种工具、数据源和服务并与之交互。它为 AI Agent 提供了一种标准化方式,以便:
- 从不同来源检索信息
- 在各种平台上执行操作
- 扩展 AI 能力,超越传统语言模型的范畴
包含的 MCP 服务
此 docker-compose 集合包含以下服务:
- 网络搜索(SearXNG 和 Brave)
- Everything(MCP 测试)
- GitHub 交互
- 计算器
- Slack
- Everart
- Google Maps
- 网页抓取(Fetch 和 Puppeteer)
- 顺序思考
- Postgres/向量检索(Supabase、Qwant、Pinecone 和 Memory)
- 以及更多……
先决条件
- Docker
- Portainer(非必需,但很实用)
- 特定服务的 API 令牌/密钥(可选,取决于服务)
在 Portainer 中安装
第 1 步:准备 Portainer
- 打开 Portainer 环境,通常为“local”
- 前往“Stacks”
- 点击“Add stack”
第 2 步:部署 Stack
- 为 Stack 命名(例如,“mcp-server-stack”)
- 在“Build method”下,选择“Upload a file”或“Web editor”
- 上传此仓库中的
docker-compose.yml,或复制并粘贴其内容 - 配置所需的环境变量
- Slack Bot Token
- GitLab Personal Access Token
- Google Maps API Key
- Brave Search API Key
- 等等
- 点击“Deploy the stack”
第 3 步:配置各个服务
- 某些服务需要特定配置或 API 令牌
- 请参阅 MCP Servers 仓库中的各个服务文档
运行
警告
这是在容器中运行这些 MCP 服务、让部署更简单的第一步。不过,你需要对某些环境变量以及与其他服务的连接进行测试和验证,尤其是在添加其他服务时。我亲自测试过其中大多数服务,至少都能在 VPS Stack 上运行,因此它们应该达到 beta 级别的可用性。而且 V2 的运行效果比 V1 更好。此方案通过 SSE 连接运行每个服务,这应该是安全的。但你的底层系统、代理或加密设置可能存在安全漏洞。本项目不会审核 MCP 服务的功能或安全性,仅将其打包,以便轻松部署服务并确保流量安全。如果你需要审核 MCP 服务,请查看 MCP Evaluator
自定义
添加/移除服务
- 只需在
docker-compose.yml中注释掉或移除服务块 - 确保具备所需的 Dockerfile 和依赖项
环境变量
- 将环境变量和命令变量中的占位符令牌替换为必要的设置,例如你实际使用的 API 密钥
- 如有需要,可自定义端口映射;默认按顺序分配
安全注意事项
- 对 API 令牌和敏感信息保密
- 尽可能使用只读卷
- 定期更新服务和依赖项
参与贡献
任何新增 MCP 服务都需要提供可通过 npx、uv 或 pip 执行的简洁安装命令。如果你希望添加某个服务,请提交拉取请求或 Issue,并附上经过测试且可正常运行的 docker-compose 容器配置段。
向此项目添加新的 MCP 服务
- 确保服务遵循 MCP 协议
- 遵循上述语法,包括所有已知环境变量和“startup.sh”命令
- 提供清晰的文档,包括 MCP 服务的 GitHub 仓库
- 提交拉取请求或 Issue,说明拟添加的内容
已弃用的 Docker 流程
V1 MCP Mealprep 使用各个仓库中的 Github Dockerfiles,并通过 docker-compose 在容器中运行它们。这种方式可行,但可能不够安全,也无法连接所有客户端。如果你想使用的 MCP 服务无法通过 npx、uv、pip 等方式获取,并且你能验证 Dockerfile 运行安全、能够实现你的需求,则可以继续使用这种方式。服务的仓库中必须包含 Dockerfile,而任何使用“uv.lock”文件的项目似乎都会阻止通过此方式安装。查看 docker-compose-old.yml 或以下示例,了解其工作方式:
version: '3.8'
services:
mcp-server-everything:
build:
context: https://github.com/modelcontextprotocol/servers.git#main
dockerfile: src/everything/Dockerfile
image: mcp-server:latest
container_name: mcp-everything-server
ports:
- "0.0.0.0:8081:8081"
environment:
- NODE_ENV=production
restart: unless-stopped
networks:
- mcp-network
许可证
本项目为开源项目。各 MCP 服务可能有自己的许可条款。
资源
免责声明
本集合由社区维护,与 Model Context Protocol 项目、OpenWebUI、mcpo 或任何其他项目均无论明示还是暗示的官方关联。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。