proc repl mcp
MCP(模型上下文协议)的有状态子过程会话。
中文文档: README.zh.md
此服务器有意设计得较小:它使子流程在整个工具中保持活动状态 调用,以便您可以与REPL工具(python、r2/rizin、shell)进行交互 可选择通过tmux后端驱动全屏TUI程序(vim/htop)。
安全
此MCP服务器是本地RCE功能。默认情况下,除非 您设置:
PROC_MCP_ALLOW:逗号分隔的命令列表(例如。python3,r2,sh)
默认情况下,客户端的环境覆盖受到限制(块 PATH, LD_*, DYLD_*等等)。看 PROC_MCP_ENV_ALLOW / PROC_MCP_ENV_DENY 在 proc_repl_mcp.py.
工具
open_session,list_sessions,send,read,run,close_sessiontmux_open_session,tmux_list_sessions,tmux_send_keys,tmux_step,
tmux_capture_pane, tmux_resize, tmux_close_session
光标MCP配置(uvx,无需手动安装)
如果你有 uv 安装后,您可以在不预安装软件包的情况下运行此程序:
{
"mcpServers": {
"proc-repl-mcp": {
"command": "uvx",
"args": ["-q", "-U", "proc-repl-mcp"],
"env": {
"PROC_MCP_ALLOW": "*"
}
}
}
}笔记:
- 对于r2/利嗪,使用
-0/-q0和run(until_nul=true)为了获得可靠的信息
边界。
- 对于TUI,首选tmux工具:
tmux_open_session然后tmux_step到
在一次往返中发送密钥并捕获输出。
tmux_send_keys现在将每个密钥作为自己的tmux操作发送,并保留一个
前短间隙 Enter.调整一下 PROC_MCP_TMUX_KEY_DELAY_MS 如果TUI 需要较慢的提交时间。
PROC_MCP_ALLOW="*"启用所有功能(本地RCE)。更喜欢严格的对抗主义者
在实际设置中。
如果 uvx 无法连接到网络中的PyPI,请设置镜像索引。你可以 或者通过args传递它:
{
"mcpServers": {
"proc-repl-mcp": {
"command": "uvx",
"args": [
"-q",
"-U",
"--default-index",
"https://pypi.tuna.tsinghua.edu.cn/simple",
"proc-repl-mcp"
],
"env": {
"PROC_MCP_ALLOW": "*"
}
}
}
}或者通过env进行设置(推荐):
{
"mcpServers": {
"proc-repl-mcp": {
"command": "uvx",
"args": ["-q", "-U", "proc-repl-mcp"],
"env": {
"PROC_MCP_ALLOW": "*",
"UV_DEFAULT_INDEX": "https://pypi.tuna.tsinghua.edu.cn/simple"
}
}
}
}如果你还没有发布到PyPI,你可以直接从GitHub运行(pin到 标签或提交):
{
"mcpServers": {
"proc-repl-mcp": {
"command": "uvx",
"args": [
"-q",
"-U",
"--from",
"git+https://github.com/SammySnake-d/proc-repl-mcp.git@main",
"proc-repl-mcp"
],
"env": {
"PROC_MCP_ALLOW": "*"
}
}
}
}安装(pip)
python3 -m pip install proc-repl-mcp
proc-repl-mcp或者在不安装的情况下运行(uvx):
uvx proc-repl-mcp开发
在本地运行烟雾测试:
python3 test_smoke.py
python3 test_full_smoke.py