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-2026 Gradion AI
theme:
name: material
logo: images/logo.png
font:
text: Inter
code: JetBrains Mono
palette:
scheme: slate
primary: custom
accent: custom
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 typed Python tool APIs 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. The API delegates MCP tool
execution to a separate environment that enforces tool call approval, requiring applications to accept
or reject each tool call.
ipybox is designed for agents that act by executing Python code rather than issuing JSON tool calls.
This code action approach enables tool composition and intermediate result processing in a single
inference pass, keeping intermediate results out of the agent's context window.
full_output: llms-full.txt
sections:
User Guide:
- index.md: Project overview and capabilities
- installation.md: Installation and setup instructions
- quickstart.md: Getting started guide
- architecture.md: Architecture overview
- 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
- 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
- Architecture: architecture.md
- API generation: apigen.md
- Code execution: codeexec.md
- Sandboxing: sandbox.md
- Agent Integration:
- ipybox MCP Server: mcpserver.md
- Claude Code plugin: ccplugin.md
- LLM readable:
- llms.txt: llms.txt
- llms-full.txt: llms-full.txt
- 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