mcpField
M
mcpterm

mcpterm

本地服务
github.com/dwrtz开发工具1590 周前更新

关于 mcpterm

mcpterm 是面向 Claude Desktop 等客户端的概念验证 MCP 服务,提供有状态的终端会话,支持命令执行和与 TUI 程序交互。

主要功能

  1. 01有状态地执行命令
  2. 02与 TUI 交互并发送按键
  3. 03返回终端屏幕输出

适用场景

  1. 01在保留目录状态的会话中连续执行命令
  2. 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。