使用说明

项目简介

Tmux MCP Server 是一个基于 Model Context Protocol (MCP) 的概念验证服务器,旨在提供对 Tmux 会话的程序化控制。请注意,这是一个 PoC (概念验证) 项目,不应在生产环境中使用。 该服务器允许通过 MCP 协议从 LLM 客户端调用预定义的工具,从而在 Tmux 环境中执行命令。

主要功能点

  • 运行任意 Tmux 命令: 通过 'run_tmux_command' 工具,客户端可以向 Tmux 服务器发送命令并获取结果,实现对 Tmux 会话的各种操作。

安装步骤

由于该项目在 README.md 中直接提供了使用 'uvx' 安装的命令,我们可以推断其推荐的安装方式。假设您已经安装了 'uvx' 包管理器,请按照以下步骤安装 Tmux MCP Server:

  1. 使用 'uvx' 安装: 根据仓库 'README.md' 提供的配置,可以使用以下命令安装 Tmux MCP Server。这会从 GitHub 仓库下载并安装 'tmux-mcp'。

    uvx --from git+https://github.com/jonrad/tmux-mcp tmux-mcp

    (请注意:此命令需要在您的 MCP 客户端能够执行的上下文中运行,例如在客户端指定的命令执行环境中。 'uvx' 可能需要预先安装在客户端环境中。)

服务器配置

MCP 客户端需要配置连接到 Tmux MCP Server 的信息。以下是一个 JSON 格式的配置示例,您可以将其添加到您的 MCP 客户端配置文件中。

"mcpServers": {
    "tmux": {  // 服务器名称,客户端使用此名称引用该服务器
      "command": "uvx",  // 启动服务器的命令,这里使用 uvx
      "args": ["--from", "git+https://github.com/jonrad/tmux-mcp", "tmux-mcp"] // 启动参数,指定 uvx 从 git 仓库安装并运行 tmux-mcp
    }
}

配置参数说明:

  • '"tmux"': 这是您为该 MCP 服务器定义的名称,客户端将使用此名称来引用和调用此服务器提供的功能。您可以自定义此名称。
  • '"command": "uvx"': 指定用于启动 MCP 服务器的命令。根据 'README.md' 的示例,这里使用 'uvx' 作为启动命令。这意味着您的 MCP 客户端环境需要能够执行 'uvx' 命令。
  • '"args": ["--from", "git+https://github.com/jonrad/tmux-mcp", "tmux-mcp"]': 提供给 'uvx' 命令的参数。
    • '"--from", "git+https://github.com/jonrad/tmux-mcp"': 告诉 'uvx' 从指定的 Git 仓库安装包。
    • '"tmux-mcp"': 指定要安装和运行的包名称,这里是 'tmux-mcp'。

请注意: 这种配置方式依赖于 'uvx' 包管理器,并且假设您的 MCP 客户端环境已经安装了 'uvx' 或可以执行类似的命令来安装和运行 Python 包。实际部署时,您可能需要根据您的 MCP 客户端的具体能力和环境进行调整。更常见的部署方式可能是预先安装好 'tmux-mcp',然后直接使用 'python server.py' 启动服务器,并相应地修改客户端配置。 例如,如果直接运行 'python server.py',客户端配置可能简化为:

"mcpServers": {
    "tmux": {
      "command": "python",
      "args": ["server.py"]
    }
}

(假设 'server.py' 位于客户端可以访问的路径下)

基本使用方法

配置完成后,您的 MCP 客户端应该能够连接到 Tmux MCP Server。您可以使用客户端提供的接口调用服务器提供的工具。

可用工具:

  • 'run_tmux_command': 运行 Tmux 命令。

    • 参数:

      • 'command' (string): 要执行的 Tmux 命令,例如 '"new-session"', '"list-sessions"', '"send-keys"' 等。
      • 'args' (list of string): 命令的参数列表,例如 '["-d", "-n", "my-session"]' 用于创建名为 "my-session" 的新会话。
    • 示例 (假设使用 MCP 客户端的 Python SDK):

      response = client.call_tool(
          server_name="tmux",  # 使用配置中定义的服务器名称 "tmux"
          tool_name="run_tmux_command",
          tool_arguments={
              "command": "new-session",
              "args": ["-d", "-n", "my-session"]
          }
      )
      if response.success:
          print("Tmux command executed successfully!")
          print(response.result) # 打印命令执行结果
      else:
          print("Tmux command failed.")
          print(response.error)

      这个例子展示了如何通过 MCP 客户端调用 'run_tmux_command' 工具来创建一个新的 Tmux 会话 "my-session"。 您可以根据 Tmux 的命令语法和您的需求,调用不同的命令和参数来管理 Tmux 会话。

请务必查阅您的 MCP 客户端的文档,了解如何配置 MCP 服务器连接以及如何调用工具。

信息

分类

桌面与硬件