进程管理服务器

MCP Terminal是一个用于管理长时间运行进程和日志的服务器,支持AI代理(如Claude Code)启动、停止和监控进程,并提供实时日志捕获功能。

  • by h004888
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 h004888/mcp_terminal_process

使用说明

MCP终端

用于管理长时间运行的进程和日志的MCP服务器。使AI代理(Claude Code)能够通过实时日志捕获来启动、停止和监视进程。


越南语

特征

  • 启动/停止进程 运行长进程并安全关闭它们。
  • 实时日志记录 所有stdout/stderr都会自动写入日志文件。
  • 搜索日志 通过关键字或正则表达式查找日志
  • 过程管理 列出正在运行的进程。
  • 日志轮转 -当达到10MB时自动旋转日志,以避免磁盘满
  • 安全关闭 当服务器停止时,所有进程都将被清理。

安装

要求

  • Node.js>=18
  • npm

步骤

# Clone repository
git clone https://github.com/h004888/mcp_terminal_process.git
cd mcp-terminal

# Cài đặt dependencies
npm install

# Build
npm run build

使用Claude Code

添加到文件 .claude.json 克劳德代码:

窗户: %USERPROFILE%\.claude.json macOS/Linux: ~/.claude.json

{
  "mcpServers": {
    "mcp-terminal": {
      "command": "node",
      "args": ["C:/đường-dẫn/đến/mcp-terminal/dist/index.js"]
    }
  }
}

OpenCode配置

添加到文件 opencode.json 从OpenCode:

默认路径: ~/.config/opencode/opencode.json

{
  "mcp": {
    "mcp-terminal": {
      "type": "local",
      "command": ["node", "/đường-dẫn/đến/mcp-terminal/dist/index.js"],
      "environment": {},
      "timeout": 5000
    }
  }
}

英语

特性

  • 启动/停止进程 -启动长时间运行的进程并优雅地终止它们
  • 实时日志捕获 -所有stdout/stderr都会自动写入日志文件
  • 日志搜索 -按关键字或正则表达式搜索日志
  • 流程管理 -列出所有正在运行的进程
  • 日志轮转 -10MB自动旋转,防止磁盘耗尽
  • 优雅地关闭 -服务器停止时清理所有进程

安装

先决条件

  • Node.js>=18
  • npm

步骤

# Clone the repository
git clone https://github.com/h004888/mcp_terminal_process.git
cd mcp-terminal

# Install dependencies
npm install

# Build
npm run build

Claude代码配置

添加到您的克劳德代码 .claude.json:

窗户: %USERPROFILE%\.claude.json macOS/Linux: ~/.claude.json

{
  "mcpServers": {
    "mcp-terminal": {
      "command": "node",
      "args": ["C:/path/to/mcp-terminal/dist/index.js"]
    }
  }
}

配置后,重新启动Claude Code以加载MCP服务器。

OpenCode配置

添加到您的OpenCode opencode.json:

默认位置: ~/.config/opencode/opencode.json

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mcp-terminal": {
      "type": "local",
      "command": ["node", "/path/to/mcp-terminal/dist/index.js"],
      "environment": {},
      "timeout": 5000,
      "enabled": true
    }
  }
}

完整路径示例(Windows):

{
  "mcp": {
    "mcp-terminal": {
      "type": "local",
      "command": ["node", "C:/Users/ADMIN/Downloads/mcp-terminal/dist/index.js"],
      "environment": {},
      "timeout": 5000,
       "enabled": true
    }
  }
}

使用npx的示例(如果发布到npm):

{
  "mcp": {
    "mcp-terminal": {
      "type": "local",
      "command": ["npx", "-y", "mcp-terminal"],
      "timeout": 5000,
       "enabled": true
    }
  }
}

配置后,重新启动OpenCode以加载MCP服务器。

工具

start_process

启动一个长时间运行的进程。

{
  "id": "backend",
  "command": "npm run dev",
  "cwd": "C:/path/to/project"
}

参数:

  • id (必需)-唯一流程标识符
  • command (必填)-执行命令
  • cwd (可选)-工作目录

停止进程

停止正在运行的进程。

{
  "id": "backend"
}

get_logs

从进程中检索日志。

{
  "id": "backend",
  "lines": 100
}

参数:

  • id (必填)-流程标识符
  • lines (可选)-仅返回最后N行

search_logs

在日志中搜索关键字或正则表达式。

{
  "id": "backend",
  "keyword": "ERROR",
  "regex": false
}

参数:

  • id (必填)-流程标识符
  • keyword (必填)-搜索词
  • regex (可选)-使用正则表达式搜索(默认值:false)

列表_流程

列出所有正在运行的进程。

{}

返回所有当前正在运行的进程及其ID、状态、命令和日志文件路径。

使用示例

启动后端服务器

/mcp start_process {"id": "backend", "command": "npm run dev", "cwd": "C:/my-project"}

检查日志

/mcp get_logs {"id": "backend"}

搜索错误

/mcp search_logs {"id": "backend", "keyword": "Exception"}

列出所有流程

/mcp list_processes {}

停止进程

/mcp stop_process {"id": "backend"}

建筑

User (Claude Code) → MCP Protocol → MCP Server → Process Manager → logs/*.log

组件:

  • MCP 服务器 -处理MCP协议并公开工具
  • 进程管理器 -生成、跟踪和杀死子进程
  • 日志服务 -基于文件的日志存储,轮换10MB

日志文件

日志存储在 logs/ 目录:

  • logs/{id}.log -当前活动日志
  • logs/{id}.1.log -旋转原木(最旧)
  • 等等

当日志超过10MB时,会进行轮换。每个进程最多保留5个旋转文件。

许可证

麻省理工学院