You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`server/` – MCP server implementation. Main entry: `server/zenml_server.py`; treat `server/lib/` as vendored support code (avoid edits unless necessary).
5
+
-`scripts/` – Developer utilities: `format.sh` (ruff) and `test_mcp_server.py` (smoke test).
6
+
-`assets/` – Images and static assets.
7
+
- Root files – `README.md`, `manifest.json`, `mcp-zenml.dxt` (DXT package), CI in `.github/workflows/`.
8
+
9
+
## Build, Test, and Development Commands
10
+
- Run server locally: `uv run server/zenml_server.py`
11
+
- Smoke test (local): `uv run scripts/test_mcp_server.py server/zenml_server.py`
- Run locally with `uv run ...`; CI runs on PRs and a scheduled workflow.
24
+
- If adding tests, follow descriptive names (e.g., `test_<area>_behavior.py`) and place alongside existing script tests under `scripts/` or add a `tests/` folder. Keep tests fast and network-light; mock ZenML calls when feasible.
25
+
26
+
## Commit & Pull Request Guidelines
27
+
- Commits: concise, imperative subject (e.g., "Update README", "Add smoke test"), group related changes.
28
+
- PRs: include a clear description, link related issues, and add logs/screenshots for failures or tool output when relevant. Ensure CI passes (smoke test and formatting).
29
+
30
+
## Security & Configuration Tips
31
+
- Required env vars to run tools: `ZENML_STORE_URL`, `ZENML_STORE_API_KEY`.
32
+
- Prefer `uv` for isolated runs. Do not log secrets; scrub values in examples and CI output.
33
+
- Avoid modifying `server/lib/` unless you understand downstream effects.
@@ -178,6 +181,50 @@ In our experience, sometimes it shows a red error indicator even though it is
178
181
working. You can try it out by chatting in the Cursor chat window. It will let
179
182
you know if is able to access the ZenML tools or not.
180
183
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.
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