mcp-code-runner mcp

v1.0.0 · MCP Tool · registry.pascalai.org

Execute Python, JavaScript or Bash in an isolated sandbox. Returns stdout, stderr and exit code. Network access is disabled. Use for data analysis, algorithm testing and calculations too complex for the calculator tool.

Input Parameters

ParameterTypeDescription
coderequired string Source code to execute.
languageoptional string Runtime to use: "python", "javascript", or "bash". Default: "python".
stdinoptional string Input passed to the program via stdin.
timeout_secondsoptional integer Execution timeout in seconds. Default: 10, max: 60.
packagesoptional array Python pip packages to install before running (e.g. ["pandas", "numpy"]). Only applies when language="python".

Output Fields

FieldTypeDescription
stdout string Standard output produced by the program.
stderr string Standard error output. Non-empty on warnings or errors.
exit_code integer Process exit code. 0 indicates success.
elapsed_ms integer Wall-clock execution time in milliseconds.
truncated boolean true if stdout or stderr was truncated due to output size limits.

Example

// Input
{
  "language": "python",
  "code": "import statistics\ndata = [12,15,18,14,17,19,13,16]\nprint(f'Mean: {statistics.mean(data):.2f}')\nprint(f'Stdev: {statistics.stdev(data):.2f}')"
}

// Output
{
  "stdout": "Mean: 15.50\nStdev: 2.45\n",
  "stderr": "",
  "exit_code": 0,
  "elapsed_ms": 87,
  "truncated": false
}

Install & Discovery

Install

ppm install mcp-code-runner

Get JSON Schema

GET /v1/packages/mcp-code-runner/1.0.0/schema

Discover by keyword

GET /v1/mcp/discover?q=code+runner+sandbox

PascalAI Usage

uses toolslib;

var
  Runner := LoadTool('mcp-code-runner');
  R := Runner.Call(JsonObj([
    'language', 'python',
    'packages', JsonArr(['pandas']),
    'code',     'import pandas as pd; df = pd.read_csv("/data/sales.csv"); print(df.groupby("region").sum())'
  ]));
  Writeln(R['stdout']);