Skip to content

A FastMCP-based multi-process execution server for Claude Code that provides asynchronous task processing capabilities.

Notifications You must be signed in to change notification settings

L-x-C/cc-multi-process-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 自动清理 ←────────────┘

About

A FastMCP-based multi-process execution server for Claude Code that provides asynchronous task processing capabilities.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages