项目简介
Stakpak Agent 是一个专为运维和 DevOps 设计的安全增强型 AI Agent,其 MCP 服务器组件将 Agent 的核心功能以 Model Context Protocol (MCP) 标准化接口暴露给 LLM 客户端。该服务器支持多种工具模式(本地、远程、组合),提供端到端加密通信、动态密钥脱敏等安全特性,并能管理异步任务、执行文件操作、进行代码索引和文档搜索等。
主要功能点
- 工具托管与执行: 提供丰富的 DevOps 工具,包括文件操作(读取、创建、替换、删除)、命令执行(本地及远程 SSH)、密码生成、文档搜索、内存搜索以及子 Agent 任务委托等。
- 安全增强: 支持 mTLS (Mutual TLS) 端到端加密通信、动态密钥脱密(LLM 可操作密钥而无需知晓其真实值)、隐私模式(自动脱密 IP 地址、AWS 账户 ID 等敏感数据)。
- 异步任务管理: 能够启动和监控后台命令,如端口转发、服务器启动,并支持任务取消和实时进度流。
- 基础设施代码索引: 自动索引本地 Terraform、Kubernetes、Dockerfile 和 GitHub Actions 代码,支持语义搜索。
- 可逆文件操作: 所有文件修改自动备份,支持恢复。
- 会话管理与持久化: 服务器能够管理会话状态,并支持持久化知识,Agent 能从历史交互中学习。
安装步骤
- 通过 Homebrew (Linux & macOS):
在终端执行以下命令进行安装:
更新 Stakpak:brew tap stakpak/stakpak brew install stakpakbrew update brew upgrade stakpak - 二进制发布: 直接从项目的 GitHub Releases 页面下载适用于您操作系统的最新二进制文件。
- Docker:
使用 Docker 镜像运行 Stakpak Agent,该镜像包含了常用的 CLI 工具:
docker pull ghcr.io/stakpak/agent:latest
服务器配置 (供 MCP 客户端连接)
MCP 客户端需要配置 MCP 服务器的启动命令 (command) 及其参数 (args) 才能与 Stakpak Agent MCP 服务器建立连接。以下是 Stakpak Agent MCP 服务器在不同工具模式下的配置信息示例。这些配置通常以 JSON 格式提供给 MCP 客户端库使用。
-
本地模式 (Local Mode): 此模式下,MCP 服务器仅提供文件操作和本地命令执行工具,无需 API Key。默认启用 mTLS 端到端加密。
{ "name": "StakpakLocalMCP", "command": "stakpak", "args": ["mcp", "--tool-mode", "local"], "description": "连接到本地 Stakpak Agent MCP 服务器,仅启用本地文件和命令执行工具。默认启用 mTLS。", "requires_api_key": false, "enable_mtls": true } -
远程模式 (Remote Mode): 此模式下,MCP 服务器启用 AI 驱动的代码生成和搜索工具,需要有效的 Stakpak API Key。默认启用 mTLS。
{ "name": "StakpakRemoteMCP", "command": "stakpak", "args": ["mcp", "--tool-mode", "remote"], "description": "连接到 Stakpak Agent MCP 服务器,仅启用远程 AI 驱动的 DevOps 工具。需要配置 STAKPAK_API_KEY 环境变量。", "requires_api_key": true, "enable_mtls": true } -
组合模式 (Combined Mode - 默认): 此模式是默认设置,MCP 服务器启用所有本地和远程工具,需要有效的 Stakpak API Key。默认启用 mTLS。
{ "name": "StakpakCombinedMCP", "command": "stakpak", "args": ["mcp"], "description": "连接到 Stakpak Agent MCP 服务器,启用所有本地和远程工具。需要配置 STAKPAK_API_KEY 环境变量。默认启用 mTLS。", "requires_api_key": true, "enable_mtls": true } -
禁用 mTLS (不推荐用于生产环境): 如果出于特定原因需要禁用 mTLS,可以使用此配置。但请注意,这会降低通信安全性。
{ "name": "StakpakInsecureMCP", "command": "stakpak", "args": ["mcp", "--disable-mcp-mtls"], "description": "连接到 Stakpak Agent MCP 服务器,禁用 mTLS。不推荐用于生产环境。", "requires_api_key": true, "enable_mtls": false } -
API Key 配置: 如果 MCP 服务器以远程或组合模式运行,您需要提供一个 Stakpak API Key。
- 访问 stakpak.dev 网站,登录并创建您的 API Key。
- 在启动 Stakpak Agent 之前,设置 'STAKPAK_API_KEY' 环境变量:
export STAKPAK_API_KEY=<您的API密钥> - (可选)您也可以将 API Key 保存到配置文件中:
stakpak login --api-key $STAKPAK_API_KEY
基本使用方法
一旦 Stakpak Agent MCP 服务器通过上述 'command' 和 'args' 启动,兼容的 LLM 客户端(如基于 'modelcontextprotocol.io' 构建的客户端)即可通过 JSON-RPC 协议与其通信。客户端可以向服务器发送请求,调用其注册的工具(例如 'run_command'、'view'、'search_docs' 等),访问托管的资源,或者利用服务器定义的 Prompt 模板来定制与 LLM 的交互模式。服务器将接收这些请求并返回相应的 JSON-RPC 响应,或发送实时进度通知。
信息
分类
开发者工具