代码执行MCP服务器
一个模型上下文协议(MCP)服务器,用于暴露(或提供访问) “Agent Zero's”翻译成中文是“零号特工的”或“零号代理的”。具体翻译可能根据上下文有所调整,但基本传达了原词的意思 经过实战检验的代码执行能力。
这个MCP服务器允许任何AI代理(如Claude、GPT-4等)通过Agent Zero的成熟实现,在主机系统上执行终端命令和Python代码。
特点/特性
- 执行终端命令以完整的会话持久性运行Shell命令
- 执行Python代码通过IPython运行Python代码并进行会话管理
- 多个会话/多次会议保持独立的执行上下文
- 智能输出处理自动提示检测、超时管理以及对话检测
- 跨平台在Linux、macOS和Windows上均可运行(Windows版为实验性)
安装
# Clone or download this package
cd code-execution-mcp
# Install dependencies
pip install -e .
# For Windows support
pip install -e ".[windows]"配置
MCP服务器可以通过环境变量进行配置:
# Shell executable (default: /bin/bash on Unix, cmd.exe on Windows)
export CODE_EXEC_EXECUTABLE=/bin/bash
# Init commands (semicolon-separated, run when creating new sessions)
export CODE_EXEC_INIT_COMMANDS="source /path/to/venv/bin/activate;export PATH=\$PATH:/custom/bin"
# Timeout configuration (in seconds)
export CODE_EXEC_FIRST_OUTPUT_TIMEOUT=30 # Wait for first output
export CODE_EXEC_BETWEEN_OUTPUT_TIMEOUT=15 # Wait between output chunks
export CODE_EXEC_DIALOG_TIMEOUT=5 # Detect dialog prompts
export CODE_EXEC_MAX_EXEC_TIMEOUT=180 # Maximum execution timeMCP 客户端配置
添加到你的Claude桌面配置中(~/Library/Application Support/Claude/claude_desktop_config.json (在 macOS 上):
{
"mcpServers": {
"code-execution": {
"command": "python",
"args": ["/Users/lazy/Projects/A0-code-tool-MCP/code-execution-mcp/main.py"],
"env": {
"CODE_EXEC_EXECUTABLE": "/bin/bash",
"CODE_EXEC_INIT_COMMANDS": "source /Users/lazy/Projects/A0-code-tool-MCP/code-execution-mcp/.venv/bin/activate"
}
}
}
}可用工具
执行终端
在指定的会话中执行终端命令。
参数:
command(字符串,必需): 要执行的shell命令session(整数,可选):会话编号(默认:0)
示例:
await execute_terminal(command="ls -la", session=0)执行Python(代码)
在指定的会话中通过IPython执行Python代码。
参数:
code(字符串,必需):要执行的Python代码session(整数,可选):会话编号(默认:0)
示例:
await execute_python(code="import sys; print(sys.version)", session=0)获取输出
从终端会话中获取累积输出。
参数:
session(整数,可选):会话编号(默认:0)
示例:
await get_output(session=0)重置终端
重置终端会话,即关闭并重新打开它。
参数:
session(整数,可选):会话编号(默认:0)reason(字符串,可选):重置的原因
示例:
await reset_terminal(session=0, reason="Environment corrupted")会话管理
会话允许维护独立的执行上下文:
- 会话0:用于通用命令的默认会话
- 会话1+:为隔离环境提供的额外会话
每次会议保持:
- Shell 状态(环境变量、工作目录)
- 命令历史
- 输出缓冲区
虚拟环境考量因素
重要提示: 当MCP服务器从虚拟环境中启动时,shell会话可能不会自动继承虚拟环境的激活状态。
解决方案: 使用初始化命令来显式激活您的虚拟环境:
{
"env": {
"CODE_EXEC_INIT_COMMANDS": "source /path/to/venv/bin/activate"
}
}平台支持
- Linux经过全面测试并提供支持
- macOS(发音为“Mac OS”,全称为“Macintosh Operating System”,即苹果电脑操作系统)经过全面测试并提供支持
- Windows通过pywinpty提供实验支持
- 安装方式: pip install -e ".[windows]" - 使用 cmd.exe 或者 powershell.exe 作为可执行文件 - 某些功能的行为可能会有所不同
建筑
这个MCP服务器是 最小包装/最简封装 围绕Agent Zero的代码执行工具:
- 保持Agent Zero经过实战检验的逻辑
- 不重写或重新实现
- 使用Agent Zero的辅助模块,保持不变:
- tty_session.py - TTY 会话管理 - shell_local.py - 本地Shell界面 - print_style.py - 输出样式和日志记录 - strings.py - 字符串处理工具
安全
警告: 此MCP服务器允许在主机系统上执行完整代码。安全性由MCP客户端负责。
仅在受信任的人工智能代理和受控环境中使用。
许可证
麻省理工学院许可证
这个项目封装并重用了来自 零号特工 (版权所有 (c) 2025 Agent Zero, s.r.o),本软件根据MIT许可证授权。
请参阅LICENSE文件以获取完整的许可文本和归属详情。
功劳/学分/报酬
基于Agent Zero已验证的代码执行实现构建。
这台MCP服务器保存并重用了Agent Zero经过实战检验的代码:
- 核心执行逻辑来自
code_execution_tool.py - 辅助模块:
tty_session.py,shell_local.py,print_style.py,strings.py - 所有系统消息提示
所有关于稳健代码执行实现的功劳都归功于 零号特工 团队。
用途 FastMCP 用于MCP协议处理。
