Skip to content

Commit 241ce5e

Browse files
committed
Update README to include Docker image usage and DXT support details
1 parent e27d8fe commit 241ce5e

File tree

2 files changed

+100
-0
lines changed

2 files changed

+100
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Release Docker
2+
3+
on:
4+
push:
5+
tags: ["v*.*.*"]
6+
7+
env:
8+
IMAGE_NAME: docker.io/zenmldocker/mcp-zenml
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
docker:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v4
19+
20+
- name: Set up QEMU
21+
uses: docker/setup-qemu-action@v3
22+
23+
- name: Set up Docker Buildx
24+
uses: docker/setup-buildx-action@v3
25+
26+
- name: Log in to Docker Hub
27+
uses: docker/login-action@v3
28+
with:
29+
username: ${{ secrets.DOCKERHUB_USERNAME }}
30+
password: ${{ secrets.DOCKERHUB_TOKEN }}
31+
32+
- name: Extract metadata (tags, labels)
33+
id: meta
34+
uses: docker/metadata-action@v5
35+
with:
36+
images: ${{ env.IMAGE_NAME }}
37+
tags: |
38+
type=semver,pattern={{version}}
39+
type=raw,value=latest
40+
labels: |
41+
org.opencontainers.image.title=ZenML MCP Server
42+
org.opencontainers.image.description=Model Context Protocol server for ZenML
43+
org.opencontainers.image.source=https://github.com/${{ github.repository }}
44+
org.opencontainers.image.licenses=MIT
45+
46+
- name: Build and push
47+
uses: docker/build-push-action@v6
48+
with:
49+
context: .
50+
file: ./Dockerfile
51+
push: true
52+
platforms: linux/amd64,linux/arm64
53+
tags: ${{ steps.meta.outputs.tags }}
54+
labels: ${{ steps.meta.outputs.labels }}
55+
cache-from: type=gha
56+
cache-to: type=gha,mode=max

README.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,50 @@ In our experience, sometimes it shows a red error indicator even though it is
181181
working. You can try it out by chatting in the Cursor chat window. It will let
182182
you know if is able to access the ZenML tools or not.
183183

184+
## Docker Image
185+
186+
You can run the server as a Docker container. The process communicates over stdio, so it will wait for an MCP client connection. Pass your ZenML credentials via environment variables.
187+
188+
### Prebuilt Images (Docker Hub)
189+
190+
Pull the latest multi-arch image:
191+
192+
```bash
193+
docker pull zenmldocker/mcp-zenml:latest
194+
```
195+
196+
Versioned releases are tagged as `vX.Y.Z`:
197+
198+
```bash
199+
docker pull zenmldocker/mcp-zenml:v1.0.0
200+
```
201+
202+
Run with your ZenML credentials (stdio mode):
203+
204+
```bash
205+
docker run -i --rm \
206+
-e ZENML_STORE_URL="https://your-zenml-server.example.com" \
207+
-e ZENML_STORE_API_KEY="your-api-key" \
208+
zenmldocker/mcp-zenml:latest
209+
```
210+
211+
### Build Locally
212+
213+
From the repository root:
214+
215+
```bash
216+
docker build -t zenmldocker/mcp-zenml:local .
217+
```
218+
219+
Run the locally built image:
220+
221+
```bash
222+
docker run -i --rm \
223+
-e ZENML_STORE_URL="https://your-zenml-server.example.com" \
224+
-e ZENML_STORE_API_KEY="your-api-key" \
225+
zenmldocker/mcp-zenml:local
226+
```
227+
184228
## Desktop Extensions (DXT) Support
185229

186230
This project supports [Anthropic's Desktop Extensions (DXT) standard](https://www.anthropic.com/engineering/desktop-extensions), which makes installing MCP servers as simple as clicking a button. DXT is a new packaging format that bundles entire MCP servers into a single `.dxt` file, including all dependencies and providing user-friendly configuration.

0 commit comments

Comments
 (0)