项目简介

这是一个基于 Model Context Protocol (MCP) 的服务器实现,专注于为大型语言模型 (LLM) 客户端提供执行 Linux 系统管理任务的能力。它通过封装标准的 Linux 命令行工具,如 'zypper' 和 'systemctl',将这些功能以标准化的 MCP 工具形式暴露给 LLM。

主要功能点

该服务器通过 MCP 协议提供以下主要功能:

  • 软件包管理 (基于 zypper): 允许 LLM 执行软件包搜索、安装、卸载、更新、列出可用软件包/补丁/模式等操作。
  • 系统服务控制 (基于 systemctl): 允许 LLM 执行列出单元/任务、查看服务状态、启动/停止/重启/重载服务、启用/禁用服务文件等操作。
  • 执行系统命令: 通过 MCP 工具调用,在服务器所在的 Linux 系统上执行实际的命令行操作,并将结果返回给 LLM。

安装步骤

要安装并运行此 MCP 服务器,您需要具备 Go 语言环境。

  1. 克隆仓库:
    git clone https://github.com/mge1512/mcp-server-admintasks.git
    cd mcp-server-admintasks
  2. 构建可执行文件:
    go build .
    这将在当前目录下生成一个名为 'mcp-server-admintasks' 的可执行文件。

服务器配置

MCP 客户端需要知道如何启动并连接到此服务器。此服务器通过标准输入/输出 (Stdio) 传输协议进行通信。

您的 MCP 客户端通常需要一个 JSON 格式的配置,指定服务器的名称、启动命令和参数。对于此服务器,配置信息应类似于:

{
  "server name": "mcp_server_admintasks",
  "command": "/path/to/your/mcp-server-admintasks",
  "args": []
}
  • '"server name"': 服务器在 MCP 网络中的唯一标识符,此处固定为 '"mcp_server_admintasks"'。
  • '"command"': 服务器可执行文件的完整路径。请将其替换为您实际构建或安装的可执行文件的路径(例如:'/home/user/mcp-server-admintasks/mcp-server-admintasks' 或 '/usr/local/bin/mcp-server-admintasks')。
  • '"args"': 启动服务器时传递的命令行参数列表。此服务器目前不需要任何启动参数,因此此处为空列表 '[]'。

请将此配置信息添加到您的 MCP 客户端的服务器配置文件中。

基本使用方法

  1. 启动服务器: 通常由您的 MCP 客户端根据上述配置自动启动。如果您需要手动测试,可以在终端运行构建好的可执行文件:
    ./mcp-server-admintasks
    服务器启动后会监听标准输入,并通过标准输出进行通信。
  2. 通过 MCP 客户端交互: 连接到此服务器的 MCP 客户端将发现它提供的工具(例如 'systemctl_list-units', 'zypper_search')。
  3. 调用工具: 使用您的 MCP 客户端界面选择并调用这些工具,并根据需要提供参数(例如,调用 'zypper_search' 工具并提供一个包名作为参数)。
  4. 获取结果: 服务器将执行相应的 Linux 命令并将命令输出(通常是 JSON 或文本格式,取决于命令和实现)返回给客户端。

信息

分类

桌面与硬件