服务管理工具

BillBot服务管理器是一个MCP服务器,提供统一的BillBot基础设施服务管理,包括监控状态、启动/停止服务、查看日志和运行健康检查。

  • by mattferry
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 oogleyskr/billbot-service-manager

使用说明

BillBot服务经理

为BillBot基础设施提供统一服务管理的MCP(模型上下文协议)服务器。监控状态、启动/停止服务、尾日志,并在跨越systemd单元、shell脚本和多模式AI工作器的13个服务上运行健康检查——所有这些都是通过一个MCP接口完成的。

特性

  • 统一管理 3种不同服务类型(systemd、脚本、多模式)的13项服务
  • 多层健康检查 --TCP端口探测,HTTP /health 端点、systemd单元状态、PID文件检测,以及 ss 端口查找回退
  • 日志聚合 --来自journalctl(systemd)或日志文件(脚本/多模式)的尾部日志,具有可配置的行数(1-500)
  • ASCII表输出 用于一览所有服务的健康仪表板
  • 零外部依赖 除了用于模式验证的MCP SDK和Zod之外
  • 标准服务器传输 --通过stdin/stdout进行通信,为任何兼容MCP的客户端做好准备

工具

工具 说明 参数
service_status 获取一个或所有服务的状态(名称、状态、端口、PID、正常运行时间、运行状况) service:服务ID或 "all"
service_start 启动特定服务 service:服务ID
service_stop 停止特定服务 service:服务ID
service_restart 重新启动服务(停止+启动,或 systemctl restart 系统d) service:服务ID
service_logs 跟踪服务的最近日志 service:服务ID, lines:1-500(默认值50)
service_health 快速检查所有服务的运行状况,返回紧凑的ASCII表 (无)

托管服务

ID 名称 类型 端口 运行状况检查
dgx-tunnel DGX火花隧道 systemd 8001 TCP
dgx-tunnel-fast DGX火花隧道(快速) systemd 8003 TCP
heartbeat 心跳(Qwen3-1.7B) systemd 8200 HTTP /health
gateway OpenClaw网关 systemd 18789 TCP
mcpjungle MCPJungle网关 脚本 8090 HTTP /health
stt STT(更快的耳语) 多模式 8101 HTTP /health
vision 视觉(Qwen2.5-VL-7B-AWQ) 多模式 8102 HTTP /health
tts TTS(Kokoro-82M) 多模式 8103 HTTP /health
imagegen ImageGen(SDXL Turbo) 多模式 8104 HTTP /health
embeddings 嵌入(nomic嵌入) 多模式 8105 HTTP /health
docutils DocUtils 多模式 8106 HTTP /health
findata FinData(金融) 多模式 8107 HTTP /health
memory-cortex 内存Cortex中间件 脚本 8300 HTTP /health

服务类型

  • 系统守护进程 --通过管理 systemctl --user.日志通过 journalctl。重新启动使用本机 systemctl restart.
  • 脚本 --由shell脚本启动/停止。从文件读取的日志。重启不会停止+1s暂停+启动。
  • 多模态 --多模式堆栈上的GPU加速AI服务。与脚本类型相同的生命周期,PID文件位于 /tmp/multimodal-<id>.pid.

建筑学

src/
  index.ts      (211 LOC)  MCP server setup, tool definitions, input validation
  registry.ts   (208 LOC)  Service registry with all 13 service definitions
  checks.ts     (187 LOC)  Multi-layer health checking (TCP, HTTP, systemd, PID, ss)
  actions.ts    ( 64 LOC)  Start/stop/restart/logs execution wrappers

健康检查管道 (按优先顺序):

  1. 系统状态 --对于systemd类型的服务,查询 ActiveState, MainPID,以及 ActiveEnterTimestamp
  2. TCP端口探测器 --尝试进行套接字连接 127.0.0.1:<port> 超时2秒
  3. HTTP健康端点 --服务与 healthCheck: "http",点击配置 /health 路径(5秒超时)并报告状态代码和响应时间
  4. PID文件检测 --从已知路径读取PID,并用 kill -0
  5. ss 端口查找 --回退以从中提取PID ss -tlnp 服务端口的输出

入门指南

先决条件

  • Node.js 18+
  • npm

安装

git clone https://github.com/oogleyskr/billbot-service-manager.git
cd billbot-service-manager
npm install

构建

npm run build

从编译TypeScript src/ 到 build/ 使用 tsc (目标ES2022,Node16模块分辨率)。

跑

npm start

服务器使用MCP StdioServerTransport通过stdin/stdout进行通信。它不是以交互方式运行的——将其连接到MCP客户端。

使用MCP

MCPJungle配置

{
  "name": "services",
  "transport": "stdio",
  "command": "node",
  "args": ["/home/mferr/billbot-service-manager/build/index.js"],
  "description": "BillBot service manager — status, start, stop, restart, logs, health"
}

克劳德桌面/OpenClaw配置

添加到MCP服务器配置中:

{
  "mcpServers": {
    "services": {
      "command": "node",
      "args": ["/home/mferr/billbot-service-manager/build/index.js"]
    }
  }
}

工具调用示例

查看所有服务:

{ "tool": "service_status", "arguments": { "service": "all" } }

健康仪表板:

{ "tool": "service_health", "arguments": {} }

输出:

Service            | Port  | Status  | Health              | Response
-------------------|-------|---------|---------------------|----------
dgx-tunnel         | 8001  | running | reachable           | -
heartbeat          | 8200  | running | healthy             | 12ms
gateway            | 18789 | running | reachable           | -
stt                | 8101  | stopped | -                   | -
...

10/13 services running

尾梁:

{ "tool": "service_logs", "arguments": { "service": "gateway", "lines": 100 } }

重新启动服务:

{ "tool": "service_restart", "arguments": { "service": "mcpjungle" } }

相关转载

回购 描述
借贷者 OpenClaw分支与DGX Spark集成(主网关)
billbot安卓 安卓配套应用(Kotlin+Jetpack Compose)
比尔博特·麦克彭格尔 MCPJungle网关配置和脚本
billbot记忆皮层 长期存储系统(SQLite+FTS5)
billbot工作区 BillBot工作区文件和配置
多模态堆栈 本地多模式人工智能服务(RTX 3090)

许可证

麻省理工学院