Snowflake MCP Docker镜像

该Docker镜像集成了Snowflake MCP服务器,并预装了MintMCP托管环境所需的工具,适用于本地测试和部署。

  • by mintmcp
  • Shell
  • 本地部署
  • 更新于
在 GitHub 查看 mintmcp/snowflake-mcp

使用说明

Snowflake MCP Docker 镜像

这个存储库包含了构建配置 mintmcp/snowflake 在Docker Hub上发布的镜像。该镜像提供了上游(源)版本 Snowflake-Labs/mcp 作为Git子模块,并添加了在MintMCP托管环境中安全运行所需的包。

动机

  • MintMCP的编排层依赖于 curl, nodejs, npm,Python 3,以及 uv因此,我们预先安装它们以保持与托管运行时的一致性。
  • 将Snowflake服务器源代码作为子模块进行跟踪,使我们能够遵循上游标签以应用安全修复,同时在容器中保留MintMCP特定的工具。

在本地测试图像

发布的镜像针对的是MintMCP的基础设施,但你可以在本地构建并运行它,以便在发布前对更改进行验证。

# Build a local image (matches the build-and-push script)
docker build \
  --platform linux/amd64 \
  -f Dockerfile \
  -t mintmcp/snowflake:local \
  ./upstream

# Run the container with your Snowflake credentials and config
docker run --rm \
  -p 9000:9000 \
  -e SNOWFLAKE_ACCOUNT=<account> \
  -e SNOWFLAKE_USER=<username> \
  -e SNOWFLAKE_PASSWORD=<password> \
  -v "$(pwd)/upstream/services/configuration.yaml:/app/services/tools_config.yaml:ro" \
  mintmcp/snowflake:local

使用 upstream/services/configuration.yaml 作为您(行动/计划等)的起点 services/tools_config.yaml然后,将您的MCP客户端连接到 http://localhost:9000/snowflake-mcp 验证服务器启动。

构建并发布你自己的(项目/产品)

我们提供了工具来帮助您维护自己的镜像分支。

直接使用 Docker 进行构建

git submodule update --init --recursive
git -C upstream fetch --tags
git -C upstream checkout v1.3.4  # or any tag you need

docker build \
  --platform linux/amd64 \
  -f Dockerfile \
  -t mintmcp/snowflake:1.3.4 \
  ./upstream

将标签设置为Snowflake MCP发布的版本,MintMCP将进行部署(例如 mintmcp/snowflake:1.3.4)并查看其中的对应引用 upstream/ 子模块。

通过辅助脚本进行构建和推送

docker login
./build-and-push.sh --version <tag> [--user <docker-user>] [--repo <docker-repo>]

示例:

  • ./build-and-push.sh --version latest
  • ./build-and-push.sh --version 1.3.4
  • ./build-and-push.sh --version main --user mydockeruser --repo snowflake

剧本:

  1. 同步 upstream 子模块并检出请求的引用(标签、分支或提交)。
  2. 构建(或“版本”) <docker-user>/<docker-repo>:<version> 使用仓库中的 Dockerfile 从该源(获取/构建)。
  3. 将标记的镜像推送到Docker Hub,并打印出生成的镜像摘要,用于发布说明。

出版检查清单

  1. 确认上游(情况/信息) Snowflake-Labs/mcp 参考(或“引用”) 你需要的东西都有了。
  2. 如果需要额外的MintMCP工具,请更新Dockerfile。
  3. 更新或创建 services/tools_config.yaml 配置中包含在镜像中。
  4. 在本地构建并进行冒烟测试(手动构建或使用辅助脚本)。
  5. 跑 docker login 如果您尚未进行身份验证,请为此目标注册表进行验证。
  6. 跑 ./build-and-push.sh --version <tag> [--user <docker-user>] [--repo <docker-repo>] 并记录MintMCP发布说明中的报告摘要。

做出贡献

欢迎贡献!请提交一个问题(issue)或拉取请求(pull request),描述所做的更改以及进行的任何测试。

许可证

根据Apache许可证,第2.0版授权。详见 LICENSE 文件中有详细信息。