mcpField
M
MCP-Mealprep

MCP-Mealprep

本地服务
github.com/JoshuaRL版本控制779 周前更新

关于 MCP-Mealprep

MCP-Mealprep 将 GitHub 上的 MCP 服务打包为用于 ML 和 AI 服务的 Docker Compose 堆栈,适合希望部署并连接一组可配置服务的运维人员;支持通过 SSE 暴露服务,并可选用 mcpo 提供兼容 OpenAPI 的端点。

主要功能

  1. 01组合多个 MCP 服务
  2. 02使用 Docker Compose 部署
  3. 03通过 SSE 暴露服务
  4. 04可选通过 mcpo 提供 OpenAPI 端点
  5. 05运行 mcp-shield 安全扫描

适用场景

  1. 01将一组 MCP 服务部署为堆栈
  2. 02通过 SSE 连接客户端与服务
  3. 03为 OpenWebUI 提供 OpenAPI 端点
  4. 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
  1. 打开 Portainer 环境,通常为“local”
  2. 前往“Stacks”
  3. 点击“Add stack”
第 2 步:部署 Stack
  1. 为 Stack 命名(例如,“mcp-server-stack”)
  2. 在“Build method”下,选择“Upload a file”或“Web editor”
  3. 上传此仓库中的 docker-compose.yml,或复制并粘贴其内容
  4. 配置所需的环境变量
    • Slack Bot Token
    • GitLab Personal Access Token
    • Google Maps API Key
    • Brave Search API Key
    • 等等
  5. 点击“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 服务
  1. 确保服务遵循 MCP 协议
  2. 遵循上述语法,包括所有已知环境变量和“startup.sh”命令
  3. 提供清晰的文档,包括 MCP 服务的 GitHub 仓库
  4. 提交拉取请求或 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 或任何其他项目均无论明示还是暗示的官方关联。


评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。