Octopus Deploy Official MCP Server

chính thức

Má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.

Bạn có thể làm gì với Octopus Deploy Official MCP?

  • Kiểm tra các bản triển khai từ một URL — Yêu cầu điều tra một bản triển khai bằng cách dán URL Octopus của nó; get_deployment_from_url trả về ngữ cảnh và một ID tác vụ để theo dõi tiếp.
  • Tìm kiếm nhật ký tác vụ triển khai — Sử dụng grep_task_log để tìm các mẫu lỗi hoặc sự cố trong nhật ký hoạt động của một tác vụ mà không cần tải xuống toàn bộ nội dung nhiều megabyte.
  • Tạo và triển khai các bản phát hành — Yêu cầu create_release cho một dự án, sau đó deploy_release nó đến các môi trường cụ thể, bao gồm cả các bản triển khai có tenant.
  • Chạy runbook trên nhiều môi trường — Sử dụng run_runbook để thực thi một runbook trên một hoặc nhiều môi trường, với hỗ trợ cho các lần chạy có tenant và các biến được nhắc nhập.
  • Tìm và sửa các biến tenant bị thiếu — Sử dụng get_missing_tenant_variables để xác định các biến tenant thiếu giá trị, sau đó kiểm tra chúng bằng get_tenant_variables.
  • Kiểm tra trạng thái trực tiếp của Kubernetes — Yêu cầu get_kubernetes_live_status của các tài nguyên cho một dự án và môi trường để chẩn đoán các sự cố triển khai.

Tài liệu

[!WARNING] Không dùng nữa: MCP server này đã không còn được dùng. Remote MCP Server có sẵn trong Octopus Server 2026.3 trở lên. Xem tài liệu Remote MCP Server.

Octopus Deploy Logo

Octopus Deploy Official MCP Server

Octopus giúp bạn dễ dàng phân phối phần mềm đến Kubernetes, đám mây đa nền tảng, 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 những cách mà không công cụ nào khác có thể làm được.

Model Context Protocol (MCP) cho phép các trợ lý AI bạn sử dụng trong công việc hàng ngày, như Claude Code hoặc ChatGPT, kết nối với các hệ thống và dịch vụ bạn sở hữu theo một cách 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 tác vụ.

Octopus MCP Server 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à các mẫu lời nhắc, hãy xem tài liệu của chúng tôi.

Khả năng tương thích với Octopus Server

Hầu hết các công cụ được MCP Server cung cấp sử dụng các API ổn định đã có sẵn từ ít nhất phiên bản 2021.1 của Octopus Server. Các công cụ mới hơn sẽ chỉ định phiên bản tối thiểu được hỗ trợ 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 Octopus.

🚀 Cài đặt

Cài đặt qua Docker

Thông tin xác thực phải được cung cấp qua các biến môi trường để tránh lộ chúng trong danh sách tiến trình của 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 dự định sớm phát hành bản dựng ARM gốc để các đối số đó sẽ không còn cần thiết nữa.

Cài đặt qua Node

Yêu cầu

  • Node.js >= v20.0.0
  • Phiên bản Octopus Deploy mà MCP server có thể truy cập qua HTTPS
  • Khóa API Octopus Deploy hoặc Mã thông báo truy cập (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):

Bật công cụ ghi (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 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"
      }
    }
  }
}

Octopus MCP Server thường được cấu hình trong ứng dụng AI mà bạn chọn.

Nó được đóng gói dưới dạng gói npm và được 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 các 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

MCP server hỗ trợ hai phương pháp xác thực. Cả hai đều được cung cấp qua các 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ờ hiển thị trong danh sách tiến trình của máy chủ cho 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 pháp 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ỉ cho các tình huống tự động hóa)

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 pháp xác thực này chỉ dành cho các tình huống tự động hóa nơi hệ thống bên ngoài cấp mã thông báo ngắn hạn cho MCP server (ví dụ: đường ống CI/CD, điều phối tự động hoặc quy trình làm việc máy-máy). Không sử dụng mã thông báo Bearer dài hạn — hãy sử dụng khóa API cho các phiên tương tác hoặc chạy dài.

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 pháp xác thực đang hoạt động được ghi lại trong tệp nhật ký (có thể cấu hình với --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

Octopus MCP Server 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ó thêm tùy chọn dòng lệnh nào và sử dụng các 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 - Các thao tác dự án
  • deployments - Các thao tác triển khai
  • releases - Quản lý phát hành
  • runbooks - Khám phá và thực thi runbook
  • tasks - Các thao tác tác vụ
  • tenants - Các thao tác đa khách thuê
  • kubernetes - Các thao tác Kubernetes
  • machines - Các thao tác mục tiêu triển khai
  • certificates - Các thao tác chứng chỉ
  • accounts - Các thao tác tài khoản
  • interruptions - Các thao tác can thiệp thủ công và phê duyệt
  • featureToggles - Kiểm tra và điều chỉnh các công tắc 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 qua backstop execute. Hầu hết các công cụ được tuyển chọn đã chỉ đọc; chỉ một tập hợp nhỏ thực hiện ghi.

Các công cụ bật ghi (luôn ghi):

  • create_release - Tạo bản phát hành mới
  • deploy_release - Triển khai bản phát hành đến môi trường và khách thuê
  • run_runbook - Chạy runbook trên một hoặc nhiều môi trường (và khách 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 công tắc tính năng hiện có

Công cụ ghi có điều kiện: execute là backstop REST có cấu trúc có 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 & Backstop để biết chi tiết.

Các công cụ ghi được kiểm soát bởi lời nhắc elicitation của MCP: các ứng dụng khách hỗ trợ elicitation 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ợ elicitation 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 cổng hoàn toàn (dành cho tự động hóa không giám sát).

Máy chủ sử dụng phân loại đọc/ghi/xóa ba cấp, đượ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ể bỏ qua điều này bằng cách nói dối về ý định):

  • đọc — luôn được phép. Các yêu cầu GET qua execute, cộng với tất cả các công cụ find_* / get_* / list_*.
  • ghi — POST/PUT/PATCH qua execute và các công cụ luôn ghi ở trên. Bị chặn khi --read-only được đặt.
  • xóa — DELETE qua execute. Yêu cầu --allow-deletes và bị chặn khi --read-only được đặt. Một tập hợp 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 chặn 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 quyền phù hợp, đặc quyền tối thiểu — 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 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 ghi. --allow-deletes tắt theo mặc định; chỉ bật nó khi tác nhân phải gửi yêu cầu DELETE 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ị cho 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 tuyển chọn và chặn POST/PUT/PATCH/DELETE qua execute. Ghi được bật theo mặc định; cờ này tắt chúng. Xem Chế độ chỉ đọc.
  • --allow-deletes - Cho phép yêu cầu DELETE qua công cụ execute. Bị bỏ qua (với cảnh báo khởi động) khi --read-only được đặt. Mặc định false.
  • --log-level <level> - Mức nhật ký tối thiểu (info, error)
  • --log-file <path> - Đường dẫn tệp nhật ký hoặc tên tệp. Nếu không được chỉ định, nhật ký chỉ được ghi vào bảng điều khiển
  • -q, --quiet - Vô hiệu hóa ghi nhật ký tệp, chỉ ghi lỗi vào bảng điều khiển
  • --list-tools-by-version - Liệt kê tất cả các công cụ đã đăng ký theo phiên bản Octopus Server được hỗ trợ của chúng 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:

  • Phân tích cú pháp URL tự động
  • Giải quyết 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

Ví dụ URL:

  • 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 các quy trình chi tiết, ví dụ và phương pháp hay 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 Deploy
  • list_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 & Backstop

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 Octopus không có công cụ chuyên dụng được tuyển chọn, với cổng phân loại đọc, ghi và xóa cứng phía máy chủ.

  • grep_llms_txt: Tìm kiếm 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 rất lớn (thường hơn 300 KB) — hãy gọi hàm này thay vì đọc trực tiếp nội dung tài nguyên. Các tham số tương tự GNU grep (pattern, caseInsensitive, invertMatch, fixedString, beforeContext, afterContext, maxCount). Hữu ích để khám phá các endpoint (POST /releases), liệt kê các endpoint xóa (DELETE ), hoặc tìm loại nội dung cho một thao tác ghi (Body: Create.*Command).
  • execute: Công cụ dự phòng REST có cấu trúc. Truy cập bất kỳ endpoint REST Octopus nào 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ờ isWrite mà 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ủ:
    • GET luôn được phép (tuân theo kiểm tra định dạng đường dẫn + danh sách chặn nhạy cảm).
    • POST/PUT/PATCH bị chặn khi --read-only được đặt; nếu không, chúng yêu cầu xác nhận từ người dùng thông qua elicitation.
    • DELETE yêu cầu --allow-deletes (và bị chặn khi --read-only được đặt) cùng với thông báo elicitation "KHÔNG THỂ HOÀN TÁC" mạnh hơn.
    • Danh sách chặn nhạy cảm (các endpoint khóa API, DELETE /api/spaces/{id}, DELETE /api/users/{id}) được thực thi ngay cả khi cả hai cờ được bật.
    • Đường dẫn được yêu cầu phải là /api hoặc bắt đầu bằng /api/ — các URL tuyệt đối, đường dẫn ~/api/... tương đối SDK và đường dẫn tương đối máy chủ bên ngoài /api (ví dụ: /octopus/portal/...) bị từ chối ngay từ đầu, vì vậy execute vẫn giới hạn trong bề mặt API REST 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. Với mọi bộ công cụ được bật (mặc định hoặc --toolsets all tường minh), danh sách cho phép bị bỏ qua và mọi đường dẫn dưới /api đều có thể truy cập theo các cổng trên. Khi --toolsets bị thu hẹp, danh sách cho phép trở thành công tắc tiêu diệt: đường dẫn chỉ phân giải nếu bộ công cụ sở hữu được bật, vì vậy việc tắt 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 qua execute ngay cả trên GET.

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 endpoint 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 Server 2026.2.3916 trở lên. Bộ nhớ đệm 5 phút dựa trên URL máy chủ đã cấu hình. Ưu tiên grep_llms_txt hơ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ủ, các bộ công cụ được bật, các công cụ khả dụng (với minimumOctopusVersion của chúng) và liệu --read-only / --allow-deletes có được bật hay không. Hữu ích để agent 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ả cá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 lần 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 một bản phát hành mới cho một dự án
  • find_releases: Tìm các bản phát hành trong một không gian (có thể lấy một 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ải qua resources/read (hoặc công cụ dự phò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 một 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 một 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 trình 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ếu runbookSnapshotId bị 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ụ dự phòng read_resource) với một trong các tùy chọn:

  • 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 đủ (Progress, 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 một tác vụ mà không tải toàn bộ nội dung. Các tham số tương tự GNU grep (pattern, caseInsensitive, invertMatch, fixedString, beforeContext, afterContext, maxCount). Trả về các dòng khớp với lineNumber đánh số từ 1, mảng ngữ cảnh trước/sau tùy chọn và số đếm totalMatches trên toàn bộ nhật ký.

Cố ý không có tài nguyên /log: nhật ký hoạt động có thể lớn nhiều megabyte và một tài nguyên có địa chỉ sẽ khiến người gọi tải toàn bộ nội dung trong khi grep gần như luôn là nguyên thủy đúng.

Tenant

  • find_tenants: Tìm tenant trong một không gian (có thể lấy một 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 các biến tenant đang 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ột 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 một 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 một 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 các 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ờ. Trả về các bản tóm tắt gọn; giải tham chiếu tài nguyên octopus://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).

Công tắc tính năng

  • find_feature_toggles: Liệt kê các công tắc tính năng 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ới resourceUri để câu hỏi "X được bật ở đâu" có thể trả lời từ danh sách phản hồi.
  • update_feature_toggle: Điều chỉnh một công tắc 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 công tắc. Bên trong, nó tải công tắc 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, vì vậy các môi trường không được đề cập và các trường không được đề cập được giữ nguyên. Các bản vá tham chiếu một môi trường chưa được cấu hình trên công tắc sẽ bị từ chối.

Toàn bộ nội dung công tắc (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ể truy cập 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 công tắc tính năng mới, xóa công tắc, đổi tên hoặc gắn lại thẻ, đính/kèm 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 / mã đị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ành
  • get_variables: Lấy tất cả biến dự án và biến bộ biến thư viện cho một dự án (hỗ trợ dự án config-as-code qua gitRef)
  • get_branches: Lấy các nhánh Git cho một 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

Octopus MCP Server 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 nhật ký triển khai đầy đủ, 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 dữ liệu cấu hình và biến nhạy cảm
  • Thận trọng khi kết nối với các công cụ và mô hình mà 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 có sẵn:

  • 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 môi trường (bao gồm sản xuất)
  • Chạy runbook: Có thể thực thi runbook trên môi trường và tenant
  • Cập nhật công tắc tính năng: Có thể bật/tắ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ông tắc hiện có
  • POST/PUT/PATCH tùy ý qua công cụ dự phòng execute: Giới hạn trong các đường dẫn dưới /api, với danh sách chặn 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 đã được thu hẹp; với mọi bộ công cụ được bật (mặc định), các cổng đường dẫn duy nhất là ranh giới /api và danh sách chặn nhạy cảm.

Truyền --read-only để tắt tất cả các thao tác trên. Yêu cầu DELETE qua execute yêu cầu thêm cờ --allow-deletes — một lựa chọn có chủ đích cho các thao tác không thể hoàn tá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:

  1. Đặc quyền tối thiểu: Sử dụng khóa API với quyền tối thiểu cần thiết cho trường hợp sử dụng của bạn
  2. 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-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. DELETE luôn yêu cầu thêm lựa chọn --allow-deletes.
  3. 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 cho execute là bộ phân loại có thẩm quyền. Agent không thể vượt qua cổng bằng cách trình bày sai mục đích của lệnh gọi — các yêu cầu POST/PUT/PATCH/DELETE nhận kiểm soát theo cấp bậc bất kể nội dung trong phần thân yêu cầu.
  4. Lọc bộ công cụ đóng vai trò là công tắc tiêu diệt: Thu hẹp --toolsets loại bỏ cả công cụ được chọn của bộ công cụ bị tắt và đường dẫn của chúng khỏi danh sách cho phép execute. (Danh sách cho phép chỉ được tham chiếu khi bộ công cụ bị thu hẹp; với mọi bộ công cụ được bật, execute được giới hạn bởi kiểm tra định dạng /api và danh sách chặn nhạy cảm.)
  5. Rủi ro tiêm prompt: Chạy agent hoàn toàn tự động có thể khiến bạn dễ bị tấn công tiêm prompt

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ụ thể 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à 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 một công cụ làm đầu vào cho công cụ tiếp theo) và thay vào đó sao chép kết quả từng token, điều này thường dẫn đến ảo giác. Nếu bạn muốn 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 API trực tiếp 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

MCP Server 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 lần triển khai). Các 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 các 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 rất giỏi việc này ngay từ đầu).

🤝 Đóng góp

Contributions are welcome! :heart: Please read our Contributing Guide for information about how to get involved in this project.

We are eager to hear how you plan to use Octopus MCP Server and what features you would like to see included in future version.

Please use Issues to provide feedback, or request features.

If you are a current Octopus customer, please report any issues you experience using our MCP server to our support team. This will ensure you get a timely response within our standard support guarantees.

🙋 FAQ

Do you have plans to release a remote MCP server?

We are working on integrating an MCP server directly into Octopus Server. This will open up the door for us to build more complex MCP tools, as well as:

  • Giving Octopus Administrators more granular control over MCP clients
  • Natively support OAuth for client authentication
  • Integrating security scanning tools into the MCP output

If this is of interest to you, please register your interest on our roadmap item.

License

This project is licensed under the terms of Mozilla Public License 2.0 open source license.