返回市场
IPy盒子

IPy盒子

作者:gradion-ai44 星标更新:2025-11-18

项目介绍

ipybox

mcp-name: io.github.gradion-ai/ipybox

<p align="left"> <a href="https://gradion-ai.github.io/ipybox/"><img alt="网站" src="https://img.shields.io/website?url=https%3A%2F%2Fgradion-ai.github.io%2Fipybox%2F&up_message=在线&down_message=离线&label=文档"></a> <a href="https://pypi.org/project/ipybox/"><img alt="PyPI - 版本" src="https://img.shields.io/pypi/v/ipybox?color=blue"></a> <a href="https://github.com/gradion-ai/ipybox/releases"><img alt="GitHub 发布" src="https://img.shields.io/github/v/release/gradion-ai/ipybox"></a> <a href="https://github.com/gradion-ai/ipybox/actions"><img alt="GitHub Actions 工作流状态" src="https://img.shields.io/github/actions/workflow/status/gradion-ai/ipybox/test.yml"></a> <a href="https://github.com/gradion-ai/ipybox/blob/main/LICENSE"><img alt="GitHub 许可证" src="https://img.shields.io/github/license/gradion-ai/ipybox?color=blueviolet"></a> <a href="https://pypi.org/project/ipybox/"><img alt="PyPI - Python 版本" src="https://img.shields.io/pypi/pyversions/ipybox"></a> </p>

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

<a href="https://glama.ai/mcp/servers/@gradion-ai/ipybox"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=1663689825,1043712569&fm=3081&app=3081&f=PNG?w=760&h=400" alt="ipybox MCP 服务器" /> </a> <p align="center"> <img src="docs/img/logo.png" alt="logo"> </p>

功能

  • 在Docker容器内安全地执行代码
  • 使用可配置的防火墙限制网络访问
  • 使用IPython内核进行有状态的代码执行
  • 在生成时流式传输代码执行输出
  • 在构建时或运行时安装Python包
  • 返回由可视化库生成的图表
  • 暴露一个MCP服务器接口以集成AI代理
  • 通过生成的客户端代码调用MCP服务器
  • 灵活的部署选项,本地或远程
  • 使用asyncio API管理执行环境

文档

MCP服务器

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

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

Python示例

安装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"输出: {result.text}")

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