这是一个MCP(Model Context Protocol)服务器实现,它作为Stakpak CLI的一部分,可以由Stakpak代理或其他支持MCP的LLM客户端调用,以执行本地操作或与Stakpak平台交互。

项目简介

Stakpak MCP 服务器是 Stakpak CLI 工具内置的一个组件。它实现了 Model Context Protocol (MCP),允许连接的客户端(如 Stakpak Agent 或其他 LLM 应用)以标准化的方式访问服务器端提供的功能。这些功能主要表现为可调用的“工具”(Tools)。

主要功能点

该MCP服务器通过其暴露的工具提供以下能力:

  • 执行系统命令: 允许LLM代理在服务器运行的本地环境中执行任意 shell 命令,实现自动化运维任务。
  • 文件操作: 支持读取、创建、修改(字符串替换、按行插入)、删除文件。
  • 目录列表: 可以列出指定目录下的文件和子目录。
  • 智能代码搜索: 能够通过自然语言查询索引在Stakpak平台上的代码块。
  • 代码生成与转译: 利用Stakpak平台的代码智能能力,根据提示生成或转译基础设施即代码(如Terraform, Kubernetes, Dockerfile等)。

安装步骤

该MCP服务器作为Stakpak CLI的一部分发布。安装Stakpak CLI即可同时获得MCP服务器组件。

推荐使用 Homebrew 安装 (适用于 Linux 和 macOS):

  1. 添加Stakpak的 Homebrew 源:
    brew tap stakpak/stakpak
  2. 安装Stakpak CLI:
    brew install stakpak

其他安装方式(如二进制下载、Docker镜像)请参考Stakpak官方文档。

服务器配置

此MCP服务器被设计为由兼容的MCP客户端启动和连接。MCP客户端通常需要以下信息来配置此服务器:

  • Server Name (服务器名称): 例如 "stakpak-local-mcp"
  • Command (启动命令): 启动Stakpak CLI主程序的命令路径,例如在安装后通常就是 "stakpak"。
  • Args (启动参数): 启动MCP服务器模式所需的参数。根据本项目代码,该参数为 '["mcp"]'。
  • Transport (传输协议): 该服务器使用基于HTTP的传输协议,通常配置为 "http"。
  • URI (连接地址): 服务器默认监听的地址和路径,通常是 "http://localhost:65535/mcp"。

一个典型的MCP客户端配置片段可能如下所示(具体格式取决于客户端):

{
  "name": "stakpak-local-mcp",
  "transport": "http",
  "uri": "http://localhost:65535/mcp",
  "command": ["stakpak", "mcp"],
  "description": "Stakpak CLI内置的本地MCP服务器"
}

用户无需手动运行复杂的启动命令或管理端口,这些都由兼容的MCP客户端负责配置、启动和连接。

基本使用方法

用户通常不会直接与此MCP服务器交互。它是作为Stakpak Agent或其他MCP客户端的后端存在。要使用这些工具,用户需要运行Stakpak CLI的Agent命令(例如 'stakpak' 启动交互模式,或 'stakpak agent run' 启动非交互模式),然后通过与LLM代理交互来间接调用这些工具。

例如,在交互模式下,当LLM代理决定需要运行一个本地命令时,它会通过MCP协议向此服务器发送一个 'tools/call' 请求来调用 'run_command' 工具,服务器执行命令并将结果返回给代理。

# 示例:启动Stakpak Agent的交互模式,该模式会连接本地MCP服务器
stakpak

或者通过 'stakpak mcp' 命令直接启动服务器进程(通常由客户端负责启动):

# 示例:直接启动MCP服务器(通常无需用户手动执行)
stakpak mcp

关键词

命令执行, 文件管理, 代码智能, DevOps自动化, 本地工具

信息

分类

开发者工具