{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"npm_npm-mcp-server-code-runner","slug":"npm-mcp-server-code-runner","name":"mcp-server-code-runner","type":"mcp","url":"https://www.npmjs.com/package/mcp-server-code-runner","page_url":"https://unfragile.ai/npm-mcp-server-code-runner","categories":["mcp-servers"],"tags":["mcp","code-runner","server"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"npm_npm-mcp-server-code-runner__cap_0","uri":"capability://tool.use.integration.remote.code.execution.via.mcp.protocol","name":"remote code execution via mcp protocol","description":"Executes arbitrary code (Python, JavaScript, Bash, etc.) on a remote server through the Model Context Protocol, translating MCP tool calls into subprocess invocations with captured stdout/stderr/exit codes. Implements a standardized MCP server interface that exposes code execution as a callable tool, enabling Claude and other MCP clients to run code without direct shell access.","intents":["I want Claude to execute Python scripts and see the results in real-time during our conversation","I need to give my AI agent the ability to run shell commands and process the output","I want to set up a secure code execution sandbox that Claude can access via MCP"],"best_for":["AI developers building Claude-based agents that need computational capabilities","Teams deploying MCP servers to provide Claude with code execution sandboxes","Researchers prototyping AI systems that require dynamic code evaluation"],"limitations":["No built-in sandboxing or resource limits — executes code with full permissions of the Node.js process","No timeout enforcement by default — long-running code can hang the server indefinitely","Single-threaded execution model means concurrent code requests queue sequentially","No persistent state between executions unless explicitly managed by the code itself"],"requires":["Node.js 16+ (for MCP server runtime)","MCP client implementation (Claude Desktop, or custom MCP client)","Appropriate language runtimes installed (Python, Node.js, Bash, etc.) for the code being executed"],"input_types":["code (string)","language identifier (string: 'python', 'javascript', 'bash', etc.)","command-line arguments (array of strings)"],"output_types":["stdout (string)","stderr (string)","exit code (integer)","structured execution result (JSON object with status, output, error)"],"categories":["tool-use-integration","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-mcp-server-code-runner__cap_1","uri":"capability://code.generation.editing.multi.language.code.interpreter.with.language.detection","name":"multi-language code interpreter with language detection","description":"Automatically detects or accepts explicit language specifications (Python, JavaScript, Bash, Ruby, etc.) and routes code to the appropriate interpreter subprocess. Handles language-specific invocation patterns (e.g., 'python -c' for inline Python, 'node -e' for JavaScript) and manages interpreter availability checking before execution.","intents":["I want Claude to run Python, JavaScript, and Bash code in the same conversation without specifying the interpreter each time","I need to execute code snippets in multiple languages and get consistent output formatting","I want to verify that required language runtimes are available before attempting execution"],"best_for":["Polyglot development teams using Claude for code generation across multiple languages","Educational platforms teaching programming in multiple languages with AI assistance","Data science workflows mixing Python, R, and JavaScript for analysis and visualization"],"limitations":["Requires all language runtimes to be pre-installed on the server — no automatic dependency installation","Language detection from code comments or hints is not implemented — must be explicitly specified","No version pinning or virtual environment support — uses system-wide interpreter versions","Limited to languages with command-line interpreters — compiled languages require pre-compilation"],"requires":["Node.js 16+","Python 3.6+ (if executing Python code)","Node.js/npm (if executing JavaScript code)","Bash/sh (if executing shell scripts)","Any other language runtimes needed for the target code"],"input_types":["code (string)","language (string: 'python', 'javascript', 'bash', 'ruby', etc.)"],"output_types":["execution result (object with stdout, stderr, exitCode)","error messages (string)"],"categories":["code-generation-editing","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-mcp-server-code-runner__cap_2","uri":"capability://data.processing.analysis.subprocess.output.capture.and.streaming","name":"subprocess output capture and streaming","description":"Captures stdout and stderr streams from spawned child processes in real-time, buffers the output, and returns it as structured data with exit codes. Handles stream encoding (UTF-8), manages buffer overflow scenarios, and provides both synchronous result collection and potential streaming callbacks for long-running processes.","intents":["I want to see the full output of a long-running script that Claude executed","I need to capture both standard output and error messages separately to debug what went wrong","I want to get the exit code so Claude can determine if the code succeeded or failed"],"best_for":["Debugging workflows where developers need complete execution traces","CI/CD integration where exit codes determine downstream actions","Educational scenarios where students need to see all output including errors"],"limitations":["No streaming output to client during execution — all output buffered until process completes","No configurable buffer size limits — very large outputs (>100MB) may cause memory issues","Binary output not supported — assumes UTF-8 text output only","No output filtering or redaction — sensitive data in stdout/stderr is captured as-is"],"requires":["Node.js 16+ (for stream handling)","Sufficient memory to buffer the expected output size"],"input_types":["subprocess handle (from child_process.spawn)"],"output_types":["stdout (string)","stderr (string)","exitCode (integer)"],"categories":["data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-mcp-server-code-runner__cap_3","uri":"capability://tool.use.integration.mcp.tool.schema.definition.and.registration","name":"mcp tool schema definition and registration","description":"Defines and registers code execution as an MCP tool with a standardized JSON schema that specifies input parameters (code, language, args) and output format. Implements the MCP tool protocol, allowing Claude and other MCP clients to discover the tool's capabilities, validate inputs against the schema, and invoke it with proper error handling.","intents":["I want Claude to understand what parameters the code runner accepts and what it returns","I need to ensure that code execution requests are validated before they reach the subprocess layer","I want other MCP clients besides Claude to be able to discover and use the code runner tool"],"best_for":["MCP ecosystem developers building interoperable AI tools","Teams standardizing on MCP for AI agent infrastructure","Tool developers who need schema-driven validation and discovery"],"limitations":["Schema is static — cannot dynamically adjust based on available languages or system capabilities","No input sanitization at the schema level — validation is structural only, not semantic","Schema version management not built-in — breaking changes require manual coordination","No rate limiting or quota enforcement in the schema layer"],"requires":["MCP server SDK (Node.js implementation)","Understanding of JSON Schema format"],"input_types":["JSON schema (for tool definition)"],"output_types":["MCP tool definition (JSON)","tool invocation results (JSON)"],"categories":["tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-mcp-server-code-runner__cap_4","uri":"capability://safety.moderation.error.handling.and.execution.failure.reporting","name":"error handling and execution failure reporting","description":"Captures and reports execution errors including subprocess crashes, non-zero exit codes, timeout scenarios, and invalid language specifications. Returns structured error information (error type, message, exit code) that allows MCP clients to distinguish between different failure modes and respond appropriately.","intents":["I want Claude to know when code execution failed and why (syntax error, runtime error, missing dependency, etc.)","I need to distinguish between 'code ran but returned an error' and 'the code runner itself crashed'","I want Claude to retry or modify code based on specific error types"],"best_for":["Agentic workflows where Claude needs to iterate on failing code","Educational platforms providing feedback on student code execution","Production systems where execution failures need to be logged and monitored"],"limitations":["No automatic error recovery — failures are reported but not retried","Error messages are language-specific and not normalized — Python tracebacks differ from Node.js stack traces","No timeout errors by default — long-running code appears to hang rather than fail cleanly","Limited context in error messages — no source line numbers or code snippets in error output"],"requires":["Node.js 16+ (for error handling)","MCP client capable of handling error responses"],"input_types":["subprocess error events"],"output_types":["error object (JSON with type, message, exitCode, stderr)"],"categories":["safety-moderation","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-mcp-server-code-runner__cap_5","uri":"capability://tool.use.integration.command.line.argument.passing.and.environment.isolation","name":"command-line argument passing and environment isolation","description":"Accepts command-line arguments as an array and passes them to the executed code, enabling parameterized code execution. Manages argument escaping and quoting to prevent injection attacks, and optionally isolates environment variables to prevent unintended side effects or information leakage.","intents":["I want to pass parameters to Python scripts that Claude generates without hardcoding values","I need to run the same code with different arguments to test multiple scenarios","I want to prevent executed code from accessing sensitive environment variables"],"best_for":["Parameterized testing workflows where Claude generates code with variable inputs","Data processing pipelines where code needs to accept filenames or configuration","Security-conscious deployments where code isolation is important"],"limitations":["No built-in argument validation — arbitrary strings are passed through to the interpreter","Environment isolation is not enforced by default — code can still access parent process environment","No support for stdin piping — arguments must be passed as command-line parameters","Argument escaping may not handle all edge cases (e.g., null bytes, very long arguments)"],"requires":["Node.js 16+ (for child_process argument handling)","Understanding of shell argument escaping if using shell=true"],"input_types":["arguments (array of strings)"],"output_types":["execution result with arguments applied"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":31,"verified":false,"data_access_risk":"moderate","permissions":["Node.js 16+ (for MCP server runtime)","MCP client implementation (Claude Desktop, or custom MCP client)","Appropriate language runtimes installed (Python, Node.js, Bash, etc.) for the code being executed","Node.js 16+","Python 3.6+ (if executing Python code)","Node.js/npm (if executing JavaScript code)","Bash/sh (if executing shell scripts)","Any other language runtimes needed for the target code","Node.js 16+ (for stream handling)","Sufficient memory to buffer the expected output size"],"failure_modes":["No built-in sandboxing or resource limits — executes code with full permissions of the Node.js process","No timeout enforcement by default — long-running code can hang the server indefinitely","Single-threaded execution model means concurrent code requests queue sequentially","No persistent state between executions unless explicitly managed by the code itself","Requires all language runtimes to be pre-installed on the server — no automatic dependency installation","Language detection from code comments or hints is not implemented — must be explicitly specified","No version pinning or virtual environment support — uses system-wide interpreter versions","Limited to languages with command-line interpreters — compiled languages require pre-compilation","No streaming output to client during execution — all output buffered until process completes","No configurable buffer size limits — very large outputs (>100MB) may cause memory issues","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.3069574717258983,"quality":0.22,"ecosystem":0.38999999999999996,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:23.903Z","last_scraped_at":"2026-05-03T14:23:33.512Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":1713,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=npm-mcp-server-code-runner","compare_url":"https://unfragile.ai/compare?artifact=npm-mcp-server-code-runner"}},"signature":"5jN2CeiC3xTbRYCuUbbdOFwowARpSewqns/LWllIiuZ4z++acMe6Cdd1hChGpyFzYWTlQaFMFOT70MwHZYb/AQ==","signedAt":"2026-06-22T14:53:46.472Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/npm-mcp-server-code-runner","artifact":"https://unfragile.ai/npm-mcp-server-code-runner","verify":"https://unfragile.ai/api/v1/verify?slug=npm-mcp-server-code-runner","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}