返回市场
麦普餐前准备

麦普餐前准备

作者:JoshuaRL7 星标更新:2025-04-25

项目介绍

MCP-Mealprep

这里你可以取一些容器,放入少量MCP小吃,并保持它们凉爽以备后用。

该项目从GitHub位置获取多个MCP服务器,运行它们,并通过supergateway和可选的mcpo提供服务,并使用docker-compose将它们组合成一个堆栈来运行ML/AI资源。

新版V2

完全重建,感谢supergatewaymcpo项目!现在可以安全地用于内部和外部MCP服务,并且应该能够与python、mcpo、pip、npx、uv以及各个MCP服务器更新同步。

docker-compose可以被视为示例服务器;根据此语法从公共仓库添加所需的数量。每个自定义GHCR容器同时运行本地STDIO/STOUT的MCP服务器,并且通过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命令。请注意,这将是同时运行的重复服务器,并不与原始服务器相连。但它允许创建一个与OpenWebUI兼容的端点,并且您可以在/docs中找到关于每个服务器的更多信息。这不是必需的,但如果您想要它,可以按服务器启用。

startup.sh README

如果您想了解更多关于此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)服务器集合,旨在提供一套易于使用Docker和/或Portainer部署的AI工具和服务。基于官方MCP服务器存储库supergatewayOpenWebUI的mcpo存储库,这个项目允许开发者和AI爱好者快速启动一系列MCP兼容的服务。

什么是模型上下文协议?

模型上下文协议(MCP)是一种创新框架,使大型语言模型(LLMs)能够安全地访问和交互各种工具、数据源和服务。它为AI代理提供了一种标准化方式来:

  • 从不同来源检索信息
  • 在各种平台上执行操作
  • 扩展AI能力超越传统的语言模型

包含的MCP服务器

此docker-compose集合包括以下服务器:

  • 网络搜索(SearXNG和Brave)
  • Everything(MCP测试)
  • GitHub互动
  • 计算器
  • Slack
  • Everart
  • Google地图
  • 网页爬虫(Fetch和Puppeteer)
  • 顺序思维
  • PostgreSQL/向量检索(Supabase、Qwant、Pinecone和Memory)
  • 更多...

先决条件

  • Docker
  • Portainer(非必需,但有用)
  • 特定服务的API令牌/密钥(可选,取决于服务器)

在Portainer中的安装

第一步:准备Portainer

  1. 打开您的Portainer环境,通常是“本地”
  2. 导航至“堆栈”
  3. 单击“添加堆栈”

第二步:部署堆栈

  1. 命名您的堆栈(例如,“mcp-server-stack”)
  2. 在“构建方法”下选择“上传文件”或“Web编辑器”
  3. 上传此存储库中的docker-compose.yml或复制粘贴
  4. 配置任何所需环境变量
    • Slack机器人令牌
    • GitLab个人访问令牌
    • Google地图API密钥
    • Brave搜索API密钥
    • 等等
  5. 单击“部署堆栈”

第三步:配置单个服务器

运行

警告

这是运行这些MCP服务的第一步,采用容器化和更易于部署的过程。但是,您需要对某些环境变量和与其他服务的连接进行测试和验证,特别是添加其他服务器时。我个人已经在VPS堆栈上测试了大多数这些服务,因此它们应该是beta级别的功能。并且V2比V1运行得更好。此项目通过SSE连接运行每个服务器,这应该是安全的。但是,您的底层系统、代理或加密设置可能存在一些安全漏洞。此项目不审查MCP服务器的功能或安全性,仅打包以便于服务器部署和安全通信。如果您需要MCP服务器审查,请查阅MCP评估器

自定义

添加/移除服务器

  • 简单地注释掉或删除docker-compose.yml中的服务块
  • 确保您拥有必要的Dockerfile和依赖项

环境变量

  • 将占位符令牌替换为实际的API密钥等必要设置
  • 如需自定义端口映射,默认是连续的

安全注意事项

  • 保密API令牌和敏感信息
  • 尽可能使用只读卷
  • 定期更新您的服务器和依赖项

贡献

任何新的MCP服务器都需要通过npx、uv或pip进行干净安装。如果您有一个想要添加的,请发送拉取请求或问题,附带测试和已知工作的docker-compose容器部分

向此项目添加新的MCP服务器

  1. 确保服务器遵循MCP协议
  2. 遵循上述语法,包括所有已知的环境变量和“startup.sh”命令
  3. 提供清晰的文档,包括MCP服务器的GitHub存储库
  4. 提交带有提议添加内容的拉取请求或问题

已弃用的Docker过程

V1 MCP Mealprep使用来自各个存储库的GitHub Dockerfile,并通过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服务器可能有各自的许可条款。

资源

免责声明

此集合由社区维护,并未正式与模型上下文协议项目、OpenWebUI、mcpo或其他任何项目隐含或明确相关。