Octopus Deploy Official MCP Server
chính thứcMáy chủ MCP Octopus cung cấp cho trợ lý AI của bạn các công cụ mạnh mẽ cho phép nó kiểm tra, truy vấn và chẩn đoán vấn đề trong phiên bản Octopus của bạn, biến nó thành người bạn đồng hành DevOps tối ưu của bạn.
Tài liệu
Máy chủ MCP Chính thức của Octopus Deploy
Octopus giúp bạn dễ dàng phân phối phần mềm lên Kubernetes, đa đám mây, cơ sở hạ tầng tại chỗ và bất kỳ nơi nào khác. Tự động hóa việc phát hành, triển khai và vận hành phần mềm cũng như khối lượng công việc AI của bạn bằng một công cụ có thể xử lý CD ở quy mô lớn theo cách mà không công cụ nào khác làm được.
Model Context Protocol (MCP) cho phép các trợ lý AI bạn sử dụng hàng ngày, như Claude Code hay ChatGPT, kết nối với các hệ thống và dịch vụ bạn sở hữu theo cách thức chuẩn hóa, cho phép chúng lấy thông tin từ các hệ thống và dịch vụ đó để trả lời câu hỏi và thực hiện nhiệm vụ.
Máy chủ MCP của Octopus cung cấp cho trợ lý AI của bạn các công cụ mạnh mẽ cho phép nó kiểm tra, truy vấn và chẩn đoán sự cố trong phiên bản Octopus của bạn, biến nó thành người bạn đồng hành DevOps tối thượng của bạn. Để biết danh sách các trường hợp sử dụng được hỗ trợ và lời nhắc mẫu, hãy xem tài liệu của chúng tôi.
Khả năng tương thích với Máy chủ Octopus
Hầu hết các công cụ do Máy chủ MCP cung cấp đều sử dụng các API ổn định đã có sẵn từ ít nhất phiên bản 2021.1 của Máy chủ Octopus. Các công cụ mới hơn sẽ chỉ định phiên bản được hỗ trợ tối thiểu trong tài liệu. Ngoài ra, bạn có thể sử dụng đối số dòng lệnh --list-tools-by-version để kiểm tra cách các công cụ cụ thể liên quan đến các phiên bản của Octopus.
🚀 Cài đặt
Cài đặt qua Docker
Thông tin xác thực phải được cung cấp qua biến môi trường để tránh hiển thị chúng trong danh sách tiến trình máy chủ (ps aux / /proc/<pid>/cmdline). URL máy chủ Octopus vẫn có thể được cung cấp qua cờ --server-url.
docker run -i --rm -e OCTOPUS_API_KEY=your-key -e OCTOPUS_SERVER_URL=https://your-octopus.com octopusdeploy/mcp-server
Ví dụ cấu hình đầy đủ (cho Claude Desktop, Claude Code và 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"
}
},
}
}
Đối với người dùng Apple Mac, bạn có thể cần thêm các đối số sau vào cấu hình để buộc Docker sử dụng nền tảng Linux:
"--platform",
"linux/amd64",
Chúng tôi đang lên kế hoạch phát hành bản dựng ARM gốc trong thời gian ngắn tới để không cần các đối số đó nữa.
Cài đặt qua Node
Yêu cầu
- Node.js >= v20.0.0
- Phiên bản Octopus Deploy mà máy chủ MCP có thể truy cập qua HTTPS
- Khóa API hoặc Mã thông báo truy cập Octopus Deploy (xem Xác thực bên dưới)
Cấu hình
Ví dụ cấu hình đầy đủ (cho Claude Desktop, Claude Code và Cursor):
Công cụ ghi được bật (mặc định):
{
"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"
}
}
}
}
Chế độ chỉ đọc (khuyến nghị cho môi trường sản xuất):
{
"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"
}
}
}
}
Máy chủ MCP của Octopus thường được cấu hình trong ứng dụng khách AI bạn chọn.
Nó được đóng gói dưới dạng gói npm và thực thi qua lệnh npx của Node. Thông tin xác thực (khóa API hoặc mã thông báo truy cập) phải được cung cấp qua biến môi trường — chúng không được chấp nhận dưới dạng đối số dòng lệnh để tránh lộ bí mật trong danh sách tiến trình. URL máy chủ Octopus có thể được cung cấp qua biến môi trường OCTOPUS_SERVER_URL hoặc cờ --server-url.
OCTOPUS_API_KEY=API-KEY \
OCTOPUS_SERVER_URL=https://your-octopus.com \
npx -y @octopusdeploy/mcp-server
Hoặc với URL máy chủ trên dòng lệnh:
OCTOPUS_API_KEY=API-KEY \
npx -y @octopusdeploy/mcp-server --server-url https://your-octopus.com
Xác thực
Máy chủ MCP hỗ trợ hai phương thức xác thực. Cả hai đều được cung cấp qua biến môi trường — thông tin xác thực không được chấp nhận trên dòng lệnh vì các cờ có thể hiển thị trong danh sách tiến trình máy chủ đối với bất kỳ người dùng cục bộ nào.
Khóa API (khuyến nghị cho sử dụng tương tác)
Khóa API là phương thức xác thực tiêu chuẩn cho Octopus Deploy. Bạn có thể tạo một khóa từ hồ sơ người dùng Octopus Deploy của mình.
OCTOPUS_API_KEY=API-XXXXXXXXXXXXXXXXXXXXXXXXXX \
OCTOPUS_SERVER_URL=https://your-octopus.com \
npx -y @octopusdeploy/mcp-server
Mã thông báo truy cập / Mã thông báo Bearer (chỉ dành cho các kịch bản tự động)
Máy chủ cũng hỗ trợ mã thông báo truy cập ngắn hạn (mã thông báo Bearer) như một giải pháp thay thế cho khóa API. Phương thức xác thực này chỉ dành cho các kịch bản tự động khi một hệ thống bên ngoài cấp mã thông báo ngắn hạn cho máy chủ MCP (ví dụ: pipeline CI/CD, điều phối tự động hoặc quy trình làm việc máy-với-máy). Không sử dụng mã thông báo Bearer dài hạn — thay vào đó hãy sử dụng khóa API cho các phiên tương tác hoặc chạy dài hạn.
OCTOPUS_ACCESS_TOKEN=your-short-lived-token \
OCTOPUS_SERVER_URL=https://your-octopus.com \
npx -y @octopusdeploy/mcp-server
Ví dụ cấu hình đầy đủ với mã thông báo truy cập:
{
"mcpServers": {
"octopusdeploy": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@octopusdeploy/mcp-server"],
"env": {
"OCTOPUS_SERVER_URL": "https://your-octopus.com",
"OCTOPUS_ACCESS_TOKEN": "YOUR_TOKEN"
}
}
}
}
Nếu cả khóa API và mã thông báo truy cập đều được cung cấp, mã thông báo truy cập sẽ được ưu tiên. Phương thức xác thực đang hoạt động được ghi lại trong tệp nhật ký (có thể cấu hình bằng --log-file) để người vận hành có thể xác nhận thông tin xác thực nào đang được sử dụng.
Tùy chọn Cấu hình
Máy chủ MCP của Octopus hỗ trợ một số tùy chọn dòng lệnh để tùy chỉnh các công cụ có sẵn.
Nếu bạn không chắc mình cần công cụ nào, chúng tôi khuyên bạn nên chạy mà không có bất kỳ tùy chọn dòng lệnh bổ sung nào và sử dụng các giá trị mặc định được cung cấp.
Bộ công cụ
Sử dụng tham số --toolsets để bật các nhóm công cụ cụ thể:
# 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
Các bộ công cụ có sẵn:
- core - Các thao tác cơ bản (luôn được bật)
- projects - Thao tác dự án
- deployments - Thao tác triển khai
- releases - Quản lý phát hành
- runbooks - Khám phá và thực thi runbook
- tasks - Thao tác tác vụ
- tenants - Thao tác đa người thuê
- kubernetes - Thao tác Kubernetes
- machines - Thao tác mục tiêu triển khai
- certificates - Thao tác chứng chỉ
- accounts - Thao tác tài khoản
- interruptions - Thao tác can thiệp thủ công và phê duyệt
- featureToggles - Kiểm tra và điều chỉnh các nút bật/tắt tính năng của khách hàng
- context - Ngữ cảnh người dùng và dự án đã xác thực (người dùng hiện tại, nhánh Git)
Chế độ Chỉ đọc
Máy chủ chạy với các công cụ ghi được bật theo mặc định. Truyền --read-only để vô hiệu hóa tất cả các công cụ ghi và chặn POST/PUT/PATCH/DELETE thông qua điểm chặn cuối execute. Hầu hết các công cụ được quản lý đều đã ở chế độ chỉ đọc; chỉ một nhóm nhỏ thực hiện ghi.
Các công cụ luôn ghi:
create_release- Tạo bản phát hành mớideploy_release- Triển khai bản phát hành đến môi trường và người thuêrun_runbook- Chạy runbook trên một hoặc nhiều môi trường (và người thuê tùy chọn)update_feature_toggle- Điều chỉnh trạng thái theo môi trường và tỷ lệ phần trăm triển khai trên một nút bật/tắt tính năng hiện có
Công cụ ghi có điều kiện: execute là một điểm chặn cuối REST có cấu trúc với cấp độ (đọc / ghi / xóa) được xác định bởi phương thức HTTP được truyền cho nó. Xem phần Danh mục API & Điểm chặn cuối để biết chi tiết.
Các công cụ ghi được kiểm soát bởi lời nhắc khơi gợi MCP: các ứng dụng khách hỗ trợ khơi gợi sẽ được yêu cầu xác nhận trước khi cuộc gọi tiếp tục. Các ứng dụng khách không hỗ trợ khơi gợi phải truyền confirm: true trong các đối số công cụ — nếu không công cụ sẽ hủy bỏ với lỗi. Đặt OCTOPUS_SKIP_ELICITATION=true để bỏ qua hoàn toàn kiểm soát (dành cho tự động hóa không cần giám sát).
Máy chủ sử dụng phân loại ba cấp đọc/ghi/xóa, được thực thi phía máy chủ dựa trên phương thức HTTP (tác nhân không thể vượt qua điều này bằng cách nói dối về ý định):
- read — luôn được phép. Các yêu cầu GET thông qua
execute, cộng với tất cả các công cụfind_*/get_*/list_*. - write — POST/PUT/PATCH thông qua
executevà các công cụ luôn ghi ở trên. Bị chặn khi--read-onlyđược đặt. - delete — DELETE thông qua
execute. Yêu cầu--allow-deletesvà bị chặn khi--read-onlyđược đặt. Một nhóm nhỏ các đường dẫn xóa thảm khốc (ví dụ:DELETE /api/spaces/{id},DELETE /api/users/{id}) và các điểm cuối khóa API nằm trong danh sách từ chối nhạy cảm cứng, bỏ qua cả hai cờ.
# 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
Lưu ý Bảo mật: Sử dụng khóa API với các quyền phù hợp, ít đặc quyền nhất — các thao tác ghi có thể tạo bản phát hành và kích hoạt triển khai trong phiên bản Octopus của bạn. Đối với môi trường sản xuất, hãy cân nhắc truyền --read-only trừ khi bạn có trường hợp sử dụng cụ thể, được kiểm soát cho việc ghi. --allow-deletes tắt theo mặc định; chỉ bật nó khi tác nhân phải thực hiện các yêu cầu DELETE thông qua execute. Nếu bạn truyền --allow-deletes cùng với --read-only, máy chủ sẽ in cảnh báo khởi động ra stderr — các yêu cầu DELETE vẫn bị chặn bởi cổng chỉ đọc.
Ví dụ Hoàn chỉnh
Tất cả các ví dụ dưới đây giả định OCTOPUS_API_KEY được đặt trong môi trường. Cờ --server-url được hiển thị để rõ ràng nhưng cũng có thể được cung cấp qua 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
Các đối số dòng lệnh khác
--read-only- Bật chế độ chỉ đọc: vô hiệu hóa tất cả các công cụ ghi được quản lý và chặn POST/PUT/PATCH/DELETE thông quaexecute. Ghi được bật theo mặc định; cờ này tắt chúng đi. Xem Chế độ Chỉ đọc.--allow-deletes- Cho phép các yêu cầu DELETE thông qua công cụexecute. Bị bỏ qua (với cảnh báo khởi động) khi--read-onlyđược đặt. Mặc địnhfalse.--log-level <level>- Mức nhật ký tối thiểu (info, error)--log-file <path>- Đường dẫn hoặc tên tệp nhật ký. Nếu không được chỉ định, nhật ký chỉ được ghi ra console-q, --quiet- Vô hiệu hóa ghi nhật ký tệp, chỉ ghi lỗi ra console--list-tools-by-version- Liệt kê tất cả các công cụ đã đăng ký theo phiên bản Máy chủ Octopus được hỗ trợ và thoát
🔨 Công cụ
Công cụ Dựa trên URL
Bắt đầu nhanh: Dán trực tiếp URL Octopus để điều tra sự cố mà không cần trích xuất ID thủ công.
get_deployment_from_url: Lấy chi tiết triển khai từ URL triển khai (trả về taskId để theo dõi tiếp)get_task_from_url: Lấy chi tiết tác vụ và nhật ký từ URL tác vụ
Quy trình điều tra triển khai:
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 })
Điều tra tác vụ (URL tác vụ trực tiếp):
get_task_from_url with task URL
→ Returns task details and logs immediately
Các công cụ này loại bỏ việc trích xuất ID thủ công bằng cách:
- Tự động phân tích cú pháp URL
- Phân giải ID không gian thành tên không gian
- Xác thực định dạng ID
- Cung cấp thông báo lỗi rõ ràng
URL ví dụ:
- Triển khai:
https://your-octopus.com/app#/Spaces-1/projects/my-app/deployments/Deployments-123 - Tác vụ:
https://your-octopus.com/app#/Spaces-1/tasks/ServerTasks-456
Xem Làm việc với URL để biết quy trình làm việc chi tiết, ví dụ và thực hành tốt nhất.
Công cụ Cốt lõi
list_spaces: Liệt kê tất cả các không gian trong phiên bản Octopus Deploylist_environments: Liệt kê tất cả các môi trường trong một không gian nhất định
Danh mục API & Điểm chặn cuối
Các công cụ và tài nguyên này cho phép tác nhân truy cập các điểm cuối REST của Octopus không có công cụ quản lý chuyên dụng, với sự kiểm soát cứng phía máy chủ giữa các thao tác đọc, ghi và xóa.
grep_llms_txt: Tìm kiếm trong danh mục API Octopus (octopus://api/llms.txt) với ngữ nghĩa kiểu grep (phiên bản Octopus tối thiểu được hỗ trợ:2026.2.3916). Nội dung danh mục lớn (thường từ 300 KB trở lên) — hãy gọi công cụ này thay vì đọc trực tiếp nội dung tài nguyên. Các tham số phản ánh GNU grep (pattern,caseInsensitive,invertMatch,fixedString,beforeContext,afterContext,maxCount). Hữu ích để khám phá điểm cuối (POST /releases), liệt kê điểm cuối xóa (DELETE), hoặc tìm loại body cho thao tác ghi (Body: Create.*Command).execute: Điểm dừng REST có cấu trúc. Tiếp cận bất kỳ điểm cuối REST nào của Octopus dưới/api. Phương thức HTTP là bộ phân loại đọc/ghi/xóa có thẩm quyền — không bao giờ là cờisWritemà LLM có thể đặt. Việc kiểm soát phương thức được mã hóa cứng ở phía máy chủ:GETluôn được phép (tuân theo kiểm tra hình dạng đường dẫn + danh sách từ chối nhạy cảm).POST/PUT/PATCHbị chặn khi--read-onlyđược đặt; nếu không, chúng yêu cầu xác nhận của người dùng thông qua gợi ý.DELETEyêu cầu--allow-deletes(và bị chặn khi--read-onlyđược đặt) cùng với thông báo gợi ý "KHÔNG THỂ ĐẢO NGƯỢC" mạnh hơn.- Danh sách từ chối nhạy cảm (điểm cuối khóa API,
DELETE /api/spaces/{id},DELETE /api/users/{id}) được thực thi ngay cả khi cả hai cờ đều bật. - Đường dẫn bắt buộc phải là
/apihoặc bắt đầu bằng/api/— URL tuyệt đối, đường dẫn~/api/...tương đối SDK, và đường dẫn tương đối máy chủ nằm ngoài/api(ví dụ:/octopus/portal/...) đều bị từ chối ngay từ đầu, do đóexecuteđược giới hạn trong phạm vi bề mặt REST API của Octopus. - Danh sách cho phép đường dẫn theo bộ công cụ chỉ áp dụng khi
--toolsetsđã được thu hẹp. Khi tất cả bộ công cụ được bật (mặc định, hoặc--toolsets allrõ ràng), danh sách cho phép bị bỏ qua và bất kỳ đường dẫn nào dưới/apiđều có thể truy cập được, tuân theo các rào cản ở trên. Khi--toolsetsbị thu hẹp, danh sách cho phép trở thành công tắc ngắt: đường dẫn chỉ được phân giải nếu bộ công cụ sở hữu chúng được bật, vì vậy việc vô hiệu hóa một bộ công cụ (ví dụ:certificates) khiến các đường dẫn của nó không thể truy cập quaexecutengay cả khiGET.
Dữ liệu danh mục cũng được hiển thị dưới dạng Tài nguyên MCP:
octopus://api/llms.txt— danh mục markdown của mọi điểm cuối REST Octopus (phương thức HTTP, đường dẫn, tham số truy vấn, loại yêu cầu/phản hồi). Yêu cầu Octopus Server2026.2.3916trở lên. Bộ nhớ đệm trong bộ nhớ 5 phút được khóa theo URL máy chủ đã cấu hình. Ưu tiêngrep_llms_txthơn là đọc trực tiếp nội dung.octopus://api/capabilities— JSON mô tả phiên đang chạy: phiên bản máy chủ, bộ công cụ được bật, công cụ khả dụng (vớiminimumOctopusVersioncủa chúng), và liệu--read-only/--allow-deletescó đang bật hay không. Hữu ích để tác nhân khám phá những gì có thể truy cập trong phiên này.
Dự án
list_projects: Liệt kê tất cả dự án trong một không gian nhất định
Triển khai
deploy_release: Triển khai một bản phát hành đến các môi trường (hỗ trợ cả triển khai có tenant và không có tenant)list_deployments: Liệt kê các triển khai trong một không gian với bộ lọc tùy chọn
Bản phát hành
create_release: Tạo bản phát hành mới cho một dự ánfind_releases: Tìm bản phát hành trong một không gian (có thể lấy bản phát hành cụ thể theo ID, hoặc liệt kê/lọc bản phát hành theo dự án)
Chi tiết bản phát hành cũng có sẵn dưới dạng Tài nguyên MCP tại octopus://spaces/{spaceName}/releases/{releaseId} — tìm nạp qua resources/read (hoặc công cụ điểm dừng read_resource) để lấy toàn bộ nội dung bản phát hành, bao gồm ghi chú phát hành và các gói đã chọn.
Runbook
find_runbooks: Tìm runbook trong một dự án (có thể lấy runbook cụ thể theo ID, hoặc liệt kê/lọc runbook theo tên một phần). Mỗi bản tóm tắt bao gồm ID snapshot đã xuất bản, chế độ đa tenant và phạm vi môi trường để người gọi có thể chọn mục tiêu hợp lệ trước khi chạy.run_runbook: Chạy runbook trên một hoặc nhiều môi trường. Hỗ trợ chạy có tenant (theo tên tenant hoặc thẻ tenant), biến được nhắc, chế độ lỗi có hướng dẫn, cửa sổ chạy theo lịch, và bao gồm/loại trừ bước hoặc máy. Mặc định sử dụng snapshot đã xuất bản của runbook nếurunbookSnapshotIdbị bỏ qua.
Toàn bộ nội dung runbook (bao gồm các trường chính sách thời gian chạy) có sẵn dưới dạng Tài nguyên MCP tại octopus://spaces/{spaceName}/runbooks/{runbookId}.
Tác vụ
Dữ liệu tác vụ chủ yếu được hiển thị dưới dạng Tài nguyên MCP. Sử dụng resources/read (hoặc công cụ điểm dừng read_resource) với một trong những thứ sau:
octopus://spaces/{spaceName}/tasks/{taskId}— siêu dữ liệu nhẹ (trạng thái, thời gian, cờ hoàn thành)octopus://spaces/{spaceName}/tasks/{taskId}/details— ServerTaskDetails đầy đủ (Tiến trình, cây ActivityLogs, v.v.)
Để tìm kiếm nhật ký, hãy sử dụng công cụ grep_task_log thay vì tài nguyên /log:
grep_task_log: Tìm kiếm nhật ký hoạt động của tác vụ mà không cần tìm nạp toàn bộ nội dung. Các tham số phản ánh GNU grep (pattern,caseInsensitive,invertMatch,fixedString,beforeContext,afterContext,maxCount). Trả về các dòng khớp vớilineNumberchỉ mục 1, mảng ngữ cảnh trước/sau tùy chọn, và số lượngtotalMatchestrên toàn bộ nhật ký.
Cố ý không có tài nguyên /log: nhật ký hoạt động có thể nặng nhiều megabyte, và một tài nguyên có thể định địa chỉ sẽ cám dỗ người gọi tìm nạp toàn bộ nội dung trong khi grep hầu như luôn là công cụ nguyên thủy phù hợp.
Tenant
find_tenants: Tìm tenant trong một không gian (có thể lấy tenant cụ thể theo ID hoặc liệt kê/tìm kiếm tenant với bộ lọc)get_tenant_variables: Lấy biến tenant theo loại (tất cả, chung, hoặc dự án)get_missing_tenant_variables: Lấy biến tenant bị thiếu giá trị
Kubernetes
get_kubernetes_live_status: Lấy trạng thái trực tiếp của tài nguyên Kubernetes cho một dự án và môi trường (phiên bản tối thiểu được hỗ trợ:2025.3)
Máy (Mục tiêu triển khai)
find_deployment_targets: Tìm mục tiêu triển khai trong một không gian (có thể lấy mục tiêu cụ thể theo ID hoặc liệt kê/tìm kiếm mục tiêu với bộ lọc)
Chứng chỉ
find_certificates: Tìm chứng chỉ trong một không gian (có thể lấy chứng chỉ cụ thể theo ID hoặc liệt kê/tìm kiếm chứng chỉ với bộ lọc)
Tài khoản
find_accounts: Tìm tài khoản trong một không gian (có thể lấy tài khoản cụ thể theo ID hoặc liệt kê/tìm kiếm tài khoản với bộ lọc)
Gián đoạn
find_interruptions: Tìm gián đoạn đang chờ xử lý hoặc lịch sử (can thiệp thủ công, phê duyệt, lời nhắc lỗi có hướng dẫn) trong một không gian, tùy chọn lọc theo tác vụ, dự án, môi trường, tài liệu liên quan, trách nhiệm, hoặc trạng thái chờ xử lý. Trả về tóm tắt ngắn gọn; tham chiếu tài nguyênoctopus://spaces/{spaceName}/interruptions/{interruptionId}để lấy định nghĩa Form đầy đủ (loại điều khiển, hướng dẫn Markdown, tùy chọn nút, Form.Values đã gửi).
Feature Toggle
find_feature_toggles: Liệt kê feature toggle khách hàng trong một dự án. Mỗi bản tóm tắt bao gồm trạng thái theo môi trường (isEnabled,rolloutPercentage,clientRolloutPercentage) cùng vớiresourceUriđể câu hỏi "X được bật ở đâu" có thể trả lời từ phản hồi danh sách.update_feature_toggle: Điều chỉnh một toggle hiện có. Bề mặt hẹp — bật/tắt một môi trường, thay đổi tỷ lệ phần trăm triển khai, hoặc cập nhật mô tả / trạng thái mặc định ở cấp toggle. Nội bộ tìm nạp toggle hiện tại, áp dụng các bản vá của bạn trong bộ nhớ, và PUT nội dung đã hợp nhất, do đó các môi trường không được đề cập và các trường không được đề cập được bảo toàn. Các bản vá tham chiếu đến môi trường chưa được cấu hình trên toggle sẽ bị từ chối.
Toàn bộ nội dung toggle (mô tả, tenant, phân đoạn, phiên bản tối thiểu) có sẵn dưới dạng Tài nguyên MCP tại octopus://spaces/{spaceName}/projects/{projectId}/featuretoggles/{slug}. Nội dung nhóm triển khai có thể định địa chỉ tại octopus://spaces/{spaceName}/projects/{projectId}/rolloutgroups/{rolloutGroupId} để kiểm tra chỉ đọc.
Ngoài phạm vi (sử dụng giao diện Octopus): tạo feature toggle mới, xóa toggle, đổi tên hoặc gắn lại thẻ, gắn/tháo nhóm triển khai, nhắm mục tiêu tenant, phân đoạn, bộ lọc phiên bản tối thiểu, và quản lý nhóm triển khai / định danh máy khách SDK.
Công cụ bổ sung
get_deployment_process: Lấy quy trình triển khai theo ID cho dự án hoặc bản phát hànhget_variables: Lấy tất cả biến dự án và biến tập biến thư viện cho một dự án (hỗ trợ dự án config-as-code quagitRef)get_branches: Lấy nhánh Git cho dự án được kiểm soát phiên bản (phiên bản tối thiểu được hỗ trợ:2021.2)get_current_user: Lấy thông tin về người dùng đã xác thực hiện tại
🔒 Cân nhắc bảo mật
Máy chủ Octopus MCP bao gồm cả thao tác đọc và ghi. Các cân nhắc bảo mật quan trọng:
Thao tác đọc
- Có thể đọc toàn bộ nhật ký triển khai, có thể chứa bí mật sản xuất nếu chúng không được đánh dấu là bí mật
- Truy cập vào dữ liệu cấu hình nhạy cảm và biến
- Thận trọng khi kết nối với các công cụ và mô hình bạn không hoàn toàn tin tưởng
Thao tác ghi
Theo mặc định, các thao tác ghi sau đây khả dụng:
- Tạo bản phát hành: Có thể tạo bản phát hành mới cho dự án
- Triển khai bản phát hành: Có thể kích hoạt triển khai đến các môi trường (bao gồm sản xuất)
- Chạy runbook: Có thể thực thi runbook trên các môi trường và tenant
- Cập nhật feature toggle: Có thể lật trạng thái theo môi trường và thay đổi tỷ lệ phần trăm triển khai trên các toggle hiện có
- POST/PUT/PATCH tùy ý qua điểm dừng
execute: Giới hạn trong các đường dẫn dưới/api, với danh sách từ chối nhạy cảm luôn bật. Danh sách cho phép đường dẫn theo bộ công cụ chỉ áp dụng khi--toolsetsđã bị thu hẹp; với tất cả bộ công cụ được bật (mặc định), các rào cản đường dẫn duy nhất là ranh giới/apivà danh sách từ chối nhạy cảm.
Truyền --read-only để vô hiệu hóa tất cả những điều trên. Yêu cầu DELETE qua execute yêu cầu cờ --allow-deletes bổ sung — một sự chấp thuận có chủ ý cho các thao tác không thể đảo ngược — và vẫn bị chặn khi --read-only được đặt.
Các biện pháp bảo mật quan trọng:
- Đặc quyền tối thiểu: Sử dụng khóa API với các quyền tối thiểu cần thiết cho trường hợp sử dụng của bạn
- Chọn chế độ chỉ đọc: Ghi được bật theo mặc định. Đối với sản xuất, hãy truyền
--read-onlytrừ khi bạn có trường hợp sử dụng cụ thể, được kiểm soát cho thao tác ghi. DELETE luôn yêu cầu chấp thuận--allow-deletesbổ sung. - Kiểm soát phương thức ở phía máy chủ và được mã hóa cứng: Phương thức HTTP được truyền tới
executelà bộ phân loại có thẩm quyền. Tác nhân không thể vượt qua rào cản bằng cách trình bày sai những gì lệnh gọi thực hiện — các yêu cầu POST/PUT/PATCH/DELETE nhận kiểm soát theo cấp bất kể văn xuôi trong nội dung yêu cầu. - Lọc bộ công cụ đóng vai trò như công tắc ngắt: Thu hẹp
--toolsetsloại bỏ cả công cụ được quản lý của bộ công cụ bị vô hiệu hóa và đường dẫn của chúng khỏi danh sách cho phépexecute. (Danh sách cho phép chỉ được tham khảo khi bộ công cụ bị thu hẹp; với tất cả bộ công cụ được bật,executebị giới hạn bởi kiểm tra hình dạng/apivà danh sách từ chối nhạy cảm.) - Rủi ro tiêm nhiễm lời nhắc: Chạy tác nhân theo cách hoàn toàn tự động có thể khiến bạn dễ bị tấn công tiêm nhiễm lời nhắc
Khuyến nghị: Đối với môi trường sản xuất, hãy truyền --read-only trừ khi bạn có trường hợp sử dụng cụ thể, được kiểm soát cho thao tác ghi. Để --allow-deletes tắt trừ khi bạn đặc biệt cần ngữ nghĩa DELETE qua execute.
⚠️ Hạn chế
Phân tích dữ liệu
Bản chất của các công cụ trò chuyện AI hiện tại và chính giao thức MCP khiến việc phân tích lượng lớn dữ liệu trở nên không thực tế. Hầu hết các máy khách MCP hiện không hỗ trợ chuỗi lệnh gọi công cụ (sử dụng đầu ra của công cụ này làm đầu vào cho công cụ tiếp theo) và thay vào đó quay lại sao chép kết quả theo từng token, điều này thường dẫn đến ảo giác. Nếu bạn đang tìm cách xử lý dữ liệu lịch sử từ phiên bản Octopus của mình cho mục đích phân tích, chúng tôi khuyên bạn nên sử dụng trực tiếp API hoặc viết máy khách MCP của riêng bạn có khả năng xử lý kết quả lệnh gọi công cụ theo chương trình.
Hiệu suất
Máy chủ MCP về mặt kỹ thuật chỉ là một lớp mỏng trên API Octopus Server hiện có. Do đó, nó có khả năng truy xuất lượng lớn dữ liệu (ví dụ: yêu cầu hàng nghìn triển khai). Những truy vấn như vậy có thể ảnh hưởng đáng kể đến hiệu suất của phiên bản của bạn. Hướng dẫn mô hình của bạn chỉ truy xuất tập dữ liệu tối thiểu cần thiết (hầu hết các mô hình đều làm rất tốt điều này ngay từ đầu).
🤝 Đóng góp
Chúng tôi hoan nghênh mọi đóng góp! :heart: Vui lòng đọc Hướng dẫn đóng góp để biết thông tin về cách tham gia vào dự án này.
Chúng tôi rất mong muốn được biết cách bạn dự định sử dụng Octopus MCP Server và những tính năng bạn muốn thấy trong các phiên bản tương lai.
Vui lòng sử dụng Issues để gửi phản hồi hoặc yêu cầu tính năng.
Nếu bạn là khách hàng hiện tại của Octopus, vui lòng báo cáo mọi sự cố bạn gặp phải khi sử dụng máy chủ MCP của chúng tôi cho đội ngũ hỗ trợ. Điều này sẽ đảm bảo bạn nhận được phản hồi kịp thời trong phạm vi cam kết hỗ trợ tiêu chuẩn của chúng tôi.
🙋 Câu hỏi thường gặp
Bạn có kế hoạch phát hành máy chủ MCP từ xa không?
Chúng tôi đang làm việc để tích hợp máy chủ MCP trực tiếp vào Octopus Server. Điều này sẽ mở ra cơ hội để chúng tôi xây dựng các công cụ MCP phức tạp hơn, cũng như:
- Trao cho Quản trị viên Octopus quyền kiểm soát chi tiết hơn đối với các máy khách MCP
- Hỗ trợ OAuth nguyên bản cho xác thực máy khách
- Tích hợp các công cụ quét bảo mật vào đầu ra MCP
Nếu bạn quan tâm đến điều này, vui lòng đăng ký sự quan tâm của bạn trên mục lộ trình của chúng tôi.
Giấy phép
Dự án này được cấp phép theo các điều khoản của giấy phép mã nguồn mở Mozilla Public License 2.0.