Skip to main content
Glama
L-x-C

Claude Code Multi-Process MCP Server

by L-x-C

Claude Code 多进程 MCP 服务器

项目定位

基于 FastMCP 框架的多进程并行执行服务器,为 Claude Code CLI 提供异步任务处理能力。


核心架构

┌─────────────────────────────────────────────────────────────┐
│                    Claude Code CLI                           │
└───────────────────────────┬─────────────────────────────────┘
                            │ JSON-RPC (stdio)
┌───────────────────────────▼─────────────────────────────────┐
│                   FastMCP Server                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │              @server.tool Decorators                 │   │
│  │  ┌─────────────┐ ┌──────────────┐ ┌──────────────┐  │   │
│  │  │execute_cc   │ │start_cc_async│ │check_status  │  │   │
│  │  │_task        │ │              │ │              │  │   │
│  │  └─────────────┘ └──────────────┘ └──────────────┘  │   │
│  └─────────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────────┐   │
│  │              TaskManager Class                       │   │
│  │  • SIGCHLD 信号处理 (自动回收僵尸进程)                │   │
│  │  • 进程生命周期管理                                   │   │
│  │  • UUID 任务追踪                                      │   │
│  └─────────────────────────────────────────────────────┘   │
└───────────────────────────┬─────────────────────────────────┘
                            │ subprocess.Popen()
┌───────────────────────────▼─────────────────────────────────┐
│               子进程池 (并行执行)                            │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐          │
│  │ Task 1  │ │ Task 2  │ │ Task 3  │ │ Task N  │          │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘          │
└─────────────────────────────────────────────────────────────┘
                            │
┌───────────────────────────▼─────────────────────────────────┐
│              文件系统持久化 (/tmp/)                          │
│  • cc_process_tasks/  → 任务结果 (JSON)                     │
│  • *.stdout            → 标准输出                           │
│  • *.stderr            → 错误输出                           │
│  • cc_process_mcp.log  → 运行日志                           │
└─────────────────────────────────────────────────────────────┘

MCP 工具集

工具名

类型

功能

execute_cc_task

同步

阻塞执行,返回结果

start_cc_task_async

异步

立即返回 task_id

check_task_status

查询

获取状态和结果

list_active_tasks

监控

列出所有运行中任务

cleanup_task

清理

终止进程并删除数据


关键技术点

技术领域

实现方案

进程管理

subprocess.Popen + SIGCHLD 信号处理

僵尸进程防护

os.waitpid(-1, WNOHANG) 非阻塞自动回收

任务持久化

文件系统 JSON 存储 + 进程状态混合判断

进程存活检测

os.kill(pid, 0) + ps 命令状态验证

输出解析

支持 stream-json/json/text 多格式提取

任务隔离

每任务独立目录 + UUID 标识


技术栈

Python 3.6+  +  FastMCP ≥0.12.0  +  标准库 (signal/subprocess/json)

状态流转

启动 → running → (poll检测/文件mtime判断) → completed/failed/timeout
         ↑                                              ↓
         └────────────── SIGCHLD 自动清理 ←────────────┘

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/L-x-C/cc-multi-process-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server