使用说明
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
剧本:
- 同步
upstream子模块并检出请求的引用(标签、分支或提交)。 - 构建(或“版本”)
<docker-user>/<docker-repo>:<version>使用仓库中的 Dockerfile 从该源(获取/构建)。 - 将标记的镜像推送到Docker Hub,并打印出生成的镜像摘要,用于发布说明。
出版检查清单
- 确认上游(情况/信息)
Snowflake-Labs/mcp参考(或“引用”) 你需要的东西都有了。 - 如果需要额外的MintMCP工具,请更新Dockerfile。
- 更新或创建
services/tools_config.yaml配置中包含在镜像中。 - 在本地构建并进行冒烟测试(手动构建或使用辅助脚本)。
- 跑
docker login如果您尚未进行身份验证,请为此目标注册表进行验证。 - 跑
./build-and-push.sh --version <tag> [--user <docker-user>] [--repo <docker-repo>]并记录MintMCP发布说明中的报告摘要。
做出贡献
欢迎贡献!请提交一个问题(issue)或拉取请求(pull request),描述所做的更改以及进行的任何测试。
许可证
根据Apache许可证,第2.0版授权。详见 LICENSE 文件中有详细信息。
