Octopus Deploy Official MCP Server
resmiServer MCP Octopus menyediakan asisten AI Anda dengan alat-alat canggih yang memungkinkannya untuk memeriksa, menanyakan, dan mendiagnosis masalah dalam instance Octopus Anda, mengubahnya menjadi rekan DevOps utama Anda.
Apa yang bisa Anda lakukan dengan Octopus Deploy Official MCP?
- Selidiki deployment dari URL-nya — tempelkan URL deployment Octopus dan biarkan asisten mengambil detail serta ID tugas terkait melalui
get_deployment_from_url. - Cari log tugas untuk menemukan error tanpa mengunduh log lengkap — gunakan
grep_task_logdengan pola seperti “error|fail” untuk menemukan baris yang cocok dan konteksnya dalam log aktivitas tugas. - Temukan endpoint REST yang tersedia — panggil
grep_llms_txtuntuk mencari katalog API Octopus guna menemukan endpoint, body permintaan, atau operasi hapus sebelum menggunakan backstopexecute. - Temukan dan periksa rilis — gunakan
find_releasesuntuk menemukan rilis berdasarkan proyek atau ID, lalu ambil body lengkapnya (catatan rilis, paket) melalui resourceoctopus://spaces/{spaceName}/releases/{releaseId}. - Periksa status resource Kubernetes untuk proyek dan lingkungan — panggil
get_kubernetes_live_statusuntuk mengambil status langsung resource Kubernetes (memerlukan Octopus 2025.3+). - Kelola status fitur toggle di berbagai lingkungan — daftarkan toggle dengan
find_feature_togglesdan sesuaikan status aktif per lingkungan atau persentase peluncuran denganupdate_feature_toggle.
Dokumentasi
Octopus Deploy Official MCP Server
Octopus memudahkan pengiriman perangkat lunak ke Kubernetes, multi-cloud, infrastruktur on-prem, dan di mana pun. Otomatiskan rilis, penerapan, dan operasi perangkat lunak serta beban kerja AI Anda dengan alat yang dapat menangani CD dalam skala besar dengan cara yang tidak dapat dilakukan oleh alat lain.
Model Context Protocol (MCP) memungkinkan asisten AI yang Anda gunakan dalam pekerjaan sehari-hari, seperti Claude Code, atau ChatGPT, untuk terhubung ke sistem dan layanan yang Anda miliki secara terstandarisasi, memungkinkan mereka untuk menarik informasi dari sistem dan layanan tersebut untuk menjawab pertanyaan dan melakukan tugas.
Octopus MCP Server menyediakan asisten AI Anda dengan alat canggih yang memungkinkannya untuk memeriksa, menanyakan, dan mendiagnosis masalah dalam instans Octopus Anda, mengubahnya menjadi rekan DevOps andalan Anda. Untuk daftar kasus penggunaan yang didukung dan contoh prompt, lihat dokumentasi kami.
Kompatibilitas Octopus Server
Sebagian besar alat yang diekspos oleh MCP Server menggunakan API stabil yang telah tersedia setidaknya dari versi 2021.1 Octopus Server. Alat yang lebih baru akan menentukan versi minimum yang didukung dalam dokumentasi. Atau, Anda dapat menggunakan argumen baris perintah --list-tools-by-version untuk memeriksa bagaimana alat tertentu terkait dengan versi Octopus.
🚀 Instalasi
Instalasi melalui Docker
Kredensial harus diberikan melalui variabel lingkungan untuk menghindari mengeksposnya dalam daftar proses host (ps aux / /proc/<pid>/cmdline). URL server Octopus masih dapat diberikan melalui flag --server-url.
docker run -i --rm -e OCTOPUS_API_KEY=your-key -e OCTOPUS_SERVER_URL=https://your-octopus.com octopusdeploy/mcp-server
Contoh konfigurasi lengkap (untuk Claude Desktop, Claude Code, dan Cursor):
{
"mcpServers": {
"octopus-deploy": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OCTOPUS_SERVER_URL",
"-e",
"OCTOPUS_API_KEY",
"octopusdeploy/mcp-server"
],
"env": {
"OCTOPUS_SERVER_URL": "https://your-octopus.com",
"OCTOPUS_API_KEY": "YOUR_API_KEY"
}
},
}
}
Untuk pengguna Apple Mac, Anda mungkin perlu menambahkan argumen berikut dalam konfigurasi untuk memaksa Docker menggunakan platform Linux:
"--platform",
"linux/amd64",
Kami berencana untuk merilis build ARM asli segera sehingga argumen tersebut tidak diperlukan lagi.
Instalasi melalui Node
Persyaratan
- Node.js >= v20.0.0
- Instans Octopus Deploy yang dapat diakses oleh server MCP melalui HTTPS
- Kunci API Octopus Deploy atau Token Akses (lihat Autentikasi di bawah)
Konfigurasi
Contoh konfigurasi lengkap (untuk Claude Desktop, Claude Code, dan Cursor):
Alat tulis diaktifkan (default):
{
"mcpServers": {
"octopusdeploy": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@octopusdeploy/mcp-server"],
"env": {
"OCTOPUS_SERVER_URL": "https://your-octopus.com",
"OCTOPUS_API_KEY": "YOUR_API_KEY"
}
}
}
}
Mode hanya-baca (direkomendasikan untuk produksi):
{
"mcpServers": {
"octopusdeploy": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@octopusdeploy/mcp-server", "--read-only"],
"env": {
"OCTOPUS_SERVER_URL": "https://your-octopus.com",
"OCTOPUS_API_KEY": "YOUR_API_KEY"
}
}
}
}
Octopus MCP Server biasanya dikonfigurasi dalam Klien AI pilihan Anda.
Ini dikemas sebagai paket npm dan dieksekusi melalui perintah npx Node. Kredensial (kunci API atau token akses) harus diberikan melalui variabel lingkungan — mereka tidak diterima sebagai argumen baris perintah untuk menghindari mengekspos rahasia dalam daftar proses. URL server Octopus dapat diberikan melalui variabel lingkungan OCTOPUS_SERVER_URL atau flag --server-url.
OCTOPUS_API_KEY=API-KEY \
OCTOPUS_SERVER_URL=https://your-octopus.com \
npx -y @octopusdeploy/mcp-server
Atau dengan URL server pada baris perintah:
OCTOPUS_API_KEY=API-KEY \
npx -y @octopusdeploy/mcp-server --server-url https://your-octopus.com
Autentikasi
Server MCP mendukung dua metode autentikasi. Keduanya diberikan melalui variabel lingkungan — kredensial tidak diterima pada baris perintah karena flag terlihat dalam daftar proses host oleh pengguna lokal mana pun.
Kunci API (direkomendasikan untuk penggunaan interaktif)
Kunci API adalah metode autentikasi standar untuk Octopus Deploy. Anda dapat membuatnya dari profil pengguna Octopus Deploy Anda.
OCTOPUS_API_KEY=API-XXXXXXXXXXXXXXXXXXXXXXXXXX \
OCTOPUS_SERVER_URL=https://your-octopus.com \
npx -y @octopusdeploy/mcp-server
Token Akses / Token Bearer (hanya skenario otomatis)
Server juga mendukung token akses berumur pendek (token Bearer) sebagai alternatif untuk kunci API. Metode autentikasi ini dimaksudkan hanya untuk skenario otomatis di mana sistem eksternal menerbitkan token berumur pendek ke server MCP (misalnya, pipeline CI/CD, orkestrasi otomatis, atau alur kerja mesin-ke-mesin). Jangan gunakan token Bearer berumur panjang — gunakan kunci API untuk sesi interaktif atau berjalan lama.
OCTOPUS_ACCESS_TOKEN=your-short-lived-token \
OCTOPUS_SERVER_URL=https://your-octopus.com \
npx -y @octopusdeploy/mcp-server
Contoh konfigurasi lengkap dengan token akses:
{
"mcpServers": {
"octopusdeploy": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@octopusdeploy/mcp-server"],
"env": {
"OCTOPUS_SERVER_URL": "https://your-octopus.com",
"OCTOPUS_ACCESS_TOKEN": "YOUR_TOKEN"
}
}
}
}
Jika kunci API dan token akses keduanya diberikan, token akses diutamakan. Metode autentikasi yang aktif dicatat dalam file log (dapat dikonfigurasi dengan --log-file) sehingga operator dapat mengonfirmasi kredensial mana yang digunakan.
Opsi Konfigurasi
Octopus MCP Server mendukung beberapa opsi baris perintah untuk menyesuaikan alat mana yang tersedia.
Jika Anda tidak yakin alat mana yang Anda perlukan, kami sarankan untuk menjalankan tanpa opsi baris perintah tambahan dan menggunakan default yang disediakan.
Perangkat Alat
Gunakan parameter --toolsets untuk mengaktifkan kelompok alat tertentu:
# Enable all toolsets (default)
npx -y @octopusdeploy/mcp-server
# Enable only specific toolsets
npx -y @octopusdeploy/mcp-server --toolsets projects,deployments
# Enable all toolsets explicitly
npx -y @octopusdeploy/mcp-server --toolsets all
Perangkat alat yang tersedia:
- core - Operasi dasar (selalu diaktifkan)
- projects - Operasi proyek
- deployments - Operasi penerapan
- releases - Manajemen rilis
- runbooks - Penemuan dan eksekusi runbook
- tasks - Operasi tugas
- tenants - Operasi multi-penyewaan
- kubernetes - Operasi Kubernetes
- machines - Operasi target penerapan
- certificates - Operasi sertifikat
- accounts - Operasi akun
- interruptions - Operasi intervensi manual dan persetujuan
- featureToggles - Periksa dan sesuaikan fitur toggle pelanggan
- context - Konteks pengguna dan proyek yang diautentikasi (pengguna saat ini, cabang Git)
Mode Hanya-Baca
Server berjalan dengan alat tulis diaktifkan secara default. Berikan --read-only untuk menonaktifkan semua alat tulis dan memblokir POST/PUT/PATCH/DELETE melalui pengaman execute. Sebagian besar alat yang dikurasi sudah hanya-baca; hanya sebagian kecil yang melakukan penulisan.
Alat dengan tulis diaktifkan (selalu-tulis):
create_release- Buat rilis barudeploy_release- Terapkan rilis ke lingkungan dan penyewarun_runbook- Jalankan runbook terhadap satu atau lebih lingkungan (dan penyewa opsional)update_feature_toggle- Sesuaikan status per-lingkungan dan persentase peluncuran pada fitur toggle yang ada
Alat penulisan bersyarat: execute adalah pengaman REST terstruktur yang tingkatannya (baca / tulis / hapus) ditentukan oleh metode HTTP yang diteruskan padanya. Lihat bagian Katalog API & Pengaman untuk detailnya.
Alat tulis dijaga oleh prompt elisitasi MCP: klien yang mendukung elisitasi akan diminta untuk mengonfirmasi sebelum panggilan dilanjutkan. Klien tanpa dukungan elisitasi harus memberikan confirm: true dalam argumen alat — jika tidak, alat akan dibatalkan dengan kesalahan. Atur OCTOPUS_SKIP_ELICITATION=true untuk melewati penjagaan sepenuhnya (dimaksudkan untuk otomatisasi tanpa pengawasan).
Server menggunakan klasifikasi tiga tingkat baca/tulis/hapus, ditegakkan di sisi server berdasarkan metode HTTP (agen tidak dapat melewati ini dengan berbohong tentang niat):
- baca — selalu diizinkan. Permintaan GET melalui
execute, ditambah semua alatfind_*/get_*/list_*. - tulis — POST/PUT/PATCH melalui
executedan alat selalu-tulis di atas. Diblokir ketika--read-onlydiatur. - hapus — DELETE melalui
execute. Memerlukan--allow-deletesdan diblokir ketika--read-onlydiatur. Sejumlah kecil jalur penghapusan katastropik (misalnyaDELETE /api/spaces/{id},DELETE /api/users/{id}) dan titik akhir kunci API berada dalam daftar tolak sensitif keras yang mengabaikan kedua flag.
# Default - write tools enabled (POST/PUT/PATCH)
npx -y @octopusdeploy/mcp-server
# Additionally permit DELETE requests through the execute tool
npx -y @octopusdeploy/mcp-server --allow-deletes
# Read-only mode - write/delete tools disabled
npx -y @octopusdeploy/mcp-server --read-only
Catatan Keamanan: Gunakan kunci API dengan izin yang sesuai dan hak istimewa paling rendah — operasi tulis dapat membuat rilis dan memicu penerapan di instans Octopus Anda. Untuk produksi, pertimbangkan untuk memberikan --read-only kecuali Anda memiliki kasus penggunaan tulis yang spesifik dan terkendali. --allow-deletes dinonaktifkan secara default; hanya aktifkan ketika agen harus mengeluarkan permintaan DELETE melalui execute. Jika Anda memberikan --allow-deletes bersamaan dengan --read-only, server mencetak peringatan startup ke stderr — permintaan DELETE tetap diblokir oleh gerbang hanya-baca.
Contoh Lengkap
Semua contoh di bawah mengasumsikan OCTOPUS_API_KEY diatur dalam lingkungan. Flag --server-url ditampilkan untuk kejelasan tetapi juga dapat diberikan melalui OCTOPUS_SERVER_URL.
# Development setup with only core and project tools
npx -y @octopusdeploy/mcp-server --toolsets core,projects --server-url https://your-octopus.com
# Production setup with all tools and read-only enforcement
npx -y @octopusdeploy/mcp-server --toolsets all --read-only --server-url https://your-octopus.com
# Default invocation - all tools and writes enabled
npx -y @octopusdeploy/mcp-server --server-url https://your-octopus.com
Argumen baris perintah lainnya
--read-only- Aktifkan mode hanya-baca: nonaktifkan semua alat tulis yang dikurasi dan blokir POST/PUT/PATCH/DELETE melaluiexecute. Penulisan diaktifkan secara default; flag ini mematikannya. Lihat Mode Hanya-Baca.--allow-deletes- Izinkan permintaan DELETE melalui alatexecute. Diabaikan (dengan peringatan startup) ketika--read-onlydiatur. Defaultfalse.--log-level <level>- Tingkat log minimum (info, error)--log-file <path>- Jalur atau nama file log. Jika tidak ditentukan, log ditulis ke konsol saja-q, --quiet- Nonaktifkan pencatatan file, hanya catat kesalahan ke konsol--list-tools-by-version- Daftar semua alat yang terdaftar berdasarkan versi Octopus Server yang didukung dan keluar
🔨 Alat
Alat Berbasis URL
Mulai cepat: Tempelkan URL Octopus langsung untuk menyelidiki masalah tanpa ekstraksi ID manual.
get_deployment_from_url: Dapatkan detail penerapan dari URL penerapan (mengembalikan taskId untuk tindak lanjut)get_task_from_url: Dapatkan detail tugas dan log dari URL tugas
Alur kerja investigasi penerapan:
1. get_deployment_from_url with deployment URL
→ Returns deployment context + taskResourceUri + grepTaskLogHint
2a. Fetch the structured activity tree via resources/read (or read_resource)
octopus://spaces/{spaceName}/tasks/{taskId}/details
2b. Or call grep_task_log with the taskId to search the raw log without
fetching the full body:
grep_task_log({ spaceName, taskId, pattern: "error|fail", caseInsensitive: true })
Investigasi tugas (URL tugas langsung):
get_task_from_url with task URL
→ Returns task details and logs immediately
Alat-alat ini menghilangkan ekstraksi ID manual dengan:
- Mengurai URL secara otomatis
- Menyelesaikan ID ruang ke nama ruang
- Memvalidasi format ID
- Memberikan pesan kesalahan yang jelas
Contoh URL:
- Penerapan:
https://your-octopus.com/app#/Spaces-1/projects/my-app/deployments/Deployments-123 - Tugas:
https://your-octopus.com/app#/Spaces-1/tasks/ServerTasks-456
Lihat Bekerja dengan URL untuk alur kerja terperinci, contoh, dan praktik terbaik.
Alat Inti
list_spaces: Daftar semua ruang dalam instans Octopus Deploylist_environments: Daftar semua lingkungan dalam ruang tertentu
Katalog API & Pengaman
Alat dan sumber daya ini memungkinkan agen untuk mencapai titik akhir REST Octopus yang tidak memiliki alat kurasi khusus, dengan penjagaan ketat di sisi server antara operasi baca, tulis, dan hapus.
grep_llms_txt: Cari katalog API Octopus (octopus://api/llms.txt) dengan semantik gaya grep (versi Octopus minimum yang didukung:2026.2.3916). Isi katalog berukuran besar (biasanya 300+ KB) — panggil ini daripada membaca isi sumber daya secara langsung. Parameter mencerminkan GNU grep (pattern,caseInsensitive,invertMatch,fixedString,beforeContext,afterContext,maxCount). Berguna untuk menemukan endpoint (POST /releases), menghitung endpoint penghapusan (DELETE), atau menemukan tipe body untuk operasi tulis (Body: Create.*Command).execute: Backstop REST terstruktur. Menjangkau endpoint REST Octopus apa pun di bawah/api. Metode HTTP adalah pengklasifikasi baca/tulis/hapus yang otoritatif — bukan flagisWriteyang dapat diatur oleh LLM. Pembatasan metode dikodekan secara keras di sisi server:GETselalu diizinkan (tunduk pada pemeriksaan bentuk jalur + daftar tolak sensitif).POST/PUT/PATCHdiblokir ketika--read-onlydiatur; jika tidak, mereka memerlukan konfirmasi pengguna melalui elisitasi.DELETEmemerlukan--allow-deletes(dan diblokir ketika--read-onlydiatur) ditambah pesan elisitasi "IRREVERSIBLE" yang lebih kuat.- Daftar tolak sensitif (endpoint kunci API,
DELETE /api/spaces/{id},DELETE /api/users/{id}) ditegakkan bahkan dengan kedua flag aktif. - Jalur harus berupa
/apiatau dimulai dengan/api/— URL absolut, jalur relatif SDK~/api/..., dan jalur relatif host di luar/api(mis./octopus/portal/...) ditolak di awal, sehinggaexecutetetap terbatas pada permukaan REST API Octopus. - Daftar izin jalur per set alat hanya berlaku ketika
--toolsetstelah dipersempit. Dengan setiap set alat diaktifkan (default, atau--toolsets alleksplisit) daftar izin dilewati dan jalur apa pun di bawah/apidapat dijangkau tunduk pada pembatasan di atas. Ketika--toolsetsdipersempit, daftar izin menjadi saklar pemutus: jalur hanya terselesaikan jika set alat pemiliknya diaktifkan, sehingga menonaktifkan set alat (mis.certificates) membuat jalurnya tidak dapat dijangkau melaluiexecutebahkan padaGET.
Data katalog juga diekspos sebagai Sumber Daya MCP:
octopus://api/llms.txt— katalog markdown dari setiap endpoint REST Octopus (metode HTTP, jalur, parameter kueri, tipe permintaan/respons). Memerlukan Octopus Server2026.2.3916atau lebih baru. Cache dalam memori 5 menit yang dikunci pada URL server yang dikonfigurasi. Lebih sukagrep_llms_txtdaripada membaca body secara langsung.octopus://api/capabilities— JSON yang menjelaskan sesi yang berjalan: versi server, set alat yang diaktifkan, alat yang tersedia (denganminimumOctopusVersionmereka), dan apakah--read-only/--allow-deletesaktif. Berguna bagi agen untuk menemukan apa yang dapat dijangkau dalam sesi ini.
Proyek
list_projects: Daftar semua proyek di ruang tertentu
Deployment
deploy_release: Deploy rilis ke lingkungan (mendukung deployment bertenan dan tidak bertenan)list_deployments: Daftar deployment di ruang dengan filter opsional
Rilis
create_release: Buat rilis baru untuk proyekfind_releases: Temukan rilis di ruang (dapatkan rilis tertentu berdasarkan ID, atau daftar/filter rilis berdasarkan proyek)
Detail rilis juga tersedia sebagai Sumber Daya MCP di octopus://spaces/{spaceName}/releases/{releaseId} — ambil melalui resources/read (atau alat backstop read_resource) untuk mendapatkan body rilis lengkap, termasuk catatan rilis dan paket yang dipilih.
Runbook
find_runbooks: Temukan runbook di proyek (dapatkan runbook tertentu berdasarkan ID, atau daftar/filter runbook berdasarkan nama parsial). Setiap ringkasan menyertakan ID snapshot yang dipublikasikan, mode multi-tenansi, dan cakupan lingkungan sehingga pemanggil dapat memilih target yang valid sebelum menjalankan.run_runbook: Jalankan runbook terhadap satu atau lebih lingkungan. Mendukung run bertenan (berdasarkan nama tenant atau tag tenant), variabel yang diminta, mode kegagalan terpandu, jendela run terjadwal, dan penyertaan/pengecualian langkah atau mesin. Default ke snapshot runbook yang dipublikasikan jikarunbookSnapshotIddihilangkan.
Body runbook lengkap (termasuk bidang kebijakan runtime) tersedia sebagai Sumber Daya MCP di octopus://spaces/{spaceName}/runbooks/{runbookId}.
Tugas
Data tugas terutama diekspos sebagai Sumber Daya MCP. Gunakan resources/read (atau alat backstop read_resource) dengan salah satu dari:
octopus://spaces/{spaceName}/tasks/{taskId}— metadata ringan (status, waktu, flag penyelesaian)octopus://spaces/{spaceName}/tasks/{taskId}/details— ServerTaskDetails lengkap (Progress, pohon ActivityLogs, dll.)
Untuk pencarian log, gunakan alat grep_task_log daripada sumber daya /log:
grep_task_log: Cari log aktivitas tugas tanpa mengambil body lengkap. Parameter mencerminkan GNU grep (pattern,caseInsensitive,invertMatch,fixedString,beforeContext,afterContext,maxCount). Mengembalikan baris yang cocok denganlineNumberberindeks 1, array konteks sebelum/sesudah opsional, dan jumlahtotalMatchesdi seluruh log.
Sengaja tidak ada sumber daya /log: log aktivitas bisa berukuran multi-megabyte, dan sumber daya yang dapat dialamatkan akan menggoda pemanggil untuk mengambil seluruh body ketika grep hampir selalu merupakan primitif yang tepat.
Tenant
find_tenants: Temukan tenant di ruang (dapatkan tenant tertentu berdasarkan ID atau daftar/cari tenant dengan filter)get_tenant_variables: Dapatkan variabel tenant berdasarkan tipe (semua, umum, atau proyek)get_missing_tenant_variables: Dapatkan variabel tenant yang nilainya hilang
Kubernetes
get_kubernetes_live_status: Dapatkan status langsung sumber daya Kubernetes untuk proyek dan lingkungan (versi minimum yang didukung:2025.3)
Mesin (Target Deployment)
find_deployment_targets: Temukan target deployment di ruang (dapatkan target tertentu berdasarkan ID atau daftar/cari target dengan filter)
Sertifikat
find_certificates: Temukan sertifikat di ruang (dapatkan sertifikat tertentu berdasarkan ID atau daftar/cari sertifikat dengan filter)
Akun
find_accounts: Temukan akun di ruang (dapatkan akun tertentu berdasarkan ID atau daftar/cari akun dengan filter)
Interupsi
find_interruptions: Temukan interupsi tertunda atau historis (intervensi manual, persetujuan, prompt kegagalan terpandu) di ruang, secara opsional difilter berdasarkan tugas, proyek, lingkungan, dokumen terkait, tanggung jawab, atau status tertunda. Mengembalikan ringkasan singkat; dereferensi sumber dayaoctopus://spaces/{spaceName}/interruptions/{interruptionId}untuk definisi Form lengkap (tipe kontrol, instruksi Markdown, opsi tombol, Form.Values yang dikirimkan).
Sakelar Fitur
find_feature_toggles: Daftar sakelar fitur pelanggan di proyek. Setiap ringkasan menyertakan status per lingkungan (isEnabled,rolloutPercentage,clientRolloutPercentage) ditambahresourceUrisehingga "di mana X diaktifkan" dapat dijawab dari respons daftar.update_feature_toggle: Sesuaikan sakelar yang ada. Permukaan sempit — aktifkan/nonaktifkan lingkungan, ubah persentase peluncuran, atau perbarui deskripsi tingkat sakelar / status default. Secara internal mengambil sakelar saat ini, menerapkan patch Anda dalam memori, dan PUT body yang digabungkan, sehingga lingkungan yang tidak disebutkan dan bidang yang tidak disebutkan dipertahankan. Patch yang merujuk ke lingkungan yang belum dikonfigurasi pada sakelar akan ditolak.
Body sakelar lengkap (deskripsi, tenant, segmen, versi minimum) tersedia sebagai Sumber Daya MCP di octopus://spaces/{spaceName}/projects/{projectId}/featuretoggles/{slug}. Body grup peluncuran dapat dialamatkan di octopus://spaces/{spaceName}/projects/{projectId}/rolloutgroups/{rolloutGroupId} untuk inspeksi hanya-baca.
Di luar cakupan (gunakan UI Octopus): membuat sakelar fitur baru, menghapus sakelar, mengganti nama atau menandai ulang, melampirkan/melepaskan grup peluncuran, penargetan tenant, segmen, filter versi minimum, dan manajemen grup peluncuran / pengidentifikasi klien SDK.
Alat Tambahan
get_deployment_process: Dapatkan proses deployment berdasarkan ID untuk proyek atau rilisget_variables: Dapatkan semua variabel proyek dan variabel set variabel pustaka untuk proyek (mendukung proyek config-as-code melaluigitRef)get_branches: Dapatkan cabang Git untuk proyek yang dikontrol versi (versi minimum yang didukung:2021.2)get_current_user: Dapatkan informasi tentang pengguna terautentikasi saat ini
🔒 Pertimbangan Keamanan
Octopus MCP Server mencakup operasi baca dan tulis. Pertimbangan keamanan penting:
Operasi Baca
- Dapat membaca log deployment lengkap, yang dapat mencakup rahasia produksi jika tidak ditandai sebagai rahasia
- Akses ke data konfigurasi sensitif dan variabel
- Berhati-hatilah saat menghubungkan ke alat dan model yang tidak sepenuhnya Anda percayai
Operasi Tulis
Secara default, operasi tulis berikut tersedia:
- Membuat rilis: Dapat membuat rilis baru untuk proyek
- Mendeploy rilis: Dapat memicu deployment ke lingkungan (termasuk produksi)
- Menjalankan runbook: Dapat mengeksekusi runbook terhadap lingkungan dan tenant
- Memperbarui sakelar fitur: Dapat membalik status per lingkungan dan mengubah persentase peluncuran pada sakelar yang ada
- POST/PUT/PATCH sewenang-wenang melalui backstop
execute: Terbatas pada jalur di bawah/api, dengan daftar tolak sensitif yang selalu aktif. Daftar izin jalur per set alat hanya berlaku ketika--toolsetstelah dipersempit; dengan semua set alat diaktifkan (default) satu-satunya pembatasan jalur adalah batas/apidan daftar tolak sensitif.
Berikan --read-only untuk menonaktifkan semua hal di atas. Permintaan DELETE melalui execute memerlukan flag --allow-deletes tambahan — keikutsertaan yang disengaja untuk operasi ireversibel — dan tetap diblokir ketika --read-only diatur.
Langkah Keamanan Kritis:
- Hak Istimewa Terendah: Gunakan kunci API dengan izin minimum yang diperlukan untuk kasus penggunaan Anda
- Pilih Mode Hanya-Baca: Tulis diaktifkan secara default. Untuk produksi, berikan
--read-onlykecuali Anda memiliki kasus penggunaan khusus dan terkendali untuk operasi tulis. DELETE selalu memerlukan keikutsertaan--allow-deletestambahan. - Pembatasan metode ada di sisi server dan dikodekan secara keras: Metode HTTP yang diteruskan ke
executeadalah pengklasifikasi otoritatif. Agen tidak dapat melewati pembatasan dengan salah menggambarkan apa yang dilakukan panggilan — permintaan POST/PUT/PATCH/DELETE mendapatkan pembatasan spesifik tingkat terlepas dari prosa di body permintaan. - Pemfilteran set alat berfungsi ganda sebagai saklar pemutus: Mempersempit
--toolsetsmenghapus baik alat terkurasi set alat yang dinonaktifkan maupun jalurnya dari daftar izinexecute. (Daftar izin hanya dikonsultasikan ketika set alat dipersempit; dengan semua set alat diaktifkanexecutedibatasi oleh pemeriksaan bentuk/apidan daftar tolak sensitif sebagai gantinya.) - Risiko Injeksi Prompt: Menjalankan agen secara otomatis penuh dapat membuat Anda rentan terhadap serangan injeksi prompt
Rekomendasi: Untuk lingkungan produksi, berikan --read-only kecuali Anda memiliki kasus penggunaan khusus dan terkendali untuk operasi tulis. Biarkan --allow-deletes nonaktif kecuali Anda secara khusus membutuhkan semantik DELETE melalui execute.
⚠️ Keterbatasan
Analisis Data
Sifat alat obrolan AI saat ini dan protokol MCP itu sendiri membuatnya tidak praktis untuk menganalisis data dalam jumlah besar. Sebagian besar klien MCP saat ini tidak mendukung rantai panggilan alat (menggunakan output satu alat sebagai input ke alat berikutnya) dan malah jatuh kembali ke menyalin hasil token demi token, yang sering menyebabkan halusinasi. Jika Anda ingin memproses data historis dari instans Octopus Anda untuk tujuan analisis, kami sarankan menggunakan API secara langsung atau menulis klien MCP Anda sendiri yang mampu memproses hasil panggilan alat secara terprogram.
Kinerja
MCP Server secara teknis hanyalah lapisan tipis di atas API Octopus Server yang ada. Dengan demikian, ia mampu mengambil data dalam jumlah besar (misalnya, meminta ribuan deployment). Kueri semacam itu dapat memiliki efek signifikan pada kinerja instans Anda. Instruksikan model Anda untuk hanya mengambil set data minimum yang dibutuhkannya (sebagian besar model sangat baik dalam hal ini secara bawaan).
🤝 Kontribusi
Kontribusi sangat diterima! :heart: Silakan baca Panduan Berkontribusi kami untuk informasi tentang cara terlibat dalam proyek ini.
Kami sangat ingin mendengar bagaimana Anda berencana menggunakan Octopus MCP Server dan fitur apa yang ingin Anda lihat disertakan di versi mendatang.
Silakan gunakan Issues untuk memberikan umpan balik, atau meminta fitur.
Jika Anda adalah pelanggan Octopus saat ini, silakan laporkan masalah apa pun yang Anda alami saat menggunakan server MCP kami kepada tim dukungan kami. Ini akan memastikan Anda mendapatkan respons tepat waktu dalam jaminan dukungan standar kami.
🙋 FAQ
Apakah Anda memiliki rencana untuk merilis server MCP jarak jauh?
Kami sedang berupaya mengintegrasikan server MCP langsung ke dalam Octopus Server. Ini akan membuka peluang bagi kami untuk membangun alat MCP yang lebih kompleks, serta:
- Memberikan Administrator Octopus kontrol yang lebih terperinci atas klien MCP
- Mendukung OAuth secara native untuk autentikasi klien
- Mengintegrasikan alat pemindaian keamanan ke dalam output MCP
Jika ini menarik bagi Anda, silakan daftarkan minat Anda di item peta jalan kami.
Lisensi
Proyek ini dilisensikan di bawah ketentuan lisensi sumber terbuka Mozilla Public License 2.0.