关于 mcpterm
mcpterm 是面向 Claude Desktop 等客户端的概念验证 MCP 服务,提供有状态的终端会话,支持命令执行和与 TUI 程序交互。
主要功能
- 01有状态地执行命令
- 02与 TUI 交互并发送按键
- 03返回终端屏幕输出
适用场景
- 01在保留目录状态的会话中连续执行命令
- 02操作 vim 或 Python REPL
MCP 相关
向 MCP 客户端提供两个终端工具:`run` 用于有状态地执行命令,`runScreen` 用于执行命令或按键并返回屏幕输出。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcpterm
一个提供有状态、兼容 TUI 的终端会话的 MCP 工具服务。
这是一个使用 mcp-go 的概念验证。
与 Claude Desktop 配合使用效果很好。
用法
克隆此仓库并运行 make 以生成 bin/mcpterm。
git clone https://github.com/dwrtz/mcpterm.git
cd mcpterm
make
将 mcpterm 二进制文件移动到 PATH 中的某个目录。
sudo mv bin/mcpterm /usr/local/bin/mcpterm
添加到 Claude Desktop
编辑 claude_desktop_config.json(在 Mac 上,该文件位于 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"mcpterm": {
"command": "mcpterm",
"args": []
}
}
}
重启 Claude Desktop。现在 Claude 应该能看到 mcpterm 提供的 2 个工具。
工具
run:在有状态的终端会话中运行命令。例如,如果你切换到某个目录,后续命令也会在该目录中运行。
runScreen:运行命令或一系列按键操作,并返回屏幕输出。适用于 vim 或 Python REPL 等 TUI 应用。
提示:
你可能需要告诉 Claude 在 runScreen 工具中使用以下控制序列:
"^X": "\x18", // Ctrl+X
"^O": "\x0F", // Ctrl+O
"^J": "\x0A", // Enter
"^C": "\x03", // Ctrl+C
"^D": "\x04", // Ctrl+D
"^Z": "\x1A", // Ctrl+Z
"^[": "\x1B", // Escape
"^H": "\x08", // Backspace
"^M": "\x0D", // Carriage return
"^L": "\x0C", // Form feed
"^G": "\x07", // Bell
"^U": "\x15", // Clear line
"^W": "\x17", // Delete word
"^Y": "\x19", // Paste from kill buffer
"^V": "\x16", // Literal input
"^K": "\x0B", // Kill line
"^E": "\x05", // End of line
"^A": "\x01", // Beginning of line
"^I": "\x09", // Tab
虽然并不完美,但效果相当不错。Claude 能够使用 vim 编写 Dockerfile,然后在交互式会话中运行容器,接着在容器中运行命令,例如 Python REPL。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。