pexpect-mcp 是一个 MCP(模型上下文协议)服务器,它为调试和进程交互提供远程 pexpect 会话控制。借助该服务器,能够实现对程序的交互式调试和进程交互操作。
pexpect-mcp 服务器允许AI助手利用 pexpect 功能执行Python代码,可与LLDB、GDB等工具进行交互式调试会话,适用于需要程序化交互的命令行工具。从某种意义上说,它更像是一个维护有状态Python会话的服务器。
pexpect 会话控制,支持AI助手执行带 pexpect 功能的Python代码。使用以下命令进行安装:
uv tool install git+https://github.com/mitsuhiko/pexpect-mcp
将以下配置添加到你的Claude Code配置文件中:
{
"mcpServers": {
"pexpect": {
"command": "pexpect-mcp"
}
}
}
服务器提供了一个工具:pexpect_tool
参数说明:
code(字符串):需要使用 pexpect 支持执行的Python代码。timeout(可选整数):超时时间(秒),默认值为30。基础用法
# 启动调试会话
child = pexpect.spawn('lldb ./my-program')
child.expect('(lldb)')
# 运行程序
child.sendline('run')
child.expect('(lldb)')
print(child.before.decode())
# 获取回溯信息
child.sendline('bt')
child.expect('(lldb)')
print(child.before.decode())
仓库中包含一个使用有问题的C程序(demo-buggy.c)的演示,可通过 pexpect 接口使用LLDB进行调试。这展示了服务器进行交互式调试会话的能力。
程序 `./demo-buggy` 在执行时会崩溃。使用LLDB来:
- 在调试器下启动程序
- 确定程序崩溃的位置和原因
- 检查变量、内存和调用栈
- 报告崩溃的根本原因
有关许可证的详细信息,请参阅 LICENSE 文件。