ZenML
resmiBerinteraksi dengan pipeline MLOps dan LLMOps Anda melalui server MCP ZenML Anda
Apa yang bisa Anda lakukan dengan ZenML MCP?
- Memeriksa sumber daya ZenML — Minta untuk membuat daftar atau menjelaskan pipeline, stack, model, atau deployment melalui
zenml_list_resourcesdanzenml_describe_resources. - Memicu eksekusi pipeline — Minta eksekusi baru dari snapshot atau template menggunakan
trigger_pipelinedengan nama atau ID. - Mengambil detail dan log eksekusi — Ambil log langkah, log deployment, atau kode langkah dengan
get_step_logs,get_deployment_logs, atauget_step_code. - Mendiagnosis masalah pengaturan — Jalankan
diagnose_zenml_setupuntuk memecahkan masalah konektivitas server atau masalah konfigurasi. - Membuka dasbor interaktif — Luncurkan dasbor eksekusi pipeline atau bagan aktivitas melalui
open_pipeline_run_dashboardatauopen_run_activity_chart. - Mengelola sumber daya dengan aman — Buat, perbarui, atau hapus sumber daya seperti proyek atau stack menggunakan
zenml_create_resource,zenml_update_resource, atauzenml_delete_resource.
Dokumentasi
Server MCP untuk ZenML
Proyek ini mengimplementasikan server Model Context Protocol (MCP) untuk berinteraksi dengan API ZenML.

Apa itu MCP?
Model Context Protocol (MCP) adalah protokol terbuka yang menstandarkan cara aplikasi menyediakan konteks kepada Large Language Models (LLM). Protokol ini bertindak seperti "port USB-C untuk aplikasi AI" — menyediakan cara terstandar untuk menghubungkan model AI ke berbagai sumber data dan alat.
MCP mengikuti arsitektur klien-server di mana:
- Host MCP: Program seperti Claude Desktop atau IDE yang ingin mengakses data melalui MCP
- Klien MCP: Klien protokol yang menjaga koneksi 1:1 dengan server
- Server MCP: Program ringan yang mengekspos kemampuan spesifik melalui protokol terstandar
- Sumber Data Lokal: File, database, dan layanan di komputer Anda yang dapat diakses server MCP secara aman
- Layanan Jarak Jauh: Sistem eksternal yang tersedia melalui internet yang dapat dihubungkan oleh server MCP
Apa itu ZenML?
ZenML adalah platform sumber terbuka untuk membangun dan mengelola pipeline ML dan AI. Platform ini menyediakan antarmuka terpadu untuk mengelola data, model, dan eksperimen.
Untuk informasi lebih lanjut, lihat situs web ZenML dan dokumentasi kami.
Fitur
Server menyediakan alat MCP untuk mengakses fungsi baca inti dari server ZenML, menyediakan cara untuk mendapatkan informasi langsung tentang:
Entitas Inti
- Pengguna - akun pengguna dan izin
- Stack - konfigurasi infrastruktur
- Komponen Stack - blok penyusun stack individual
- Flavor - jenis komponen yang tersedia
- Konektor Layanan - autentikasi cloud
Eksekusi Pipeline
- Pipeline - definisi pipeline
- Jalankan Pipeline - riwayat eksekusi dan status
- Langkah Pipeline - detail langkah individual, kode, dan log
- Jadwal - jadwal eksekusi otomatis
- Artefak - metadata tentang artefak data (bukan data itu sendiri)
Deployment & Serving
- Snapshot - konfigurasi pipeline yang dibekukan (artefak "apa yang akan dijalankan/disajikan")
- Deployment - instance serving runtime dengan status, URL, dan log
- Layanan - endpoint serving model
Organisasi & Penemuan
- Proyek - wadah organisasi untuk sumber daya ZenML
- Tag - label metadata lintas sektor untuk penemuan
- Build - artefak build pipeline dengan informasi gambar dan kode
Model
- Model - entri registry model ML
- Versi Model - artefak model dengan versi
API Kompatibilitas (migrasi disarankan)
- Template jalankan pipeline tetap tersedia di ZenML 0.97.0, sementara Snapshot lebih disukai untuk alur kerja baru (lihat Panduan Migrasi)
Server juga memungkinkan Anda untuk memicu jalankan pipeline baru menggunakan snapshot (disarankan) atau parameter pemicu berbasis template yang sudah tidak digunakan lagi.
Catatan: Kami terus meningkatkan integrasi ini berdasarkan umpan balik pengguna. Silakan bergabung dengan komunitas Slack kami untuk berbagi pengalaman dan membantu kami membuatnya lebih baik lagi!
Profil alat dan kebijakan tulis
Profil compact default mengiklankan 16 alat. Tujuh alat generik mencakup
katalog sumber daya, pembacaan, mutasi biasa, dan tindakan siklus hidup terbatas:
| Alat | Tujuan |
|---|---|
zenml_describe_resources | Menemukan jenis sumber daya yang didukung dan skema operasi terbatas |
zenml_list_resources | Daftar satu jenis sumber daya dengan filter dan paginasi yang divalidasi |
zenml_get_resource | Dapatkan satu sumber daya, dengan cakupan induk dan proyek jika diperlukan |
zenml_create_resource | Buat sumber daya yang didukung dari payload bertipe |
zenml_update_resource | Perbarui satu UUID sumber daya yang tepat |
zenml_delete_resource | Hapus atau arsipkan satu UUID sumber daya yang tepat |
zenml_action_resource | Jalankan tindakan siklus hidup atau hubungan yang diizinkan tanpa percobaan ulang |
Sembilan alat terfokus tetap ada karena menyediakan diagnostik, konteks aktif, log atau kode yang dialirkan, eksekusi pipeline, atau App interaktif:
diagnose_zenml_setupget_active_userdanget_active_projecttrigger_pipelineget_step_logs,get_step_code, danget_deployment_logsopen_pipeline_run_dashboarddanopen_run_activity_chart
get_step_logs mengembalikan maksimal 50.000 entri, yang terlama terlebih dahulu, dengan
flag possibly_truncated, plus note yang menyatakan entri mana yang hilang dan
alasannya. Berikan tail untuk hanya mendapatkan entri terbaru. Di server ZenML 0.97+
halaman ini melalui log store; di 0.96 menggunakan endpoint permintaan tunggal yang lebih lama.
Gunakan ZENML_MCP_PROFILE=legacy ketika klien yang ada masih bergantung pada nama
lama yang spesifik untuk entitas seperti list_pipeline_runs. Ini mempertahankan
lapisan kompatibilitas nama alat dan skema yang dikarakterisasi untuk ZenML 0.97.0. Ini
tidak menambahkan dukungan untuk versi server ZenML yang lebih lama. Gunakan hanya saat
migrasi: bentuk respons lama dapat mengekspos lebih banyak metadata operasional daripada
alat ringkas, meskipun server menghilangkan konfigurasi yang mengandung kredensial dan
bidang sensitif lainnya dari kedua profil.
Pendaftaran dan akses tulis bersifat independen:
| Profil | Kebijakan | Alat yang diiklankan |
|---|---|---|
compact | read_write | 16 |
compact | read_only | 11 |
legacy | read_write | 57 |
legacy | read_only | 52 |
Setel ZENML_MCP_WRITE_POLICY=read_only untuk menghapus keempat alat mutasi generik
dan trigger_pipeline dari penemuan dan pengiriman MCP. Penemuan sumber daya juga
menghilangkan skema buat, perbarui, hapus, dan tindakan. Pengaturan
ZENML_MCP_READ_ONLY=true yang lebih lama tetap diterima; nilai kebijakan yang tidak valid
gagal tertutup ke mode hanya-baca. ZENML_MCP_PROFILE yang tidak valid menghentikan
startup dengan kesalahan konfigurasi.
Versi 2.0.0 memerlukan MCP Python SDK 2.2.0 dan ZenML 0.96.4. Profil ringkas
adalah default baru dan merupakan perubahan penemuan yang merusak untuk klien yang
memanggil nama alat spesifik entitas. Setel ZENML_MCP_PROFILE=legacy saat memigrasikan
klien tersebut, lalu pindahkan setiap panggilan ke alat sumber daya generik.
Hasil mutasi membedakan hasil completed, accepted, dan unknown.
Server tidak mengulangi mutasi setelah mungkin mencapai ZenML. Untuk hasil yang
diterima atau tidak diketahui, ikuti instruksi rekonsiliasi dalam respons sebelum
memutuskan apakah akan memanggil lagi. Gunakan pembacaan bernama jika tersedia.
Pembuatan webhook dan rotasi rahasia dapat mengembalikan rahasia penandatanganan baru
sekali; pembacaan berikutnya menghilangkannya. Skema hapus menyatakan
apakah operasi mengarsipkan metadata, menghapus metadata, menghapus penyediaan sumber daya
langsung, atau dapat menghapus data artefak yang tersimpan.
Rilis 2.0 pertama mencakup operasi biasa untuk proyek, stack dan
komponen, flavor, layanan, pipeline dan jalankan, snapshot dan template,
deployment, artefak dan versi, model dan versi, tag, konektor,
repositori kode, webhook, pemicu, kondisi tunggu, dan pemanggilan hook.
Pengguna, jadwal, jenis konektor layanan, rahasia, dan permintaan sumber daya memiliki
cakupan hanya-baca yang ditunjukkan oleh zenml_describe_resources. Ini mengecualikan administrasi
bidang kontrol ZenML Cloud, administrasi Resource Manager, administrasi pengguna dan
kredensial, CRUD nilai rahasia, login dan verifikasi konektor,
peristiwa webhook mentah, dan alat debugging atau lineage agregat.
Mulai alur kerja generik dengan menemukan skema yang tepat, lalu memanggilnya:
zenml_describe_resources(resource_type="pipeline_run", operation="list")
zenml_list_resources(
resource_type="pipeline_run",
filters={"status": "completed", "sort_by": "desc:created"},
page=1,
size=10,
)
Prompt dan sumber daya tetap tersedia di kedua profil. Prompt analisis,
endpoint skema sumber daya terbatas, dan most_recent_runs adalah prompt atau sumber daya
MCP, bukan alat.
Kompatibilitas template jalankan
ZenML 0.97.0 mempertahankan API CRUD template jalankan. Snapshot lebih disukai untuk
alur kerja baru. Pembuatan pipeline yang nyaman dan parameter pemicu berbasis template
tidak digunakan lagi. Di profil lama, get_run_template dan
list_run_templates tetap tersedia untuk klien yang ada.
Input tag lama tetap ada di list_run_templates untuk kompatibilitas skema,
tetapi ZenML 0.97.0 tidak memiliki filter sisi server yang setara. Nilai non-null
ditolak sebelum panggilan SDK. Pemfilteran tag snapshot tetap tersedia.
Migrasi: Template Jalankan → Snapshot
Mengapa perubahan ini? Snapshot menggantikan template jalankan sebagai artefak pipeline yang dapat dijalankan yang disukai ZenML. SDK 0.97.0 masih mendukung CRUD template jalankan, sementara kode baru harus menggunakan snapshot.
Panduan Migrasi Cepat
| Pola Lama (Template) | Pola Ringkas (Snapshot) |
|---|---|
list_run_templates() | zenml_list_resources(resource_type="snapshot", filters={"runnable": true, "named_only": true}) |
get_run_template(name) | zenml_get_resource(resource_type="snapshot", resource_id=id) |
trigger_pipeline(template_id=...) | trigger_pipeline(snapshot_name_or_id=...) |
Contoh Alur Kerja (Snapshot-First)
1. Discover project context:
→ get_active_project()
2. Find runnable snapshots:
→ zenml_list_resources(resource_type="snapshot", filters={"runnable": true, "named_only": true})
3. Trigger a run:
→ trigger_pipeline(snapshot_name_or_id="my-snapshot")
4. Check deployments:
→ zenml_list_resources(resource_type="deployment", filters={"status": "running"})
→ get_deployment_logs(name_id_or_prefix="my-deployment", tail=100)
Catatan: get_deployment_logs mengembalikan output terbatas (default 100 baris, maks 1000, dibatasi 100KB) dan memerlukan integrasi deployer yang sesuai untuk diinstal.
Pengaturan Cepat melalui Dashboard (Disarankan)
Cara termudah untuk mengatur Server MCP ZenML adalah melalui halaman Pengaturan MCP di dashboard ZenML Anda.

Navigasikan ke Pengaturan → MCP di dashboard ZenML Anda untuk mendapatkan:
- Cuplikan yang telah dikonfigurasi untuk URL server dan kredensial spesifik Anda
- Instalasi satu klik melalui deep link untuk IDE yang didukung
- Konfigurasi salin-tempel untuk VS Code, Claude Desktop, Cursor, Claude Code, OpenAI Codex, dan lainnya
- Opsi Docker dan uv berdasarkan preferensi Anda
Pengguna ZenML Pro
Halaman Pengaturan MCP memungkinkan Anda membuat Personal Access Token (PAT) dengan satu klik. Token secara otomatis disertakan dalam semua cuplikan konfigurasi yang dihasilkan.
Pengguna ZenML OSS
- Pertama buat token akun layanan melalui Pengaturan → Akun Layanan
- Tempel token ke halaman Pengaturan MCP
- Salin konfigurasi yang dihasilkan untuk IDE Anda
Lebih suka pengaturan manual? Lihat instruksi terperinci di bawah.
App MCP (Eksperimental)
Apa itu App MCP? App MCP adalah UI HTML interaktif yang dapat disajikan server MCP langsung ke klien AI. Mereka dirender dalam iframe sandbox dan dapat memanggil alat server secara dua arah. Lihat pengumuman resmi untuk detail lengkap.

Server ini menyertakan dua App MCP eksperimental:
| App | Alat | Deskripsi |
|---|---|---|
| Dashboard Jalankan Pipeline | open_pipeline_run_dashboard | Tabel interaktif jalankan pipeline terbaru dengan status, detail langkah, dan log |
| Bagan Aktivitas Jalankan | open_run_activity_chart | Bagan batang aktivitas jalankan pipeline selama 30 hari terakhir dengan rincian status |

App ini disertakan sebagai contoh bukti konsep. Kami menyambut umpan balik dan kontribusi untuk App MCP lainnya. Ini masih hari-hari awal untuk fitur baru ini, jadi kami harus melihat bagaimana perkembangannya. Kami berharap untuk mendukungnya lebih penuh di masa depan.
Klien yang Didukung
App MCP memerlukan transport Streamable HTTP (bukan stdio). Klien berikut saat ini mendukung App MCP:
- ✅ VS Code (Edisi Insiders)
- ✅ Goose
- ✅ ChatGPT (segera diluncurkan)
- ⚠️ Claude Desktop -- per akhir Januari 2026, belum merender App.
- ⚠️ Claude.ai (web) — per akhir Januari 2026, belum merender App.
Catatan: Kami tidak dapat menguji secara menyeluruh dengan Claude Desktop atau Claude.ai pada saat penulisan. Jika Anda mengalami masalah, silakan laporkan.
Menjalankan App MCP dengan Docker
App MCP menggunakan Streamable HTTP. Jaga port kontainer terikat ke loopback dan letakkan reverse proxy terautentikasi atau layanan akses sadar identitas di depannya sebelum mengizinkan akses jarak jauh. Validasi Host dan Origin melindungi terhadap DNS rebinding; mereka tidak mengautentikasi pemanggil.
1. Bangun dan jalankan kontainer Docker:
docker build -t mcp-zenml:apps .
docker run --rm -d --name mcp-zenml-apps -p 127.0.0.1:8001:8001 \
-e ZENML_STORE_URL="https://your-zenml-server.example.com" \
-e ZENML_STORE_API_KEY="your-api-key" \
-e ZENML_MCP_PROFILE="compact" \
-e ZENML_MCP_WRITE_POLICY="read_write" \
-e ZENML_ACTIVE_PROJECT_ID="your-project-id" \
mcp-zenml:apps --transport streamable-http --host 0.0.0.0 --port 8001 \
--disable-dns-rebinding-protection
2. Konfigurasikan akses jarak jauh terautentikasi:
Buat Cloudflare Tunnel bernama, Tailscale Funnel dengan kontrol akses, atau
reverse proxy terautentikasi yang setara. Arahkan origin privatnya ke
http://127.0.0.1:8001, wajibkan identitas atau kredensial layanan untuk
hostname publik, dan teruskan hanya permintaan terautentikasi ke origin. Konfigurasikan
klien MCP Anda untuk menggunakan alur OAuth yang didukung penyedia atau header otorisasi.
Sebelum menambahkan kredensial ZenML ke kontainer, verifikasi bahwa permintaan tidak terautentikasi tidak dapat mencapai MCP:
curl -i https://mcp.example.com/mcp
Responsnya harus berupa 401, 403, atau pengalihan login dari penyedia akses. Respons
JSON-RPC atau MCP berarti perimeter terbuka dan harus diperbaiki terlebih dahulu.
3. Hubungkan klien terautentikasi Anda:
{
"servers": {
"ZenML": {
"url": "https://mcp.example.com/mcp",
"type": "http"
}
},
"inputs": []
}
- Minta AI untuk "membuka dasbor pipeline runs" atau "menampilkan bagan aktivitas run"
Catatan penting:
ZENML_ACTIVE_PROJECT_IDwajib — tanpanya, alat pipeline run akan gagal dengan "Tidak ada proyek yang saat ini disetel sebagai aktif"--disable-dns-rebinding-protectionhanya sesuai ketika proxy terautentikasi memvalidasi host publik dan port kontainer tetap loopback-only- Batasi kunci API ZenML pada izin yang dibutuhkan klien MCP; gunakan
ZENML_MCP_WRITE_POLICY=read_onlyuntuk klien yang hanya inspeksi
Pengujian & Jaminan Kualitas
Proyek ini mencakup pengujian otomatis untuk memastikan server MCP tetap berfungsi:
- 🔄 Uji Asap Otomatis: Uji asap komprehensif berjalan setiap 3 hari melalui GitHub Actions
- 🚨 Pembuatan Masalah: Pengujian yang gagal secara otomatis membuat masalah GitHub dengan informasi debugging terperinci
- ⚡ CI Cepat: Menggunakan UV dengan caching untuk instalasi dependensi dan pengujian yang cepat
- 🧪 Pengujian Manual: Anda dapat menjalankan uji asap secara lokal menggunakan
uv run scripts/test_mcp_server.py server/zenml_server.py
Pengujian otomatis memverifikasi:
- Koneksi dan jabat tangan protokol MCP
- Inisialisasi server dan penemuan alat
- Fungsionalitas alat dasar (saat server ZenML dapat diakses)
- Enumerasi sumber daya dan prompt
diagnose_zenml_setupmengembalikan diagnostik terstruktur bahkan di lingkungan yang dibatasi
CI tanpa kredensial mencakup setiap adaptor melalui protokol MCP. CI PR dan rilis juga memulai server OSS ZenML 0.97.0 baru di alamat loopback dan menjalankan CRUD yang dipertahankan serta resep isolasi proyek dengan nama yang sama. Server menggunakan konfigurasi sementara dan database yang dihapus saat pekerjaan keluar; tidak ada lingkungan repositori, runner yang dihosting sendiri, atau kredensial ZenML yang diperlukan.
Server OSS lokal ZenML menonaktifkan autentikasi dan penyimpanan SQL-nya tidak
mendukung replay pipeline atau infrastruktur deployment eksternal. Akses
terbatas dan pemicu yang diaktifkan fitur, replay, deployment, kondisi tunggu, dan
resep permintaan sumber daya tetap menjadi gerbang opt-in terpisah. Mereka memerlukan
ZENML_MCP_RESTRICTED_INTEGRATION=1 dengan
ZENML_MCP_RESTRICTED_API_KEY, atau ZENML_MCP_ACTION_INTEGRATION=1 dengan
UUID fixture sekali pakai yang tepat di ZENML_MCP_ACTION_FIXTURE, masing-masing.
Lewati yang digerbang bukan bukti bahwa kemampuan tersebut lulus. Operator dapat menyetel
ZENML_MCP_REQUIRE_COMPLETE_INTEGRATION=1 untuk mengubah gerbang opt-in yang hilang menjadi
kegagalan. Penyediaan infrastruktur cloud tidak pernah menjadi bagian dari
jalur pengujian default.
Debugging dengan MCP Inspector
Untuk debugging interaktif, gunakan MCP Inspector — alat berbasis web yang memungkinkan Anda menguji alat MCP secara real-time:
# Using .env.local (recommended for development)
cp .env.local.example .env.local # Then edit with your credentials
source .env.local && npx @modelcontextprotocol/inspector \
-e ZENML_STORE_URL=$ZENML_STORE_URL \
-e ZENML_STORE_API_KEY=$ZENML_STORE_API_KEY \
-- uv run server/zenml_server.py
Ini membuka UI web dengan kredensial Anda terisi sebelumnya — cukup klik Connect dan gunakan tab Tools untuk menguji alat apa pun secara interaktif.
Lihat CLAUDE.md untuk instruksi debugging yang lebih terperinci.
Privasi & Analitik
Server MCP ZenML mengumpulkan analitik penggunaan anonim untuk membantu kami meningkatkan produk.
Kami melacak:
- Alat mana yang digunakan dan seberapa sering
- Tingkat dan jenis kesalahan (hanya jenis kesalahan, bukan pesan)
- Info lingkungan dasar (OS, versi Python, dan apakah berjalan di Docker/CI)
- Durasi sesi dan pola penggunaan alat
Kami TIDAK mengumpulkan:
- URL server ZenML atau kunci API Anda
- Nama pipeline, nama model, atau data bisnis apa pun
- Pesan kesalahan atau jejak tumpukan
- Informasi identitas pribadi apa pun
Untuk menonaktifkan analitik:
# Option 1
export ZENML_MCP_ANALYTICS_ENABLED=false
# Option 2
export ZENML_MCP_DISABLE_ANALYTICS=true
Untuk debugging/pengujian (mencatat peristiwa ke stderr alih-alih mengirim):
export ZENML_MCP_ANALYTICS_DEV=true
Untuk pengguna Docker: Anda dapat menyetel ZENML_MCP_ANALYTICS_ID (harus UUID yang valid) untuk mempertahankan ID anonim yang konsisten di seluruh restart kontainer. Jika Anda tidak menyetelnya dan sistem file kontainer tidak dapat menyimpan file ID analitik, server akan kembali ke UUID anonim deterministik yang berasal dari hash ZENML_STORE_URL (URL itu sendiri tidak pernah dikirim sebagai properti peristiwa).
Opsi analitik tambahan:
ZENML_MCP_ANALYTICS_SHUTDOWN_TIMEOUT_S— waktu maksimum (detik) untuk mengirim analitik secara sinkron selama shutdown (default: 1.0)
Catatan tentang pelacakan shutdown: Peristiwa shutdown dikirim secara sinkron dengan batas waktu terikat untuk keandalan pengiriman terbaik. Namun, jika kontainer dimatikan dengan SIGKILL (misalnya, docker kill), penangan shutdown tidak dapat dijalankan — ini adalah keterbatasan Docker/OS, bukan bug.
Validasi Startup
Anda dapat mengaktifkan pemeriksaan diagnostik startup yang ringan:
# Print warnings but start normally
uv run server/zenml_server.py --startup-validation warn
# Exit non-zero if required setup is missing (useful in Docker/CI)
uv run server/zenml_server.py --startup-validation strict
Anda juga dapat menyetel ini melalui variabel lingkungan: ZENML_MCP_STARTUP_VALIDATION=warn.
Alat diagnose_zenml_setup juga tersedia sebagai alat MCP untuk pemecahan masalah runtime — alat ini berfungsi bahkan ketika SDK ZenML tidak diinstal atau variabel lingkungan hilang.
Pengaturan Manual
Prasyarat
Anda perlu memiliki akses ke server ZenML yang diterapkan. Jika Anda tidak memilikinya, Anda dapat mendaftar uji coba gratis di ZenML Pro dan kami akan mengelola deployment untuk Anda.
Tip: Setelah Anda memiliki server ZenML, periksa halaman Pengaturan MCP di dasbor Anda untuk pengalaman pengaturan termudah.
Kompatibilitas: Versi saat ini diuji terhadap ZenML 0.97.0. Jika Anda menjalankan versi ZenML yang lebih lama, gunakan rilis sebelumnya dari server MCP ini.
Anda juga (mungkin) perlu menginstal uv secara lokal. Untuk informasi lebih lanjut, lihat
dokumentasi uv.
Kami merekomendasikan instalasi melalui skrip penginstal mereka atau melalui brew jika menggunakan
Mac. (Secara teknis Anda tidak perlu menginstalnya, tetapi ini membuat instalasi dan pengaturan menjadi mudah.)
Anda juga perlu mengkloning repositori ini di suatu tempat secara lokal:
git clone https://github.com/zenml-io/mcp-zenml.git
File konfigurasi MCP Anda
File konfigurasi MCP adalah file JSON yang memberi tahu klien MCP cara terhubung ke server MCP Anda. Klien MCP yang berbeda akan menggunakan atau menentukan ini secara berbeda. Dua klien MCP yang umum digunakan adalah Claude Desktop dan Cursor, yang kami sediakan instruksi instalasinya di bawah.
Anda perlu menentukan server MCP ZenML Anda dalam format berikut:
{
"mcpServers": {
"zenml": {
"command": "/usr/local/bin/uv",
"args": ["run", "path/to/server/zenml_server.py"],
"env": {
"LOGLEVEL": "WARNING",
"NO_COLOR": "1",
"ZENML_LOGGING_COLORS_DISABLED": "true",
"ZENML_LOGGING_VERBOSITY": "WARN",
"ZENML_ENABLE_RICH_TRACEBACK": "false",
"ZENML_MCP_PROFILE": "compact",
"ZENML_MCP_WRITE_POLICY": "read_write",
"PYTHONUNBUFFERED": "1",
"PYTHONIOENCODING": "UTF-8",
"ZENML_STORE_URL": "https://your-zenml-server-goes-here.com",
"ZENML_STORE_API_KEY": "your-api-key-here"
}
}
}
}
Ada empat nilai dummy yang perlu Anda ganti:
- jalur ke
uvyang diinstal secara lokal (jalur yang tercantum di atas adalah tempatnya di Mac jika Anda menginstalnya melaluibrew) - jalur ke file
zenml_server.py(ini adalah file yang akan dijalankan saat Anda terhubung ke server MCP). File ini terletak di dalam repositori ini di root. Anda perlu menentukan jalur lengkap yang tepat ke file ini. - URL server ZenML (ini adalah URL server ZenML Anda. Anda dapat menemukannya
di UI Cloud ZenML). Ini akan terlihat seperti
https://d534d987a-zenml.cloudinfra.zenml.io. - kunci API server ZenML (ini adalah kunci API untuk server ZenML Anda. Anda dapat menemukannya di UI Cloud ZenML atau baca dokumentasi ini tentang cara membuatnya. Untuk tujuan server MCP ZenML, kami merekomendasikan menggunakan akun layanan.)
Anda bebas mengubah cara menjalankan file Python server MCP, tetapi menggunakan
uv mungkin akan menjadi opsi termudah karena menangani lingkungan dan
instalasi dependensi untuk Anda.
Instalasi untuk digunakan dengan Claude Desktop
Alternatif cepat: Gunakan halaman Pengaturan MCP di dasbor ZenML Anda (Pengaturan → MCP) untuk mendapatkan instruksi instalasi yang telah dikonfigurasi sebelumnya dan tautan dalam untuk Claude Desktop.
Anda perlu menginstal versi terbaru Claude Desktop.
Anda cukup membuka menu Pengaturan dan menyeret file mcp-zenml.mcpb dari
root repositori ini ke menu dan itu akan memandu Anda melalui
proses instalasi dan pengaturan. Anda perlu menambahkan URL server ZenML dan kunci API Anda.
Catatan: Bundel MCP (.mcpb) menggantikan format Ekstensi Desktop lama (.dxt); file .dxt yang ada masih berfungsi di Claude Desktop.
Opsional: Meningkatkan Tampilan Output Alat ZenML
Untuk pengalaman yang lebih baik dengan hasil alat ZenML, Anda dapat mengonfigurasi Claude untuk menampilkan respons JSON dalam format yang lebih mudah dibaca. Di Claude Desktop, buka Pengaturan → Profil, dan di bagian "Preferensi pribadi apa yang harus dipertimbangkan Claude dalam respons?" tambahkan sesuatu seperti berikut (atau gunakan kata-kata persis ini!):
When using zenml tools which return JSON strings and you're asked a question, you might want to consider using markdown tables to summarize the results or make them easier to view!
Ini akan mendorong Claude untuk memformat output alat ZenML sebagai tabel markdown, membuat informasi lebih mudah dibaca dan dipahami.
Instalasi untuk digunakan dengan Cursor
Alternatif cepat: Halaman Pengaturan MCP di dasbor ZenML Anda (Pengaturan → MCP) dapat menghasilkan konten
mcp.jsonyang tepat dengan kredensial Anda terisi sebelumnya.
Anda perlu menginstal Cursor.
Cursor bekerja sedikit berbeda dari Claude Desktop karena Anda menentukan file konfigurasi berdasarkan per-repositori. Ini berarti jika Anda ingin menggunakan server MCP ZenML di beberapa repositori, Anda perlu menentukan file konfigurasi di masing-masing repositori tersebut.
Untuk mengaturnya untuk satu repositori, Anda perlu:
- buat folder
.cursordi root repositori Anda - di dalamnya, buat file
mcp.jsondengan konten di atas - buka pengaturan Cursor Anda dan klik server ZenML untuk 'mengaktifkannya'.
Dalam pengalaman kami, terkadang ini menunjukkan indikator kesalahan merah meskipun berfungsi. Anda dapat mencobanya dengan mengobrol di jendela obrolan Cursor. Ini akan memberi tahu Anda apakah dapat mengakses alat ZenML atau tidak.
Gambar Docker
Anda dapat menjalankan server sebagai kontainer Docker. Proses berkomunikasi melalui stdio, sehingga akan menunggu koneksi klien MCP. Teruskan kredensial ZenML Anda melalui variabel lingkungan.
Gambar Pra-bangun (Docker Hub)
Tarik gambar multi-arsitektur terbaru:
docker pull zenmldocker/mcp-zenml:latest
Rilis berversi ditandai sebagai X.Y.Z:
docker pull zenmldocker/mcp-zenml:2.0.0
Jalankan dengan kredensial ZenML Anda (mode stdio):
docker run -i --rm \
-e ZENML_STORE_URL="https://your-zenml-server.example.com" \
-e ZENML_STORE_API_KEY="your-api-key" \
zenmldocker/mcp-zenml:latest
Konfigurasi MCP kanonik menggunakan Docker
{
"mcpServers": {
"zenml": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "ZENML_STORE_URL=https://...",
"-e", "ZENML_STORE_API_KEY=ZENKEY_...",
"-e", "ZENML_ACTIVE_PROJECT_ID=...",
"-e", "ZENML_MCP_PROFILE=compact",
"-e", "ZENML_MCP_WRITE_POLICY=read_write",
"-e", "LOGLEVEL=WARNING",
"-e", "NO_COLOR=1",
"-e", "ZENML_LOGGING_COLORS_DISABLED=true",
"-e", "ZENML_LOGGING_VERBOSITY=WARN",
"-e", "ZENML_ENABLE_RICH_TRACEBACK=false",
"-e", "PYTHONUNBUFFERED=1",
"-e", "PYTHONIOENCODING=UTF-8",
"zenmldocker/mcp-zenml:latest"
]
}
}
}
Bangun Secara Lokal
Dari root repositori:
docker build -t zenmldocker/mcp-zenml:local .
Jalankan gambar yang dibangun secara lokal:
docker run -i --rm \
-e ZENML_STORE_URL="https://your-zenml-server.example.com" \
-e ZENML_STORE_API_KEY="your-api-key" \
zenmldocker/mcp-zenml:local
Bundel MCP (.mcpb)
Proyek ini menggunakan Bundel MCP (.mcpb) — penerus Ekstensi Desktop Anthropic (DXT). Bundel MCP mengemas seluruh server MCP (termasuk dependensi) ke dalam satu file dengan konfigurasi yang ramah pengguna.
Catatan tentang penggantian nama: Bundel MCP menggantikan format .dxt yang lebih lama. Claude Desktop tetap kompatibel mundur dengan file .dxt yang ada, tetapi kami sekarang mengirimkan mcp-zenml.mcpb dan merekomendasikan penggunaannya ke depan.
File mcp-zenml.mcpb di root repositori menggunakan runtime UV MCPB 0.4.
Host menginstal dependensi Python yang disematkan untuk sistem operasi saat ini,
sehingga bundel yang sama berfungsi di macOS, Windows, dan Linux tanpa menyematkan
ekstensi native khusus platform. Instalasi memerlukan akses jaringan pada
pertama kali UV menyelesaikan lingkungan yang dibundel.
Pembangunan bundel menggunakan kembali mcpb-uv.lock yang dikomit dan menyelesaikan grafik
dependensi Python-nya dalam mode offline. Daftar dependensi bundel berasal dari
[project].dependencies di pyproject.toml. Setelah mengubah daftar itu, setel
MCPB_REFRESH_LOCK=1 untuk menyelesaikan ulang secara online sambil mempertahankan setiap pin yang masih
cocok; MCPB_REFRESH_LOCK=upgrade memindahkan setiap pin ke versi terbarunya.
Saat Anda menyeret dan menjatuhkan file .mcpb ke dalam pengaturan Claude Desktop, file tersebut secara otomatis menangani:
- Instalasi dependensi runtime
- Manajemen konfigurasi yang aman
- Kompatibilitas lintas platform
- Proses pengaturan yang ramah pengguna
Untuk informasi lebih lanjut, lihat pengumuman Anthropic tentang Ekstensi Desktop (DXT) dan panduan pengemasan bundel MCP terkait dalam dokumentasi mereka: https://www.anthropic.com/engineering/desktop-extensions
Dipublikasikan di Registry MCP Anthropic
Server MCP ini dipublikasikan ke Registry MCP resmi Anthropic dan dapat ditemukan oleh host yang kompatibel. Pada setiap rilis bertanda (tagged release), CI kami memperbarui entri registry melalui CLI mcp-publisher registry menggunakan GitHub OIDC, sehingga Anda dapat menginstal atau menemukan ZenML MCP Server secara langsung di mana pun registry didukung (misalnya, katalog Ekstensi Claude Desktop).
- Selalu terbarui: entri registry diperbarui dengan setiap rilis dari
manifest.jsondanserver.jsondari commit yang ditandai. - Jalur instalasi alternatif: Anda masih dapat menginstal secara lokal melalui bundel
.mcpbyang dikemas (lihat di atas) atau menjalankan image Docker.
Pelajari lebih lanjut tentang registry di sini:
- Registry MCP Anthropic (repo komunitas): https://github.com/modelcontextprotocol/registry