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
Flutter MCP
A real-time MCP server providing Flutter/Dart documentation and pub.dev package information to AI assistants, supporting over 50,000 packages on demand.
Atlas Docs
Access technical documentation for libraries and frameworks, formatted in clean markdown for LLM consumption.
Lingo.dev
Make your AI agent speak every language on the planet, using Lingo.dev Localization Engine.
Postman MCP Server
Run Postman collections using Newman, with support for environment and global variables.
MCP Design System Extractor
Extracts component information, including HTML, styles, and metadata, from Storybook design systems.
JADX-AI-MCP
A JADX decompiler plugin that integrates with MCP to provide live reverse engineering support using LLMs.
Persona MCP Server
Dynamically manage AI personas from markdown files for AI assistants like Claude.
Rongda MCP Server
An MCP server for Rongda that supports authentication through environment variables.
EndOfLife.date
Get end-of-life dates and support cycle information for various software products.
EVE Online ESI MCP Server
An MCP server for interacting with the EVE Online ESI (EVE Swagger Interface) API.