进程编排管理工具

一个通过MCP协议提供进程编排和管理功能的服务器,支持列出、启动、停止、重启进程,查看日志和状态,管理项目配置等功能。

  • by 0xErgod
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 abderraouf-belalia/process-compose-mcp

使用说明

过程组成mcp

MCP(模型上下文协议)服务器,使Claude能够通过以下方式管理和编排流程 流程组成.

概述

该服务器将process-compose的REST API公开为MCP工具,允许Claude:

  • 列出、启动、停止和重新启动进程
  • 查看流程日志和状态
  • 将流程扩展到多个副本
  • 管理项目配置(重新加载、停止)
  • 检查流程依赖关系

可用工具

工具 说明
list_processes 列出所有进程及其当前状态、运行状况和资源使用情况
get_process 获取特定流程的详细状态和资源信息
get_process_logs 从进程中检索最近的日志输出(支持分页)
start_process 按名称启动已停止的进程
stop_process 按名称停止正在运行的进程
restart_process 重新启动进程(停止然后启动)
scale_process 将进程扩展为使用指定数量的副本运行
get_project_info 获取有关当前流程组成项目的信息
reload_project 从磁盘重新加载进程组合配置(热重新加载)
stop_project 停止所有进程并关闭项目
get_dependency_graph 获取流程依赖关系图
health_check 检查进程组合是否处于活动状态并响应

先决条件

  1. 流程组成 必须在启用API的情况下安装和运行(默认端口8080)

    • 安装:https://f1bonacc1.github.io/process-compose/installation/
    • 运行方式: process-compose up (默认情况下启用API)
  2. 防锈工具链 (从源头建设)

    • 安装:https://rustup.rs/

从源头构建

# Clone or navigate to the project
cd process-compose-mcp

# Build release binary
cargo build --release

# Binary location
# Windows: target/release/process-compose-mcp.exe
# Linux/macOS: target/release/process-compose-mcp

安装

选项1:克劳德桌面(JSON配置)

  1. 找到您的Claude Desktop配置文件:

    • 视窗: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. 添加MCP服务器配置:

{
  "mcpServers": {
    "process-compose": {
      "command": "/absolute/path/to/process-compose-mcp",
      "env": {
        "PROCESS_COMPOSE_URL": "http://localhost:8080"
      }
    }
  }
}

Windows示例:

{
  "mcpServers": {
    "process-compose": {
      "command": "C:\\path\\to\\process-compose-mcp.exe",
      "env": {
        "PROCESS_COMPOSE_URL": "http://localhost:8080"
      }
    }
  }
}
  1. 重新启动克劳德桌面

选项2:Claude代码命令行界面

使用Claude Code CLI添加MCP服务器:

# Add the server (use absolute path to the binary)
claude mcp add process-compose /absolute/path/to/process-compose-mcp

# Or with custom environment variables
claude mcp add process-compose /absolute/path/to/process-compose-mcp \
  -e PROCESS_COMPOSE_URL=http://localhost:8080

# Verify it was added
claude mcp list

Windows示例:

claude mcp add process-compose C:\path\to\process-compose-mcp.exe -e PROCESS_COMPOSE_URL=http://localhost:8080

要删除服务器,请执行以下操作:

claude mcp remove process-compose

选项3:项目特定配置

创建一个 .mcp.json 项目根目录中的文件:

{
  "mcpServers": {
    "process-compose": {
      "command": "/absolute/path/to/process-compose-mcp",
      "env": {
        "PROCESS_COMPOSE_URL": "http://localhost:8080"
      }
    }
  }
}

只有从该项目目录运行Claude Code时,此配置才会处于活动状态。

配置

环境变量

变量 默认值 描述
PROCESS_COMPOSE_URL http://localhost:8080 进程组件API的URL
RUST_LOG (无) 记录级别(例如。, info, debug, trace)

进程组成安装程序

确保进程组件在启用API的情况下运行。默认情况下,API运行在端口8080上。

示例 process-compose.yaml:

version: "0.5"

processes:
  web:
    command: npm run dev
    working_dir: ./frontend

  api:
    command: cargo run
    working_dir: ./backend
    depends_on:
      db:
        condition: process_healthy

  db:
    command: docker compose up postgres
    readiness_probe:
      http_get:
        path: /health
        port: 5432

启动流程组成:

process-compose up

使用示例

安装后,您可以让Claude管理您的进程:

列出所有流程:

“当前正在运行哪些进程?”

查看日志:

“显示api进程的最后50行日志”

重新启动服务:

“重新启动web进程”

扩展服务:

“将工作进程扩展到3个副本”

检查健康状况:

“进程组合是否正在运行?所有服务的状态如何?”

重新加载配置:

“重新加载进程组合配置”

MCP检验员测试

您可以使用MCP检查器在没有Claude的情况下测试服务器:

npx @modelcontextprotocol/inspector /path/to/process-compose-mcp

这将打开一个web UI,您可以在其中:

  • 查看所有可用工具
  • 具有自定义参数的测试工具调用
  • 查看请求/响应有效载荷

故障排除

服务器未连接

  1. 验证进程组合是否正在运行:

    curl http://localhost:8080/live
    # Should return: {"status":"alive"}
    
  2. 通过设置检查服务器日志 RUST_LOG:

    {
      "mcpServers": {
        "process-compose": {
          "command": "/path/to/process-compose-mcp",
          "env": {
            "PROCESS_COMPOSE_URL": "http://localhost:8080",
            "RUST_LOG": "debug"
          }
        }
      }
    }
    

工具未出现在Claude中

  1. 配置更改后重新启动克劳德桌面/代码
  2. 验证二进制路径是否绝对正确
  3. 检查二进制文件是否具有执行权限(Linux/macOS):
    chmod +x /path/to/process-compose-mcp
    

连接被拒绝错误

确保 PROCESS_COMPOSE_URL 匹配进程组合实际运行的位置。如果使用Docker或WSL,您可能需要使用不同的地址(例如。, host.docker.internal).

发展

# Run in development mode
cargo run

# Run with logging
RUST_LOG=debug cargo run

# Run tests
cargo test

# Format code
cargo fmt

# Lint
cargo clippy

许可证

麻省理工学院

相关项目