Code Runner MCP
Execute JavaScript and Python code in a secure sandbox. Supports Deno for JS/TS and Pyodide for Python, with configurable permissions.
Code Runner MCP
🚀 Let AI execute JavaScript/Python code with any package imports!
✨ Core Value
- 🔒 Secure Sandbox: Isolated execution environment protecting your host system
- 📦 Install-on-Demand: Dynamically import any npm/PyPI packages
- 🎯 Reduce Hallucinations: Let AI verify logic by executing code
- ⚡ Quick Validation: Test if packages meet your needs without local installation
🌐 Try it online: smithery.ai
🚀 Quick Start
Option 1: Using Deno (Recommended)
{
"mcpServers": {
"code-runner": {
"command": "deno",
"args": ["run", "--allow-all", "jsr:@mcpc/code-runner-mcp/bin"],
"env": {
"DENO_PERMISSION_ARGS": "--allow-net",
"NODEFS_ROOT": "/tmp",
"NODEFS_MOUNT_POINT": "/tmp"
},
"transportType": "stdio"
}
}
}
Option 2: Using Node.js
{
"mcpServers": {
"code-runner": {
"command": "npx",
"args": ["-y", "deno", "run", "--allow-all", "jsr:@mcpc/code-runner-mcp/bin"],
"env": {
"DENO_PERMISSION_ARGS": "--allow-net",
"NODEFS_ROOT": "/tmp",
"NODEFS_MOUNT_POINT": "/tmp"
},
"transportType": "stdio"
}
}
}
💡 Use Cases
JavaScript/TypeScript
// Import npm packages directly to test functionality
import { z } from "npm:zod";
import { serve } from "jsr:@std/http";
const schema = z.object({ name: z.string() });
console.log(schema.parse({ name: "test" }));
Python
# Dynamically install and use Python packages
import requests
response = requests.get("https://api.github.com")
print(f"Status code: {response.status_code}")
File System Access
# Access host file system (via NODEFS_ROOT and NODEFS_MOUNT_POINT)
import os
files = os.listdir('/tmp') # List files at the mount point
print(f"Found {len(files)} files")
⚙️ Environment Variables
DENO_PERMISSION_ARGS: JS/TS execution permissions (e.g.,--allow-env --allow-net)NODEFS_ROOT: Host file system root directory path for Python accessNODEFS_MOUNT_POINT: Mount point path in Python environment (defaults to NODEFS_ROOT if not specified)PYODIDE_PACKAGE_BASE_URL: Custom package download source for Pyodide (e.g., private mirror CDN)
🛡️ Security Features
- Deno Sandbox: Strict permission control with explicit authorization
- Pyodide WASM: WebAssembly isolated environment
- File System Isolation: Controlled host file access
📋 Technical Architecture
- JavaScript/TypeScript: Powered by Deno runtime
- Python: Powered by Pyodide WebAssembly technology
- Package Management: Dynamic installation from npm, JSR, and PyPI
💬 Issues & Feedback: GitHub Issues
🌟 Repository: GitHub Repository
Related Servers
CLI Exec
Execute shell commands with structured output via a powerful CLI server.
Test Automator
An LLM-powered server for automating unit, integration, E2E, and API tests.
Remote MCP Server (Authless)
An example of a remote MCP server without authentication, deployable on Cloudflare Workers.
SAP Documentation
Provides offline access to SAP documentation and real-time SAP Community content.
Tailwind Svelte Assistant
Provides documentation and code snippets for SvelteKit and Tailwind CSS.
Ant Design Components
Provides Ant Design component documentation to large language models (LLMs), allowing them to explore and understand the components.
TrueNAS Middleware MCP Server
Accesses optimized documentation from the TrueNAS middleware repository to understand its codebase and APIs.
godoc-mcp-server
MCP server to provide golang packages and their information from pkg.go.dev
MetaMCP
A proxy server that combines multiple MCP servers into a single endpoint, routing requests to the appropriate underlying server.
TypeScript MCP
A TypeScript-specialized server providing advanced code manipulation and analysis capabilities.