Pexpect Mcp

Pexpect Mcp

🚀 pexpect-mcp

pexpect-mcp 是一个 MCP(模型上下文协议)服务器,它为调试和进程交互提供远程 pexpect 会话控制。借助该服务器,能够实现对程序的交互式调试和进程交互操作。

🚀 快速开始

pexpect-mcp 服务器允许AI助手利用 pexpect 功能执行Python代码,可与LLDB、GDB等工具进行交互式调试会话,适用于需要程序化交互的命令行工具。从某种意义上说,它更像是一个维护有状态Python会话的服务器。

✨ 主要特性

  • 提供远程 pexpect 会话控制,支持AI助手执行带 pexpect 功能的Python代码。
  • 可与LLDB、GDB等工具进行交互式调试会话,满足多种调试需求。

📦 安装指南

使用以下命令进行安装:

uv tool install git+https://github.com/mitsuhiko/pexpect-mcp

💻 使用示例

作为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来:
- 在调试器下启动程序
- 确定程序崩溃的位置和原因
- 检查变量、内存和调用栈
- 报告崩溃的根本原因

🔧 技术细节

环境要求

  • Python ≥ 3.12.1
  • pexpect ≥ 4.9.0
  • mcp ≥ 1.13.0

📄 许可证

有关许可证的详细信息,请参阅 LICENSE 文件。

  • 0 关注
  • 0 收藏,23 浏览
  • system 提出于 2025-10-02 06:45

相似服务问题

相关AI产品