site_name: ipybox
site_description: ipybox
site_url: https://gradion-ai.github.io/ipybox/
repo_name: gradion-ai/ipybox
repo_url: https://github.com/gradion-ai/ipybox
copyright: Copyright © 2025 Gradion AI
theme:
name: material
font:
text: Fira
code: Fira Code
palette:
- media: "(prefers-color-scheme)"
scheme: default
primary: indigo
accent: indigo
toggle:
icon: material/link
name: Switch to light mode
- media: "(prefers-color-scheme: light)"
scheme: default
primary: indigo
accent: indigo
toggle:
icon: material/toggle-switch
name: Switch to dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
primary: black
accent: indigo
toggle:
icon: material/toggle-switch-off
name: Switch to system preference
features:
- navigation.tabs
- navigation.sections
- navigation.instant
- navigation.instant.prefetch
- navigation.instant.preview
- navigation.instant.progress
- navigation.top
- navigation.tracking
- search.suggest
- toc.follow
- content.code.copy
- content.code.select
- content.code.annotate
plugins:
- search
- llmstxt:
markdown_description: |
ipybox is a Python code execution sandbox with first-class support for programmatic MCP tool calling.
It generates a typed Python tool API from MCP server tool schemas, supporting both local stdio and
remote HTTP servers. Code that calls the generated API executes in a sandboxed IPython kernel,
providing a stateful environment where variables and definitions persist across executions. The
generated API delegates MCP tool execution to a separate environment that enforces tool call
approval, requiring applications to explicitly accept or reject each tool call before it executes.
ipybox is designed for agents that interact with their environment through code actions rather
than JSON tool calls, a more reliable approach since LLMs are heavily pretrained on Python code.
full_output: llms-full.txt
sections:
User Guide:
- index.md: Project overview and features
- installation.md: Installation and setup instructions
- quickstart.md: Getting started guide
- apigen.md: Generating typed Python API from MCP server schemas
- codeexec.md: Stateful code execution in IPython kernels
- sandbox.md: Lightweight sandboxing with Anthropic's sandbox-runtime
- mcpserver.md: Using ipybox as an MCP server
- ccplugin.md: a plugin for programmatic tool calling in Claude Code
API Reference:
- api/code_executor.md: CodeExecutor high-level API
- api/tool_executor.md: ToolRunner and ToolServer low-level API
- api/kernel_manager.md: KernelGateway and KernelClient low-level API
- mkdocstrings:
default_handler: python
handlers:
python:
paths: [ipybox]
options:
show_root_heading: true
show_source: false
show_signature_annotations: true
signature_crossrefs: true
separate_signature: true
merge_init_into_class: true
extensions:
- griffe_pydantic
inventories:
- url: https://docs.python.org/3/objects.inv
domains: [py, std]
- redirects:
redirect_maps:
'mcp-client.md': 'apigen.md'
'mcp-server.md': 'mcpserver.md'
'docker.md': 'mcpserver.md#docker'
markdown_extensions:
- footnotes
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
pygments_lang_class: true
- pymdownx.inlinehilite
- pymdownx.snippets:
dedent_subsections: true
- pymdownx.superfences
- pymdownx.details
- attr_list
- md_in_html
- admonition
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
extra_css:
- stylesheets/extra.css
nav:
- User Guide:
- Overview: index.md
- Installation: installation.md
- Quickstart: quickstart.md
- API generation: apigen.md
- Code execution: codeexec.md
- Sandboxing: sandbox.md
- Agent Integration:
- ipybox MCP Server: mcpserver.md
- Claude Code plugin: ccplugin.md
- API Reference:
- High-level API:
- Code Executor: api/code_executor.md
- Low-level API:
- Tool Executor: api/tool_executor.md
- Kernel Manager: api/kernel_manager.md