Back to MCP directory
publicPublicdnsLocal runtime

ipybox

ipybox是一个基于IPython和Docker的轻量级Python代码执行沙箱,支持安全地在本地或远程环境中运行代码,适用于AI代理的数据分析和代码执行场景。

article

README

🚀 ipybox

ipybox 是一个轻量级且安全的 Python 代码执行沙箱,它基于 IPythonDocker 构建。你可以在本地计算机上运行它,也可以在你选择的远程环境中运行。ipybox 专为需要安全执行代码的 AI 智能体而设计,例如用于数据分析用例,或者像在 freeact 智能体中执行代码操作。

🚀 快速开始

安装 ipybox Python 包

pip install ipybox

ipybox 容器中执行代码

import asyncio
from ipybox import ExecutionClient, ExecutionContainer

async def main():
    async with ExecutionContainer(tag="ghcr.io/gradion-ai/ipybox") as container:
        async with ExecutionClient(port=container.executor_port) as client:
            result = await client.execute("print('Hello, world!')")
            print(f"Output: {result.text}")

if __name__ == "__main__":
    asyncio.run(main())

✨ 主要特性

  • 在 Docker 容器内安全地执行代码
  • 通过可配置的防火墙 限制网络访问
  • 使用 IPython 内核进行有状态的代码执行
  • 实时流式输出代码执行结果
  • 在构建时或运行时安装 Python 包
  • 返回使用可视化库生成的绘图
  • 提供 MCP 服务器 接口,便于与 AI 智能体集成
  • 通过生成的客户端代码 调用 MCP 服务器
  • 支持灵活的部署选项,包括本地或远程部署
  • 提供 asyncio API 来管理执行环境

📚 详细文档

📦 MCP 服务器

ipybox 可以作为 MCP 服务器 进行安装。

{
  "mcpServers": {
    "ipybox": {
      "command": "uvx",
      "args": ["ipybox", "mcp"]
    }
  }
}

💻 使用示例

基础用法

import asyncio
from ipybox import ExecutionClient, ExecutionContainer

async def main():
    async with ExecutionContainer(tag="ghcr.io/gradion-ai/ipybox") as container:
        async with ExecutionClient(port=container.executor_port) as client:
            result = await client.execute("print('Hello, world!')")
            print(f"Output: {result.text}")

if __name__ == "__main__":
    asyncio.run(main())

高级用法

# 这里可以添加高级场景的说明,由于原文档未提供,暂不补充
import asyncio
from ipybox import ExecutionClient, ExecutionContainer

# 可以在这里编写高级用法的代码示例
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client