监事MCP
](https://badge.fury.io/py/supervisord-mcp)  
通过模型上下文协议(MCP)与AI代理集成,简化了Supervisord流程管理。
Supervisord MCP为编码代理提供了通过模型上下文协议直接访问Supervisord流程管理的权限。通过提供标准化的过程控制功能,它消除了shell命令解析的复杂性,并减少了在生产和开发环境中工作的AI代理的令牌消耗。
MCP集成顺序
sequenceDiagram
participant Agent as AI Coding Agent
participant MCP as Supervisord MCP Server
participant Supervisord as Supervisord Daemon
participant Process as Application Process
Agent->>MCP: Request: start_process("webapp")
MCP->>Supervisord: Start process via XML-RPC
Supervisord->>Process: Launch application
Process-->>Supervisord: Process started (PID: 1234)
Supervisord-->>MCP: Process status: RUNNING
MCP-->>Agent: {"status": "ok", "message": "Process started"}
Agent->>MCP: Request: get_logs("webapp", lines=50)
MCP->>Supervisord: Fetch stdout/stderr logs
Supervisord-->>MCP: Log entries
MCP-->>Agent: {"status": "ok", "logs": ["Application started..."]}什么是监事MCP?
Supervisord MCP使AI编码代理能够更有效地与生产流程管理协同工作,从而提高部署可靠性和运营效率。
Supervisord MCP通过模型上下文协议提供直接的过程控制,消除了shell命令的开销,减少了管理生产和开发环境的AI代理的令牌消耗。
核心功能:
- 人工智能集成:对编码代理的内置MCP协议支持
- 生产就绪:基于久经考验的Supervision流程管理器
- 实时监控:进程状态和日志访问
- 稳健运营:可靠的流程生命周期管理
快速开始
安装
uv add supervisord-mcp基本用法
# Start a process (requires it to be configured in supervisord.conf)
uv run supervisord-mcp start webapp
# Check what's running
uv run supervisord-mcp list-processes
# View logs
uv run supervisord-mcp logs webapp
# Get system information
uv run supervisord-mcp info主要特点
🚀 流程管理变得简单
# Start/stop/restart processes
uv run supervisord-mcp start api
uv run supervisord-mcp stop api
uv run supervisord-mcp restart api
# Get detailed status
uv run supervisord-mcp status api📊 全面监测
# List all processes with status
uv run supervisord-mcp list-processes
# View real-time logs
uv run supervisord-mcp logs api --lines 100
uv run supervisord-mcp logs api --stderr
# System information
uv run supervisord-mcp info🤖 AI代理集成
Supervisord MCP包括内置的MCP协议支持,允许AI代理管理您的流程:
# Start MCP server for AI integration
uv run supervisord-mcp mcp使用以下命令在AI代理中配置 建议的stdio传输:
{
"mcpServers": {
"supervisord-mcp": {
"command": "uv",
"args": ["run", "supervisord-mcp", "mcp"],
"cwd": "/path/to/your/project"
}
}
}对于不同的项目设置:
{
"mcpServers": {
"supervisord-mcp": {
"command": "uv",
"args": ["run", "supervisord-mcp", "mcp"],
"cwd": "/app"
}
}
}备注:此工具专为使用MCP的stdio传输方法的生产和开发环境而设计,如 MCP文件这种方法在AI代理和进程管理器之间提供了安全、直接的通信。
常见用例
生产Web应用程序
# Configure in supervisord.conf:
[program:webapp]
command=gunicorn app:application
directory=/app
numprocs=4
autostart=true
autorestart=true
# Then manage via Supervisord MCP:
uv run supervisord-mcp start webapp
uv run supervisord-mcp logs webapp开发环境
# Configure multiple services in supervisord.conf:
[program:frontend]
command=npm run dev
directory=/app/frontend
autostart=false
[program:backend]
command=python manage.py runserver
directory=/app/backend
autostart=false
# Manage the stack:
uv run supervisord-mcp start frontend
uv run supervisord-mcp start backend
uv run supervisord-mcp list-processes微服务
# Multiple services configured in supervisord.conf
uv run supervisord-mcp start auth-service
uv run supervisord-mcp start user-service
uv run supervisord-mcp start notification-service为什么要监督MCP?
vs.马戏团MCP
- 生产重点:Supervisor专为生产环境而设计
- 稳定性:经过多年生产使用的久经考验的流程主管
- 配置:使用标准supervisord.conf进行流程定义
注:AI代理集成限制 Supervisord的XML-RPC API对动态AI代理过程管理有限制: -add_processAPI不支持(需要手动编辑配置文件+reload) - stdout/stderr日志需要单独的API调用 - API没有可用的CPU/内存资源指标 - 启动已运行的进程会抛出ALREADY_STARTED错误(非幂等) 对于AI代理需要动态添加和监视进程的用例, 马戏团MCP 提供了更完整的API。Supervisord MCP最适合与现有Supervisord环境集成。
vs.系统d
- 跨平台:适用于任何使用Python的系统
- 界面友好:简单的命令和AI集成
- 灵活的:易于配置和流程管理
与PM2相比
- Python原生:非常适合Python应用程序
- 人工智能集成:开箱即用的MCP协议支持
- 生产验证:基于广泛使用的Supervision
高级功能
过程控制
# Standard operations
uv run supervisord-mcp start webapp
uv run supervisord-mcp stop webapp
uv run supervisord-mcp restart webapp
# Get detailed status
uv run supervisord-mcp status webapp日志管理
# View logs with options
uv run supervisord-mcp logs webapp --lines 100
uv run supervisord-mcp logs webapp --stderr
# Real-time log monitoring (use supervisorctl tail in another terminal)配置管理
# Reload configuration after changes
uv run supervisord-mcp reload安装和设置
系统要求
- Python 3.10或更高版本
- Supervisor已安装并正在运行
- 任何操作系统(Linux、macOS、Windows)
安装选项
# From PyPI (recommended)
uv add supervisord-mcp
# With pip (alternative)
pip install supervisord-mcp
# From source
git clone https://github.com/aether-platform/supervisord-mcp.git
cd supervisord-mcp
uv sync监督员设置
- 安装监督员:
pip install supervisor- 创建配置目录:
mkdir -p /etc/supervisor/conf.d- 创建主配置文件
/etc/supervisor/supervisord.conf:
[unix_http_server]
file=/tmp/supervisor.sock
[supervisord]
logfile=/tmp/supervisord.log
logfile_maxbytes=50MB
logfile_backups=10
loglevel=info
pidfile=/tmp/supervisord.pid
nodaemon=false
minfds=1024
minprocs=200
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock
[inet_http_server]
port=127.0.0.1:9001
[include]
files = /etc/supervisor/conf.d/*.conf重要:监事MCP要求 [inet_http_server] 要启用HTTP访问的配置块。该工具通过HTTP XML-RPC协议连接到Supervisord,不支持Unix域套接字连接。
- 启动主管:
supervisord -c /etc/supervisor/supervisord.conf验证安装
uv run supervisord-mcp --help
uv run supervisord-mcp info配置
Supervisord MCP使用标准Supervisord配置。将您的程序添加到 /etc/supervisor/conf.d/:
程序配置示例
[program:webapp]
command=gunicorn app:application --bind 0.0.0.0:8000
directory=/app
numprocs=1
autostart=true
autorestart=true
startsecs=10
startretries=3
user=www-data
redirect_stderr=true
stdout_logfile=/var/log/webapp.log自定义服务器URL
# Use custom Supervisord server
uv run supervisord-mcp --server-url http://localhost:9001/RPC2 list-processesMCP工具可用
以下工具可用于AI代理:
- add_process:添加新进程(需要重新加载配置)
- start_process:启动一个进程
- 停止进程:停止进程
- restart_process:重新启动进程
- 列表_流程:列出所有进程
- 获取进程状态:获取详细的流程状态
- get_logs:检索进程日志(stdout/stderr)
- get_system_info:获取Supervisor系统信息
- reload_config:重新加载Supervisor配置
获取帮助
文档
支持
快速命令参考
# Process Management
uv run supervisord-mcp start
uv run supervisord-mcp stop
uv run supervisord-mcp restart
uv run supervisord-mcp status
# Monitoring
uv run supervisord-mcp list-processes
uv run supervisord-mcp logs [--lines N] [--stderr]
uv run supervisord-mcp info
# Configuration
uv run supervisord-mcp reload
# AI Integration
uv run supervisord-mcp mcp人工智能代理的令牌成本分析
减少令牌,代理工作更快。 AI代理在进程监控上花费的每个令牌都是用于解决实际问题的令牌。研究表明,迭代调试阶段消耗了代理工作流中高达59.4%的令牌(代币组学,2026年).通过MCP提供结构化、简洁的响应,我们降低了人工智能辅助调试中最大的成本驱动因素:不必要的往返和非结构化的输出解析。
工具架构开销(上下文驻留成本)
注册MCP工具后,它们的模式定义将在整个会话中持续存在于对话上下文中。
| 项目 | 估计。代币 |
|---|---|
| 9工具模式 | 约1100个代币 |
每次通话令牌成本
| 操作 | 请求 | 响应 | 总计 |
|---|---|---|---|
list_processes (5个程序) | ~30 | ~120-200 | ~150-230 |
get_process_status | ~40 | ~100-150 | ~140-190 |
get_logs (10行) | ~50 | ~150-450 | ~200-500 |
get_logs (50行) | ~50 | ~750-2450 | ~800-2,500 |
get_logs (默认为100行) | ~50 | ~1450-4950 | ~1,500-5,000 |
get_system_info | ~30 | ~50-90 | ~80-120 |
start/stop/restart_process | ~40 | ~30-60 | ~70-100 |
reload_config | ~30 | ~40-70 | ~70-100 |
MCP与原始Linux命令——“快速退出”调查
调试启动后立即死亡的进程时的成本比较。
原始命令(无MCP):12个步骤
supervisorctl status # Step 1: Check all processes
supervisorctl status webapp # Step 2: Check target → FATAL
supervisorctl tail webapp stderr # Step 3: stderr logs (unbounded output risk)
cat /var/log/supervisor/webapp-stderr.log | tail -50 # Step 4: Read log file directly
supervisorctl start webapp # Step 5: Attempt restart
sleep 2 && supervisorctl status webapp # Step 6: Check after restart
supervisorctl tail webapp stderr | tail -20 # Step 7: Check logs again
ps aux | grep webapp # Step 8: Verify process existence
journalctl -u supervisor --no-pager -n 30 # Step 9: systemd logs
cat /etc/supervisor/conf.d/webapp.conf # Step 10: Check configuration
lsof -i :8080 # Step 11: Check port conflicts
free -m # Step 12: Check resource exhaustion- 每次Bash调用都有 约60-90个固定开销代币
supervisorctl tail没有线路限制-- 代币爆炸风险- 非结构化文本输出导致LLM 解析错误
- 推理令牌 在每一步之间消耗(~150-250个令牌/步)
- “快速退出”场景通常需要 2-3个循环 这个序列
MCP(结构化工具):5个步骤
list_processes # Spot FATAL immediately
get_process_status("webapp") # Detailed status
get_logs("webapp", lines=20, stderr=true) # Error logs (bounded to 20 lines)
restart_process("webapp") # Restart
get_process_status("webapp") # Verify after restart比较
| 度量 | 原始命令 | MCP | 减少 |
|---|---|---|---|
| 工具调用 | 8-12 | 3-5 | 60-70% |
| 输出代币 | 2000-8500 | 560-1160 | 70-85% |
| 推理标记(步间) | ~1500-3000 | ~500-1000 | 60-70% |
| 令牌总数(不包括架构) | 2900-9400 | 935-1535 | 60-85% |
| 令牌总数(包括架构) | 2900-9400 | 2035-2635 | 30-70% |
| 往返行程 | 8-12 | 3-5 | 60% |
| 挂钟时间 | 12-36s | ~5s | 60-85% |
| 解析可靠性 | 低(非结构化) | 高(结构化) | -- |
使用Retries进行扩展
需要重复调查时的累计成本(常见于“快速退出”问题):
| 检索 | 原始命令 | MCP | 节省 |
|---|---|---|---|
| 1(成功) | ~2900-9400 | ~935-1535 | 60-85% |
| 2个循环 | ~5000-15000 | ~1500-2500 | 70-83% |
| 3个循环 | ~7000-20000 | ~2000-3500 | 71-82% |
原始命令成本随着重试次数呈指数级增长(探索命令堆积),而MCP成本呈线性增长。
盈亏平衡点:考虑到模式驻留成本(约1100个令牌),MCP在以下情况下成本相等 3-4次工具调用 而且更便宜。
优化提示
| 提示 | 效果 |
|---|---|
限制 get_logs 到 lines=10~20 | 减少70-80% 日志检索成本 |
使用单个 list_processes 呼叫概览 | 无需进行单独的状态呼叫 |
使用 stderr=true 仅获取stderr | 避免在stdout上浪费令牌 |
跳过 get_system_info 仅用于状态检查 | 保存约80-120个令牌 |
参考文献
支持此代币成本分析的研究:
- Tokenomics:量化代币在代理SE中的使用位置 --首次对代理工作流中的代币消费进行实证分析。迭代阶段消耗59.4%的代币
- 帮助还是跨栏?重新思考MCP增强LLM --MCPGAUGE:第一个包含开销在内的4个维度的MCP评估框架
- MCP工具描述有异味! --856个工具/103个MCP服务器的大规模研究。工具描述质量直接影响代理效率
- MCPAgentBench --841个任务,20000多个MCP工具基准。将令牌效率(TEFS)定义为评估指标
- AgentDiet:轨迹缩减 --将输入令牌减少39.9-59.7%
- 代币预算感知LLM推理 --产出代币减少67%,成本降低59%
- 结构化输出的令牌效率 --函数调用是最具令牌效率的输出格式(Microsoft)
许可证
MIT许可证-请参阅 许可证 了解详情。
关于作者
AetherPlatform -构建云原生开发工具的未来
- GitHub: @以太平台
- 项目网站: AetherPlatform
- 联系: aether-platform@re-x.info
我们的使命
我们开发了通过人工智能集成和现代云原生技术提高开发人员生产力的工具。Supervisord MCP是我们更广泛的开发工具生态系统的一部分,旨在简化软件开发生命周期。
其他项目
- AetherSaaS:SaaS平台管理控制台
- Aether编码:人工智能增强的开发环境
- 保险业务:运营和终端管理工具
- 马戏团MCP:Circus的替代流程管理
致谢
我们衷心感谢 Supervisord 开发团队创建了这样一个强大可靠的流程管理基础。他们出色的工作使这个项目成为可能。Supervisord MCP基于其坚实的架构,将现代AI代理集成到流程管理中。
相关项目
- Supervisord -底层流程管理器
- 模型上下文协议 -AI代理通信标准
- AetherPlatform -云原生开发工具
- 马戏团MCP -替代流程管理解决方案
______________________________________________________________________
制作❤️ 通过 AetherPlatform
*主管MCP:生产准备过程管理,人工智能驱动的自动化。*
