MCP Console
An interactive, sandboxed workspace for AI agents working with data in R, Python, and SQL.
Load data once, explore questions, refine plots, read help, and debug code with objects and models still in memory.
Console provides a persistent session—a REPL—through one MCP tool, send.
The agent can run code, inspect the result, and continue from the same live state.
Code runs in an OS-level sandbox by default, with configurable limits on filesystem writes and direct network access. By default, Console prepares environments and packages automatically; no Console configuration file is required.
The agent can use R, Python, or SQL, or combine them in one session. The runtimes are embedded in one process, so data can move between languages without intermediate files. Console works with MCP-compatible clients such as Codex and Claude Code and does not depend on a particular model provider.
Development preview: interfaces may change. macOS and Linux are supported; Windows x64 support is experimental.
Quickstart
Install uv, then install Console from PyPI:
uv tool install mcp-console
PyPI provides wheels for macOS and Linux on ARM64 and x86-64, plus experimental Windows x64 support. Linux wheels require glibc 2.35 or later and the runtime libraries listed in Get started. That guide also covers optional R installation and building from source.
Configure your MCP client to launch mcp-console serve over stdio, following the client setup examples.
Run the client and Console on the same host, with the client's shell and filesystem tools using the same workspace.
By default, Console prepares R packages, Python packages, and DuckDB extensions for the session. The agent can request additional R packages, Python packages, and DuckDB extensions as it works. See Requirements and environments for details.
Ask your agent:
Use Console to generate a small dataset, fit a model, and plot the result. Keep the data and model for follow-up.
Where Console fits
- Unattended analysis: run long analyses with limits on where the agent can write files and connect to the network.
- Model evaluations: evaluate how an agent explores data, checks its work, and responds to results.
- Conversational analysis: discuss questions and results while the agent runs the analysis in its own session.
- Large datasets: keep data and intermediate results in memory for follow-up questions.
- Debugging and package development: pause execution, inspect live objects, and evaluate code where a failure occurs.
Limits and trust boundaries
Code has shell-class capability. The default sandbox permits host-file reads, restricts direct networking, and permits regular-file writes only in private temporary storage. Readable secrets are not protected. Project configuration is trusted input and may widen permissions.
Dependency preparation has its own permissions. Recordings contain code, input, and output without redaction, and have no automatic cleanup. Read Sandbox and trust before changing permissions and Recordings before sharing session files.
There is one session and one active cell per connection. Errors do not roll back earlier effects. Restart discards live objects but retains accepted requirements and recordings.
Documentation
Get started · User guides and reference · Python clients · R and ellmer · Development
MCP Console grew out of mcp-repl. Licensed under the MIT license.
Metadata
Release files for mcp-console 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| mcp_console-0.0.5-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| mcp_console-0.0.5-py3-none-manylinux_2_34_x86_64.whl | Python 3 | none | Linux glibc 2.34+ x86-64 | Details |
| mcp_console-0.0.5-py3-none-manylinux_2_34_aarch64.whl | Python 3 | none | Linux glibc 2.34+ ARM64 | Details |
| mcp_console-0.0.5-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| mcp_console-0.0.5-py3-none-macosx_10_12_x86_64.whl | Python 3 | none | macOS 10.12+ x86-64 | Details |
Total release size: 62.4 MB
Release files / mcp_console-0.0.5-py3-none-win_amd64.whl
| Download URL | mcp_console-0.0.5-py3-none-win_amd64.whl |
|---|---|
| Size | 13.7 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
45c34a84a39da6f7056dca6b2c189cf21150daf810e96c38a01aea6cc82f36de
|
|
BLAKE2b-256 checksum How to use checksums |
b99bf45d03b52ba4ac8fec870ad6537e59a6c82e70d48e4c5e30c287f1738aac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / mcp_console-0.0.5-py3-none-manylinux_2_34_x86_64.whl
| Download URL | mcp_console-0.0.5-py3-none-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 13.3 MB |
| Tags | Linux glibc 2.34+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
4b70d54490f09289c7c12c5441aed2a897336a1a91d4adb54d50a5c08f6c29f0
|
|
BLAKE2b-256 checksum How to use checksums |
a41fd1d46691647c1548a3eafa59c5b14237252e67b32aebe888649b14e7de05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / mcp_console-0.0.5-py3-none-manylinux_2_34_aarch64.whl
| Download URL | mcp_console-0.0.5-py3-none-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 12.6 MB |
| Tags | Linux glibc 2.34+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
8b899679fba6efa6b575ec3eb9b6fa55abb78a9b7d8d22536a7c42368811e7eb
|
|
BLAKE2b-256 checksum How to use checksums |
54fb41ded3c479d3e557c0bdeb749eb620f79a2c5c478ef88200cbefa8cd172b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / mcp_console-0.0.5-py3-none-macosx_11_0_arm64.whl
| Download URL | mcp_console-0.0.5-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 11.1 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1e88b0238334740a8bf3f2e99b28f9998899cecca0857ca8fe14e881e39c3e2b
|
|
BLAKE2b-256 checksum How to use checksums |
673e83c48b052c091c46d20b9fd4aa5e2fde11c0f46cbb3011b267514b7d34d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / mcp_console-0.0.5-py3-none-macosx_10_12_x86_64.whl
| Download URL | mcp_console-0.0.5-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 11.7 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
cdffb925460ad2da635b7549e70dd86daf497036b2e204603568986e43a6d1a9
|
|
BLAKE2b-256 checksum How to use checksums |
85cb0d6dfdf9968d48de3a284a977cfcdb710c7080d429632a6bd12013e00d71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for mcp-console 0.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.