Token导航 LogoToken导航TokenDH.com
t-pane MCP Server logo
运维云端未说明官方级别未说明来源级核验

t-pane MCP Server

MCP Server

一个基于tmux的MCP服务器,使Claude能够在tmux窗格中执行命令,实现Claude与用户之间的共享终端体验。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
JavaScriptClaude命令执行Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

cni-locates-rumen

提供方

cni-locates-rumen

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

t-pane MCP服务器

MCP(模型上下文协议)服务器,使Claude能够在tmux窗格中执行命令,在Claude和用户之间提供共享的终端体验。

特性

  • 目录感知窗格管理:为每个目录/项目创建单独的窗格
  • 命令执行:使用捕获的输出在tmux窗格中运行命令
  • 智能输出捕获:使用唯一标记来精确捕获命令输出,而不管缓冲区大小如何
  • 多会话支持:每个Claude实例都会根据工作目录获得自己的窗格
  • 会话保持:命令在tmux中保持可见,以便用户交互
  • 交互式提示检测:自动检测命令何时需要用户输入(密码、确认等)
  • 目录特定日志记录:命令记录到 .t-pane/logs/ 在当前目录中
  • 后台任务:在后台窗格中启动Claude实例以执行研究/分析任务

安装

cd /Users/rumen.d/github/mcp-servers/t-pane
npm install
npm run build

配置

添加到您的Claude配置文件(~/Library/Application Support/Claude/config.json):

{
  "mcpServers": {
    "t-pane": {
      "command": "node",
      "args": ["/Users/rumen.d/github/mcp-servers/t-pane/dist/index.js"]
    }
  }
}

用法

配置后,Claude可以使用以下工具:

1.执行命令

在tmux窗格中执行命令并捕获输出。

execute_command({
  command: "ls -la",
  pane: "claude-terminal",  // optional, defaults to "claude-terminal"
  captureOutput: true       // optional, defaults to true
})

2.创建窗格

使用特定名称创建新的tmux窗格。

create_pane({
  name: "my-pane",         // optional, defaults to "claude-terminal"
  split: "horizontal"      // optional: "horizontal" or "vertical"
})

3.捕获输出

从tmux窗格捕获最近的输出。

capture_output({
  pane: "claude-terminal",  // optional
  lines: 100               // optional, number of lines to capture
})

4.小组成员名单

列出所有可用的tmux窗格。

list_panes()

5.发送密钥

将文本发送到tmux窗格而不执行它(对于预填充命令很有用)。

send_keys({
  text: "git push origin main",
  pane: "claude-terminal",  // optional, defaults to directory-specific pane
  enter: false             // optional, set to true to also send Enter
})

6.启动后台任务

创建一个背景窗格,用于运行具有特定研究/分析任务的Claude。

launch_background_task({
  task: "Research TypeScript 5.x features and create a summary",
  outputFile: "typescript-features.md",  // saved to .t-pane/tasks/
  timeout: 300000                       // optional, default 5 minutes
})

7.检查后台任务

检查所有后台任务的状态。

check_background_tasks()

运作原理

  1. 命令执行:当Claude执行命令时,它会用唯一的标记进行包装:
   echo '===CMD_${commandId}_START==='; ; echo '===CMD_${commandId}_END==='
  1. 输出捕获:服务器:

- 在tmux缓冲区中查找START标记 - 计算从末尾开始要捕获的行数 - 仅提取标记之间的输出 - 将干净的输出返回给Claude

  1. 交互式提示检测:当命令需要用户输入时:

- 检测常见的提示模式(密码、用户名、是/否等) - 返回一个特殊响应,提醒Claude需要用户交互 - Claude将通知您切换到tmux窗格并提供输入

  1. 命令记录:所有命令和输出都记录到:

- 主要位置: .t-pane/logs/ 在当前工作目录中 - 回退位置: ~/.t-pane/logs/{directory-hash}/ 如果本地目录不可写 - 格式:JSON行(每行一个JSON对象) - 包括:时间戳、命令、输出(如果>2KB则截断)、退出代码、持续时间、目录 - 禁用: export T_PANE_DISABLE_LOGGING=true

  1. 效率:这种方法通过以下方式有效地处理任何输出大小(甚至100k+行)的命令:

- 使用唯一ID避免冲突 - 从缓冲区末端捕获 - 仅提取相关部分

示例会话

当Claude使用此服务器时,您将看到:

  • 具有目录特定命名的新tmux窗格(例如。, claude-t-pane 对于t-pane目录)
  • 每个目录都有自己的专用窗格
  • 在不同目录中工作的多个Claude实例不会干扰
  • Claude执行的所有命令都显示在相应的窗格中
  • 您可以与同一终端进行交互
  • 命令历史记录按目录保留

发展

# Watch mode for development
npm run watch

# Build for production
npm run build

需求

  • tmux已安装并在PATH中可用
  • 必须在tmux会话中运行才能获得完整功能
  • Node.js 18+

故障排除

  1. “未安装tmux”:使用包管理器安装tmux
  2. “不在tmux会话中运行”:首先使用以下命令启动tmux tmux new-session
  3. 命令未出现:检查窗格名称是否与Claude正在使用的名称匹配

目录感知会话

t-pane服务器为每个目录创建单独的tmux窗格:

  • 窗格名称基于最后2个目录组件(例如。, claude-mcp-servers-t-pane)
  • 在不同目录中工作的每个Claude实例都有自己的窗格
  • 日志存储在每个项目目录的本地
  • 多个Claude实例可以同时工作而不受干扰

互动提示

当命令需要用户输入时(如 git push 请求凭据),服务器将:

  1. 检测交互提示
  2. 在tmux窗格中预填充命令(不按Enter键)
  3. 向Claude返回一条消息,表示需要用户交互
  4. 你会看到这样的消息:“⚠️ tmux窗格中需要用户交互”
  5. 切换到tmux窗格,其中命令已预先填充并准备好供您查看/执行

命令记录

默认情况下,所有命令都会记录到 .t-pane/logs/ 在当前目录中:

{"timestamp":"2024-06-27T10:30:00Z","command":"git status","output":"...","exitCode":0,"duration":150,"directory":"/path/to/project"}

要禁用日志记录,请执行以下操作:

export T_PANE_DISABLE_LOGGING=true

背景任务(实验)

t-pane服务器可以在后台窗格中启动Claude实例进行研究或分析:

  1. 启动任务:创建一个包含任务说明的新窗格
  2. 手动执行:切换到窗格并运行 claude 启动任务
  3. 输出位置:结果保存到 .t-pane/tasks/
  4. 状态跟踪:使用 check_background_tasks() 监控进度

此功能是实验性的,需要在创建的窗格中手动调用Claude。

未来的增强功能

  • \[x\] 交互式提示检测
  • \[x\] 命令记录
  • \[x\] 后台任务执行(实验)
  • \[\]后台任务的自动Claude调用
  • \[\]支持多个并发命令
  • \[\]长时间运行的命令的进度指示器
  • \[\]与集成 /resume 用于会话连续性

8.读取文件

使用tmux窗格中的cat/head命令读取文件内容。

9.编辑文件

在tmux窗格中使用sed编辑文件(用户可见)。

目录标签

目录标签

JavaScriptClaude命令执行终端共享本地部署tmux集成目录感知后台任务

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明sessionlocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP