executeJSLABSCO SUMMARY
No filesystem, no process — read the limits before you plan around it.
The README is unusually candid about the edges: there are no fs or process modules, each run starts from a clean VM so nothing persists between calls, and module filtering is configurable but the runtime enforcement is described as not fully implemented. Read that last one as: treat the flags as intent, not as a security boundary. What you do get is a genuinely capable scratchpad — network calls, hashing, binary handling — with no key to provision.
What it is
A Go MCP server exposing one tool that runs JavaScript in a modern runtime. The environment is assembled from named modules: fetch, timers, buffer, encoding and url are global, while crypto, cache and an HTTP server come in through require. Each execution starts in a clean VM.
What you get
executeJS— takes acodestring and runs it, withconsole.log,console.errorandconsole.warncaptured- Modern
fetchwith Request, Response, Headers and FormData available globally, so a script can call an API without extra setup - Crypto through
require('crypto')— hashing, encryption and HMAC - An in-memory cache with TTL support through
require('cache'), and an HTTP server throughrequire('http/server') - Buffer, Blob and File for binary data, plus TextEncoder/TextDecoder and URL/URLSearchParams
- Module selection at launch:
--enabled-modulesto allow only some,--disabled-modulesto turn specific ones off
Requirements
Nothing beyond the binary: go install github.com/mark3labs/codebench-mcp@latest, then run codebench-mcp, or pull ghcr.io/mark3labs/codebench-mcp:latest and run it in Docker. No API key and no account. Execution timeout defaults to 5 minutes and is set with --execution-timeout in seconds. It can also be embedded as a library in a Go project, including over an in-process transport.
Setup effort
One command — go install github.com/mark3labs/codebench-mcp@latest
USE CASES
Doing a calculation the model should not do in its head
Run the arithmetic or the string transformation as actual code and read the console output back.
Calling an API mid-conversation
Use the global fetch to hit an endpoint, parse the JSON, and return just the part that matters.
Hashing or encoding something
Require the crypto module for an MD5 or HMAC, or use Buffer to move between UTF-8 and base64.
Trimming the runtime for a narrow task
Launch with only the modules the job needs so the tool description advertises a smaller surface to the model.
1 tool
Listed in project docs. Your client may show a different list.
BEFORE YOU INSTALL
What to know first
Tools you get
1 tool named in the project's documentation.
Requires
codebench-mcp on PATH
INSTALLATION
Connect your client
Add the block to your client, or run the command directly.
Server setup
Configuration file
{
"mcpServers": {
"javascript": {
"command": "codebench-mcp"
}
}
}go install
go install github.com/mark3labs/codebench-mcp@latest