多语言代码执行工具

一款基于Bun和PM2的多语言代码执行工具,支持JavaScript/TypeScript、Python、Go、Rust、C、C++、Deno、Java和bash等多种语言,适用于MCP客户端和CLI环境。

  • by AnEntrypoint
  • JavaScript
  • 本地部署
  • 120 星标
  • 更新于
在 GitHub 查看 AnEntrypoint/mcp-repl

使用说明

通用汽车高管

注意:如果您正在寻找mcp repl or、glootie或GM……请访问:http://github.com/anEntrypoint/gm

用于MCP客户端和CLI的代码执行工具。多语言支持(JS/TS、Python、Go、Rust、C、C++、Deno、Java、bash)。基于Bun构建,具有PM2管理的进程隔离。

MCP服务器

添加到MCP客户端配置中:

{
  "mcpServers": {
    "gm-exec": {
      "command": "bunx",
      "args": ["gm-exec", "--mcp"]
    }
  }
}

或全局安装:

bun install -g gm-exec
gm-exec --mcp

命令行界面

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

runner在每个命令之前自动启动,在命令之后自动停止——除非任务被回退,在这种情况下,runner将保持活动状态,直到您明确停止它。

支持的语言

语言 运行时
JavaScript/TypeScript Node.js/Bun
Python Python 3
去吧
生锈 生锈
C gcc
C++ g++
Java javac+Java
Deno Deno运行
bash/sh/zsh shell

需求

curl -fsSL https://bun.sh/install | bash