MCP-REPL
gm-exec
注意:如果您正在寻找 mcp-repl、glootie 或 GM... 它们现在位于:http://github.com/anEntrypoint/gm
适用于 MCP 客户端和 CLI 的代码执行工具。支持多种语言(JS/TS、Python、Go、Rust、C、C++、Deno、Java、bash)。基于 Bun 构建,并使用 PM2 进行进程隔离管理。
Related MCP server: MCP QuickJS Runner
MCP 服务器
添加到您的 MCP 客户端配置中:
{
"mcpServers": {
"gm-exec": {
"command": "bunx",
"args": ["gm-exec", "--mcp"]
}
}
}或全局安装:
bun install -g gm-exec
gm-exec --mcpCLI
bunx gm-exec-cli exec --cwd=/app "console.log('hello')"
bunx gm-exec-cli bash --cwd=/app "npm install && npm test"
bunx gm-exec-cli exec --lang=python --cwd=/app "print('hello')"
bunx gm-exec-cli exec --file=script.js命令
gm-exec-cli exec [options] <code> Execute code (waits up to 15s, then backgrounds)
--lang=<lang> nodejs (default), python, go, rust, c, cpp, java, deno
--cwd=<dir> Working directory
--file=<path> Read code from file
gm-exec-cli bash [--cwd=<dir>] <cmd> Execute bash commands, same 15s ceiling
gm-exec-cli status <task_id> Poll status + drain output of a background task
gm-exec-cli close <task_id> Delete a background task
gm-exec-cli runner start Start the runner manually (PM2, no autorestart)
gm-exec-cli runner stop Stop the runner
gm-exec-cli runner status Show runner PM2 status后台执行
命令有 15 秒的硬性执行上限。如果在此之后仍在运行,进程将被置于后台,您将获得一个带有监控说明的任务 ID:
Backgrounded after 15s — task still running.
Task ID: task_3
Watch output:
gm-exec-cli status task_3
gm-exec-cli close task_3
gm-exec-cli runner stop运行器会在每个命令之前自动启动,并在之后自动停止——除非任务被置于后台,在这种情况下,运行器将保持活动状态,直到您明确停止它。
支持的语言
语言 | 运行时 |
JavaScript / TypeScript | Node.js / Bun |
Python | python3 |
Go | go run |
Rust | rustc |
C | gcc |
C++ | g++ |
Java | javac + java |
Deno | deno run |
bash / sh / zsh | shell |
要求
Bun ≥ 1.0
curl -fsSL https://bun.sh/install | bashAvailable Tools
1 toolexecuteA
Execute code in JS/TS, Go, Rust, Python, C, C++, or bash with auto-runtime detection. Primary tool for testing hypotheses before implementation. Supports both code snippets and shell commands.
| Name | Required | Description | Default |
|---|---|---|---|
| workingDirectory | Yes | Path to working directory for execution. | |
| code | No | Code to execute. Include timeouts for network/async operations to prevent hangs. | |
| commands | No | Bash commands (single or array for planned batch executions) | |
| runtime | No | Execution runtime (default: auto-detect) | |
| timeout | No | Timeout in milliseconds (default: 240000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions auto-runtime detection and supports for code/shell commands, but doesn't cover critical aspects like permissions, rate limits, error handling, or output format, leaving gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with two sentences that efficiently convey the tool's purpose and key features without unnecessary details. Every sentence adds value, making it easy to understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (executing code in multiple languages), no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits, error handling, and return values, which are crucial for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description adds minimal value beyond the schema, mentioning code snippets and shell commands which map to 'code' and 'commands' parameters, but doesn't provide additional syntax or usage details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as executing code in multiple languages with auto-runtime detection, distinguishing it as a primary tool for testing hypotheses. It specifies both code snippets and shell commands as inputs, though without sibling tools, differentiation isn't applicable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for testing hypotheses before implementation, providing some context, but lacks explicit guidance on when to use this tool versus alternatives, prerequisites, or exclusions. No sibling tools exist to compare against.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v1.0.0- Removed
astgrep_analyze - Removed
astgrep_lint - Removed
astgrep_replace - Removed
astgrep_search - Added
execute - Removed
executedeno - Removed
executenodejs - Removed
searchcode
7 tool updates
- First observed
astgrep_analyze - First observed
astgrep_lint - First observed
astgrep_replace - First observed
astgrep_search - First observed
executedeno - First observed
executenodejs - First observed
searchcode
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'execute' has a clear, distinct purpose that cannot be confused with any other tool in this set.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'execute' follows a simple verb pattern, and there are no other tools to compare it against for inconsistency.
A single tool is generally too few for a server's purpose, as it limits functionality and flexibility. While the tool is versatile (supporting multiple languages and shell commands), the server likely has a broader scope (e.g., code execution and testing) that could benefit from additional tools for tasks like debugging, logging, or result analysis.
The server appears to be focused on code execution and testing, but with only one tool, there are significant gaps in coverage. For example, there are no tools for managing execution environments, handling dependencies, validating code, or analyzing results, which are common needs in such domains.
Maintenance
Related MCP Connectors
Execute code in 8 languages (Python, JS, TS, Go, Java, C++, C, Bash) in gVisor sandboxes.
Host static HTML pages, generate PDFs, screenshots, scrape JS sites, run sandboxed JavaScript.
- mcp-serverOAuthai.cdbx
Build Apps and run code in 30 languages — sandboxed, with persistent sessions for agent loops.
Run Python code in a secure sandbox without local setup. Declare inline dependencies and execute s…
Related MCP Servers
- FlicenseBqualityDmaintenanceProvides a secure, isolated JavaScript execution environment with configurable time and memory limits for safely running code from Claude.127 npm5-
- FlicenseNot gradedqualityDmaintenanceProvides secure execution of arbitrary JavaScript code within a sandboxed QuickJS WASM environment, allowing language models or other MCP clients to safely run JavaScript code snippets without compromising the host system.4-
- FlicenseNot gradedqualityDmaintenanceEnables running arbitrary JavaScript code in isolated Docker containers with on-the-fly npm dependency installation, supporting both ephemeral one-shot executions and persistent sandbox environments.101 npm157-
- FlicenseAqualityDmaintenanceA secure Node.js execution environment that allows coding agents and LLMs to run JavaScript dynamically, install NPM packages, and retrieve results while adhering to the Model Control Protocol.7101 npm4-