Token导航 LogoToken导航

MCP Server · 开发工具

exec MCP

Exec MCP Server是一个模型上下文协议服务器,提供执行和管理进程的工具,支持后台执行、同步执行和进程终止功能,适用于需要精确控制进程的开发环境。

未说明官方级别未说明来源级核验工具 3
进程管理GoClaudeClaude DesktopCursor

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
Yakwilik
提供方
Yakwilik

工具数量

3

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

exec MCP 属于开发工具类 MCP Server,公开资料标注 3 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude、Cursor,没有现成的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 3 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

Exec MCP服务器

一种模型上下文协议(MCP)服务器,提供执行和管理流程的工具。此服务器允许代理执行进程并通过PID停止进程,使进程管理比使用终端命令更容易。

特性

  • 执行过程:执行进程并返回其PID以供以后管理(后台执行)
  • 运行命令:执行命令并立即返回其输出(同步执行)
  • 停止进程:使用SIGTERM或SIGKILL通过进程的PID停止进程
  • 非阻塞:后台进程独立运行,不会阻止MCP服务器
  • 并发:可以同时管理多个进程

安装

使用go install(推荐)

go install github.com/Yakwilik/exec-mcp/cmd/exec-mcp@latest

这将安装 exec-mcp 二进制到 $GOPATH/bin 或 $HOME/go/bin (确保它在你的路径中)。

从源头构建

git clone https://github.com/Yakwilik/exec-mcp.git
cd exec-mcp
go build -o exec-mcp ./cmd/exec-mcp

测试

运行综合测试套件:

# Run all tests
go test ./... -v

# Run specific tool tests
go test ./internal/tools/exec/ -v
go test ./internal/tools/run/ -v
go test ./internal/tools/stop/ -v

# Run integration tests
go test ./internal/mcp/ -v

用法

服务器使用stdio传输进行通信:

./exec-mcp

连接到MCP客户端

此MCP服务器可以连接到任何兼容MCP的客户端,例如:

  • 克劳德桌面版 (人类学)
  • 光标 (有MCP支持)
  • 其他MCP兼容代理
适用于克劳德桌面

将服务器添加到Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

如果通过安装 go install,使用:

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

或者,如果是手动构建的,请使用完整路径:

{
  "mcpServers": {
    "exec-mcp": {
      "command": "/absolute/path/to/exec-mcp",
      "args": []
    }
  }
}

注: 确保 exec-mcp 如果使用第一个选项,则在PATH中,或者使用二进制文件的完整路径。

对于光标

如果Cursor支持MCP服务器,请在Cursor的设置中添加类似的配置。

测试连接

连接后,客户端应该能够使用这些工具:

  • exec_process -启动后台进程
  • run_command -同步执行命令
  • stop_process -通过PID停止进程

工具

执行过程

执行一个进程并返回其PID。

参数:

  • command (string,必填):要执行的命令
  • args (字符串数组,可选):命令行参数
  • dir (string,可选):进程的工作目录
  • env (字符串数组,可选):环境变量(格式:KEY=VALUE)

例子:

{
  "command": "ls",
  "args": ["-l", "/tmp"],
  "dir": "/home/user"
}

答复:

{
  "content": [
    {
      "type": "text",
      "text": "Process started successfully:\n{\n  \"pid\": 12345,\n  \"command\": \"ls\",\n  \"args\": [\"-l\", \"/tmp\"],\n  \"start_time\": \"2024-01-01T12:00:00Z\",\n  \"status\": \"running\"\n}"
    }
  ],
  "structuredContent": {
    "pid": 12345,
    "command": "ls",
    "args": ["-l", "/tmp"],
    "start_time": "2024-01-01T12:00:00Z",
    "status": "running"
  }
}

注: 这 structuredContent 字段包含无需解析JSON文本即可直接访问的结构化数据。

运行命令

执行命令并立即返回其输出(同步执行)。

参数:

  • command (string,必填):要执行的命令
  • args (字符串数组,可选):命令行参数
  • dir (string,可选):进程的工作目录
  • env (字符串数组,可选):环境变量(格式:KEY=VALUE)
  • timeout (整数,可选):超时秒数(0表示无超时)

例子:

{
  "command": "ls",
  "args": ["-l", "/tmp"],
  "dir": "/home/user",
  "timeout": 10
}

答复:

{
  "content": [
    {
      "type": "text",
      "text": "Command executed:\n{\n  \"command\": \"ls\",\n  \"args\": [\"-l\", \"/tmp\"],\n  \"exit_code\": 0,\n  \"stdout\": \"total 0\\n-rw-r--r-- 1 user user 0 Jan 1 12:00 file.txt\",\n  \"stderr\": \"\",\n  \"executed_at\": \"2024-01-01T12:00:00Z\",\n  \"duration_seconds\": 0.05,\n  \"success\": true\n}"
    }
  ],
  "structuredContent": {
    "command": "ls",
    "args": ["-l", "/tmp"],
    "exit_code": 0,
    "stdout": "total 0\n-rw-r--r-- 1 user user 0 Jan 1 12:00 file.txt",
    "stderr": "",
    "executed_at": "2024-01-01T12:00:00Z",
    "duration_seconds": 0.05,
    "success": true
  }
}

注: 此工具等待命令完成并返回完整输出。使用 exec_process 用于后台执行。

停止进程

使用SIGTERM或SIGKILL通过进程的PID停止进程。

参数:

  • pid (整数,必填):要停止的进程ID
  • kill (boolean,可选):如果为true,请使用SIGKILL而不是SIGTERM(强制杀死)

例子:

{
  "pid": 12345,
  "kill": false
}

答复:

{
  "content": [
    {
      "type": "text",
      "text": "Signal SIGTERM sent to process 12345"
    }
  ],
  "structuredContent": {
    "pid": 12345,
    "signal": "SIGTERM",
    "status": "signal_sent"
  }
}

使用结构化数据

MCP服务器返回人类可读的文本和结构化的JSON数据。对于程序化访问,请使用 structuredContent 字段:

// Example: Extract PID from exec_process response
result, err := clientSession.CallTool(ctx, execParams)
if err != nil {
    log.Fatal(err)
}

// Access structured data directly
if processInfoMap, ok := result.StructuredContent.(map[string]interface{}); ok {
    if pidFloat, exists := processInfoMap["pid"]; exists {
        if pid, ok := pidFloat.(float64); ok {
            processID := int(pid)
            // Use processID for stop_process
        }
    }
}

建筑

为了可维护性,该项目被组织成单独的包:

  • ./cmd/exec-mcp/main.go:主要入口点
  • ./internal/mcp/server.go:MCP服务器设置和配置
  • ./internal/tools/tool.go:工具接口定义
  • ./internal/tools/exec/:流程执行工具(后台,基于结构)
  • ./internal/tools/run/:命令执行工具(同步,基于结构)
  • ./internal/tools/stop/:进程终止工具(基于结构)
  • ./internal/mcp/test_helpers.go:用于提取结构化数据的辅助函数

工具架构

每个工具都被实现为一个结构体,该结构体实现了 Tool 接口:

type Tool interface {
    Name() string
    Description() string
    Handle(ctx context.Context, req *mcp.CallToolRequest) (*mcp.CallToolResult, any, error)
}

这种方法提供了:

  • 没有硬编码的工具名称:名称从工具结构中检索
  • 自我记录:每个工具都有自己的名称和描述
  • 类型安全性:接口确保工具实施的一致性
  • 易于测试:工具可以独立测试

好处

此MCP服务器使代理能够:

  • 执行流程并获取其PID以进行精确管理(后台执行)
  • 执行命令并立即获得输出(同步执行)
  • 停止进程,无需使用终端命令搜索它们
  • 使用精确的进程ID同时管理多个进程
  • 使用适当的信号处理(SIGTERM/SIGKILL)进行干净的进程终止
  • 在分离模式下运行进程,而不阻塞MCP服务器
  • 获取同步命令的命令输出、退出代码和执行时间

如果没有此MCP,代理通常需要使用终端命令,如 ps, grep,以及 kill 查找和管理不太可靠且更复杂的流程。

工具与能力

工具数量

3

资源数量

0

提示词数量

0

能力标签

进程管理Go本地部署后台执行同步执行进程终止开发工具

支持客户端

Claude DesktopClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 3 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
exec MCP

MCP World · 本页

3未说明未标注1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

exec MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

exec MCP 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

exec MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

exec MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

exec MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP