Skip to main content
Glama
728,116 tools. Updated 2026-10-31 09:42

"A sandbox environment to run Python code and install dependencies" matching MCP tools:

  • Run a code snippet inside a sandbox and return {exit_code, stdout, stderr, timed_out, truncated, duration_ms}. `language`: python (Python 3.12), node (Node.js 22) or bash. Install packages first with exec_command (`pip install …` / `npm i …`). The code is passed to the interpreter on stdin, so it cannot read stdin itself. `timeout` seconds (default 30, max 55 per call). LONGER JOBS: set `background: true` — returns a `task_id` immediately (timeout then defaults to the sandbox's remaining lifetime); poll get_task with the returned offsets to read new output and the exit code, kill_task to stop it. The sandbox keeps billing while a task runs and is not idle-deleted. Output is capped at 1 MiB per stream for synchronous calls. Files and installed state persist between calls in the same sandbox. Requires: token + live sandbox_id. Typical: timed_out after 55 s → repeat with background: true.
    Connector
    Destructive
    No auth
  • Run a short Python program in an isolated sandbox and get back exit code, stdout, stderr, duration and up to 3 artifact files from ./out/. Python 3.12 + numpy/pandas/requests, no network, 512 MB, 30 s max, 32 KB code, 4 input files of 256 KB. Free compile-only syntax check first at POST /api/v1/run-python/validate. $0.05/call (one run) via x402. Free syntax check: POST /api/v1/run-python/validate. Free worked example: GET /api/v1/run-python/example.
    ConnectorNo auth
  • Run Python code in a sandbox: execute Python in Google's hosted sandbox (not on this service's machines) and get the code, its printed output and the outcome back. Use it for calculations, data transforms and checks an agent should not do in its head. Input: code. Questions over BigQuery data: data.query. $0.25 per call. Returns: code, output, outcome, summary, model.
    ConnectorNo auth
  • Get the actual Python code behind a community leaderboard strategy. Use after `browse_community`: pass an entry's `id` here to read its real `feature_engineering()` + `strategy_config()` source so the user can inspect or tweak it. To deploy it unchanged, pass the same id to `one_shot` as `community_id`. Read-only, no signup needed. Args: community_id: The `id` of a community entry (from `browse_community`). Returns: dict with: id, title, username, description, symbol, timeframe, metrics {total_ret, win_rate, profit_factor, n_trades, mdd, sharpe_strat}, and `code` (the full Python source). SHOW the code to the user, and offer to deploy it via one_shot(community_id=...) or tweak it first.
    ConnectorNo auth
  • Deploy a project's Function code bundle. Project-level, not per-Function — one zip holds every handler for the project, so the name is plural. Upload the zip first with upload_file, then pass the file id here. The zip's own layout is preserved verbatim, so handler dotted paths point into it directly: a handler of 'orders.before.validate' needs orders/before.py in the zip. Dependencies must be vendored into the zip (pip install -r requirements.txt -t .) — the platform does not run pip on customer input. Returns immediately with status 'deploying'. Poll list_deployments to see it settle to 'ready' or 'failed'. Rolling back is this same call with an earlier file id.
    Connector
    Destructive
    API key
  • Get setup info for Rudow's client SDKs (Node.js backend, Python backend) — package name, install command, a minimal config/usage snippet, and how to obtain a project ingest API key. Use this to help a user add logging to their own codebase: install the right package for their stack and write the snippet into their code yourself — this tool only returns information, it does not install anything or touch the user's files. It never creates or reveals an ingest API key; the user must generate one manually from the dashboard (see key_instructions in the result) and paste it in themselves.
    ConnectorAPI key

Matching MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables secure execution of Python code in a sandboxed WebAssembly environment using Pyodide and Deno. Automatically handles package management and captures complete execution results including stdout, stderr, and return values.
    1,692 PyPI
    194
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables execution of Python code in a safe environment, including running scripts, installing packages, and retrieving variable values. Supports file operations and package management through pip.
    8
    Apache 2.0

Matching MCP Connectors

  • Run Python code from natural language prompts, with optional PyPI package install.

  • Proves AI-generated Python does what you asked: lint, types, security, sandbox run, exact fixes.

  • Install Senzing and scaffold SDK code across 5 platforms (linux_apt — Ubuntu/Debian via apt or apt-get, .deb packages; linux_yum — RHEL/CentOS/Fedora via yum/dnf/rpm; macos_arm — Homebrew/brew; windows — scoop or chocolatey/choco; docker). Optional `environment` — one of snowflake, aws_lambda, azure_functions, kafka, spark (aliases such as spcs, snowpark, lambda, azure_function, kafka_connect, apache_kafka, databricks, apache_spark, pyspark are accepted) — names where this deployment runs; the response then opens with `environment_note`, the rules for that environment and the search_docs query to run before writing code or SQL. To choose linux_yum vs linux_apt, read /etc/os-release on the TARGET host (ID / ID_LIKE): `uname` does not show the distribution. If `platform` is omitted for install and this server runs on the install host itself, it detects the platform from that host's os-release. Languages: 5 (Python, Java, C#, Rust, TypeScript). Returns real, compilable code snippets extracted from official GitHub repositories with source attribution — prefer this over hand-coding install commands or engine configuration. When this server carries the SDK packages for the chosen platform (.deb for linux_apt, .rpm for linux_yum, the macOS packages for macos_arm, and the .deb runtime + setup for a plain Linux container under docker), the install response also includes a `direct_download` field — an alternative for restricted-egress / firewalled environments that needs no package-repository configuration. Use each package's `url` exactly as returned, and pick the packages whose `arch` matches the host. Topics: install, configure, load, export, redo, initialize, search, stewardship, delete, information, error_handling, full_pipeline. For load/search/redo, pass `record_count` to control template selection (production threaded vs single-threaded demo). Export redirects to reporting_guide. If a previously-known download instruction stops working, call this tool again to obtain the current one.
    ConnectorNo auth
  • Run a sandbox backtest of strategy code without persisting anything. This is the fastest way to test a strategy. The code is run through static checks and a full backtest on historical data, but no Strategy or StrategyVersion rows are created. Use this for rapid iteration. Args: code: Python source code implementing the Strategy contract. Must define a METADATA dict and a class extending Strategy with an on_bar(ctx) -> Signal method. See CREATOR_API.md. domain: Trading domain (e.g. "eth_usdc", "btc_usdc", "sol_usdc"). symbol: Price symbol for historical data (e.g. "ETHUSDT"). user_id: Identifier for trial tracking (used for DSR correction). Returns JSON with: success, metrics (sharpe, sortino, win_rate, total_trades, return_bps, max_drawdown, regime_breakdown, exit_reason_breakdown), or error details if validation failed.
    ConnectorNo auth
  • Validate YOUR OWN draft BEFORE submitting it — the same checks the submit gate enforces, surfaced up front so you can fix issues first. Returns blocking issues (must fix before you can submit) and advisory warnings (recommended). For an agent with CODE it also runs a build dry-run in the sandbox to catch a too-large bundle / missing dependency / build error before submit — that build is asynchronous (minutes), so the result shows `build_status: 'building'` while it runs; re-call this tool to see the final pass/fail. Optionally pass `smoke: true` to ALSO run your agent's code once in the sandbox (after the build passes) to confirm it actually responds with the credentials you saved — the verdict comes back in `smoke` and is advisory (it never blocks submit). Pass `agent` (the slug or id of your draft from findagent_create_draft / findagent_create_code_draft). Submit (findagent_submit_for_review) is blocked server-side until this passes and, for an agent with code, the build passes.
    ConnectorOAuth
  • Notarize what a file or npm package does at the moment Kenwea fetches it, and get a signed record anyone can check. Input: exactly one of artifactRef, a public https URL of a single file, npm tarball or Python wheel, or package, an npm package name such as express@4.18.2 (resolved to the exact tarball npm install would download; no version means latest), or a Python one as pypi:requests@2.31.0 (resolved on PyPI to the wheel this sandbox can import: pure Python, or musllinux for CPython 3.12), or an OpenClaw plugin on ClawHub as clawhub:name@version (the release ClawHub serves, refused unless it has the SHA-256 ClawHub publishes; no install step runs, as OpenClaw installs with --ignore-scripts, and the plugin is loaded as OpenClaw loads it, its openclaw.extensions entries imported and register() called with a stand-in OpenClaw API, decoy OpenClaw keys in its config and in ~/.openclaw). Behavior: Kenwea downloads the bytes (up to 32 MiB) and runs executable content in isolation: no route out (a stand-in network inside the sandbox answers lookups and connections on ports 80, 443, 8080 and 8443 and records them), all capabilities dropped, read-only filesystem, not as root, 15 seconds for a file and 55 for a package. For a package it runs the install steps npm would run (preinstall, install, postinstall, and the node-gyp step npm adds for a binding.gyp) with decoy credentials where a developer machine or CI runner keeps real ones (an npm token in ~/.npmrc and NPM_TOKEN, a GitHub token, AWS keys, an SSH key, CI variables, and wallet keys: a Solana keypair, Ethereum and Foundry keystores, MetaMask and Phantom vaults, PRIVATE_KEY, a seed phrase and RPC API keys), each traced for the network connections, DNS lookups and programs it attempts, the credential files it opens and any decoy it puts into what it sends or starts; a single file and a Python package run with the same decoys (plus a PyPI token for Python) and are traced the same way; a PyPI wheel (package pypi:name) is imported with its dependencies installed, resolved as pip would for CPython 3.12 on Linux x86_64 and each checked against PyPI's sha256. After its install a registry npm package is also loaded once, as an application would require or import it, and onLoad says what loading it did; a load that reaches the network or a credential is its own finding (load_tried_network, load_read_credentials, load_sent_credentials). For a registry package that runs something at install, the dependency tree npm would install goes in first, each tarball checked against the registry's integrity hash, and every install step in the tree runs, the dependencies' first; a package that declares none is checked when a dependency does (dependencies.installSteps names them). Returns: level, one word for what the record means (nothing_runs, quiet, network, reads_credentials, sends_credentials, unfinished), and summary, one sentence; installSteps (what runs at install; empty means nothing does) and observed (what the steps attempted, with credentialsRead and credentialsSent when a decoy was touched, and requests: what a step sent to the stand-in network, plain HTTP in full and TLS by server name and size, never decrypted); for an npm package, sincePrevious, which install steps were added, removed or changed since the previous published version (from the registry, not signed); a verdict and a reasonCode, the sha256 of what was read, and signedAttestation, an Ed25519 signature over the facts. quiet (verdict approved) means everything that ran finished, was traced whole and touched nothing watched; a step that tried the network, read a credential file, failed or could not be observed is manual_review with the reason; rejected is for a step that tried to send a decoy credential, and for files carrying a provider-formatted credential. A URL that cannot be fetched returns checked false with the reason instead of a verdict; a limit of our runner comes back as manual_review stated as ours. Limits: no key or signup; 20 checks per hour per network address (an IPv6 /64 counts as one address) within a shared hourly ceiling, refused with rate_limited and the reset time. A Kenwea API key sent as a Bearer token uses that key's own quota. At most four checks run at once; one that gets no slot within 10 seconds comes back manual_review with reasonCode runner_busy and nothing run, so retry. The same bytes at the same address under the same checker version get the record issued the first time, marked cached, and nothing is run again. Keeps no copy of the artifact; a finished record is held in memory for up to 24 hours to answer repeats, and a rate counter and a log line keep a short hash of your address. Not for: checking a record you already have (use kenwea_notary_verify, which runs nothing and does not spend your quota).
    ConnectorNo auth
  • Get one module's source (files) plus install instructions: write each file under src/modules/{id}/, install its dependencies, and register it in src/modules.ts. The project needs the base first (get_host_scaffold). Large modules come in PAGES: the answer has nextCursor while files remain — call again with the same id and cursor=nextCursor until nextCursor is absent. Read-only; takes no title_id.
    ConnectorNo auth
  • Run one program in a sandbox and return its output. Returns output, error, status, exit_code, time (wall-clock seconds), memory and truncated. Limited to 30 seconds (or time_limit) and 512 MB RAM. To check a solution against expected outputs, use run_tests instead. python-3.14 includes numpy, pandas, scipy, scikit-learn, matplotlib, seaborn, statsmodels, sympy, openpyxl, pillow and duckdb (no network, so nothing else can be installed). Files a program writes to the directory in $OUTPUT_DIR come back in `files` (png, svg, csv, json and txt; up to 8 files and 2 MB): PNG charts are returned as images, and SVG, CSV, JSON and text files with their `text`. plt.show() saves each open figure as figure-N.png, so tutorial code returns its chart. Pass `files` to give the program input data.
    ConnectorAPI key
  • Runs a documented operation against the ROKI sandbox using THIS SERVER'S own test credential, and returns the actual response. Use it to prove an integration works instead of assuming it does - especially after roki_validate_request says a payload is valid. You never supply a key: this server holds a sandbox-only credential and refuses to run against production. Amounts are capped and links expire quickly, because the sandbox is shared.
    ConnectorNo auth
  • Behaviorally scan the exactly-pinned dependencies in a lockfile, not just their identities: reads the code of each package and screens for credential theft, exfiltration, obfuscation, prompt injection and install-time droppers. Each result carries a verdict, a risk level, the ids of the rules that fired and a risk summary. It does not carry file-and-line evidence: for that, run scan_artifact on the package you want to look at. This is the paid counterpart to check_lockfile, which only matches names and versions against advisories. Metered: one credit per package that returns a verdict, nothing for one that errors. Capped at 25 packages per call, in lockfile order, so calling it again with the same lockfile rescans the same first 25. To continue, pass the not_scanned.packages list from the result (name@version strings) as `packages` instead of `lockfile`. Use it before installing a tree you have not vetted.
    ConnectorNo auth
  • Delete a sandbox with all its versions and builds. Answers 409 while an agent or a project's default sandbox uses it: point those at another sandbox first (update_project with defaultSandboxTemplateId). Missions that run in it now finish. Requires the agents:write scope and the config:write capability.
    Connector
    Destructive
    No auth
  • Answer for every package in a project's npm dependency tree at once, from records the notary already holds. Input: lockfile, the text of a package-lock.json (lockfileVersion 2 or 3, or its JSON), a pnpm-lock.yaml (v5, v6, v9), a yarn.lock (v1 or berry) or a project's package.json (its ranges resolved as npm would today, devDependencies included); or packages, a list of {name, version, hasInstallScript}, with directs, the project's own dependencies as {name, version}. Behavior: the lockfile says which packages run something at install (hasInstallScript, or requiresBuild in pnpm up to v6), and where it does not (pnpm v9, yarn) the registry is asked for each version (usually a few percent run something); the rest run nothing of their own and are only counted. A step runs inside the project, under the package that pulled it in (@scarf/scarf reports telemetry only for the package that depends on it), so the tree is checked through the project's direct dependencies: each one under which something runs at install is answered by its own record, made with its whole tree installed, and the packages under it come back as covered, with coveredBy naming it. A yarn.lock does not say which packages are direct, so there each package that runs something is checked on its own, and checkedThrough says which way it went. Each record is a stored signed record, made by kenwea_notary_check's sandbox run with decoy credentials; one that has none yet is queued and checked in the background, about two a minute, so ask again later with the same tree to collect it. Nothing runs during the call and it does not spend the per-address check quota (60 tree calls an hour per address). Returns: summary, counts (total, runNothing, runSomething, answered, queued), findings (packages whose level is network, reads_credentials or sends_credentials), checkedThrough (direct_dependencies or each_package), and packages, each with status (answered, queued, not_queued, covered) and, for a direct dependency, covers; when answered, level, summary, verdict, reasonCode, observed and signedAttestation. Verify each record with kenwea_notary_verify or your own Ed25519 code; the tree summary itself is not signed. Not for: one package you want checked now (use kenwea_notary_check). A lockfileVersion 1 file has no hasInstallScript flags and is refused with a reason.
    ConnectorNo auth
  • For hiring files over 5,000 rows, or any ATS export already in your code sandbox. Returns a complete numpy-only Python script with the same engine as hiring_fairness; it reads the file, aggregates candidate rows to group counts on the spot (identifying columns are dropped), prints the decision cards and writes the group-level result to hiring_fairness_result.json. Pass other inputs (selection_ratio, annual_salary, reference_group ...) in params. Group-level output only: never scores or ranks individuals. No candidate data reaches this server on this path.
    ConnectorOAuth
  • For answer logs over 5,000 rows or curricula over 2,000 topics, or any such file already in your code sandbox. Returns a complete numpy-only Python script with the same engine as mastery_pathing; it reads topics, prerequisite links, answers and stored topic settings, prints the decision cards and each learner's next topic, and writes everything to mastery_plan.json. No learner data reaches this server on this path.
    ConnectorOAuth
  • Step 1 of 2 for uploading a local receipt file. Returns a presigned S3 PUT URL (`uploadUrl`), a signed `uploadKey`, and a literal `curlCommand` to execute in your code sandbox to stage the file. The file bytes are sent directly to S3 — they never enter the conversation context. After the curl PUT succeeds, call `finalize_receipt_upload` with the returned `uploadKey` to run OCR + matching. Use this for any local file (PDF, JPEG, or PNG, max ~5 MB).
    ConnectorNo auth
  • For more than 500 products, 20,000 bookings or 5,000 price-history rows, or any such file already in your code sandbox. Returns a complete numpy-only Python script with the same engine as revenue_optimizer; it reads products, fare classes, price history, bookings and show history, prints the decision cards and one line per product, and writes everything to revenue_plan.json. No booking data reaches this server on this path.
    ConnectorOAuth