返回市场
工具-dmcpup

工具-dmcpup

作者:lfontanez0 星标更新:2025-10-24

项目介绍

dmcpu - Docker MCP Up

一个全面的服务管理器,用于MCP(模型上下文协议)服务及其MCPO(MCP编排器)代理。此工具通过单个命令简化了多个基于MCP的AI助手服务的管理。

🐋 dmcpu 是什么?

dmcpu(Docker MCP Up)是一个Bash脚本,它编排并管理多个MCP服务,提供以下功能:

  • 服务生命周期管理:启动、停止和监控MCP服务
  • 端口管理:自动解决端口冲突
  • 依赖检查:验证所需工具和依赖项
  • 状态监控:实时显示服务状态
  • 优雅关闭:干净地终止所有服务

💻 安装与设置

快速设置(推荐)

  1. 将仓库克隆到您的家目录中:

    cd ~
    git clone https://github.com/lfontanez/tool-dmcpu.git
    
  2. 创建别名以方便使用:

    # 在~/.local/bin中创建符号链接(确保目录存在)
    mkdir -p ~/.local/bin
    ln -sf ~/tool-dmcpu/dmcpu.sh ~/.local/bin/dmcpu
    
    # 设置可执行权限
    chmod +x ~/.local/bin/dmcpu
    
  3. 将~/.local/bin添加到您的PATH中(如果尚未添加):

    # 添加到~/.bashrc、~/.zshrc或您的shell配置文件中
    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc
    
  4. 验证安装:

    dmcpu --help
    

手动设置

如果您希望将仓库放在其他位置:

# 克隆到任意位置
cd /path/to/your/preferred/location

# 创建别名
ln -sf /path/to/your/preferred/location/tool-dmcpu/dmcpu.sh ~/.local/bin/dmcpu
chmod +x ~/.local/bin/dmcpu

📋 前提条件

必需工具

  • docker - 容器运行时
  • lsof - 端口监控
  • uvx - Python工具安装器
  • npx - Node.js包运行器

Docker容器

  • Archon:位于 /home/lfontanez/dev/archon/
  • Crawl4AI:必须存在名为 crawl4ai 的容器

🚀 使用方法

启动所有服务

dmcpu --start

停止所有服务

dmcpu --kill

检查服务状态

dmcpu --status

显示ASCII标志

dmcpu --ascii

显示帮助信息

dmcpu --help

🔧 服务启动顺序

  1. Docker MCP网关(端口8811)
  2. MCPO Docker MCP(端口7001)
  3. Archon容器(端口8051)
  4. MCPO Archon(端口7000)
  5. Crawl4AI容器(端口11235)
  6. MCPO Crawl4AI(端口7002)

🎯 功能

服务管理

  • 自动PID管理:跟踪服务进程
  • 端口冲突检测:防止端口冲突
  • 优雅终止:正确关闭服务
  • 健康检查:验证服务启动

用户体验

  • 彩色输出:易于阅读的终端输出
  • ASCII艺术:有趣的Docker鲸鱼标志
  • 进度指示器:清晰的启动进度
  • 错误处理:详细的错误消息

安全特性

  • 依赖验证:检查所需的工具
  • 进程验证:确认服务健康
  • 清理:退出时删除PID文件
  • 信号处理:正确的中断处理

🛠️ 技术细节

配置

  • PID目录/tmp/dockermcp/
  • 端口范围:7000-7002, 8811, 8051, 11235
  • 超时:端口验证重试10次

错误处理

  • 验证端口号(1-65535)
  • 启动后检查进程健康
  • 提供详细的错误消息
  • 失败时自动清理

🐛 故障排除

常见问题

端口已被使用

# 查看哪个进程正在使用该端口
lsof -i :8811
# 终止冲突进程
kill -9 <PID>

缺少依赖项

# 安装缺失的工具
npm install -g @modelcontextprotocol/inspector
pip install uv

容器未找到

  • 确保Archon目录存在于 /home/lfontanez/dev/archon/
  • 验证Crawl4AI容器是否存在:docker ps -a | grep crawl4ai

调试模式

为了进行详细的调试,您可以修改脚本以移除输出重定向:

# 移除服务命令中的 "> /dev/null 2>&1"
# 以查看详细输出

📝 开发

文件结构

dmcpu/
├── dmcpu.sh          # 主服务管理脚本
├── README.md         # 此文档
└── .gitignore        # Git忽略规则

添加新服务

要添加新服务:

  1. 将端口添加到PORTS数组中
  2. 创建遵循现有模式的启动函数
  3. start_all()函数中按正确的启动顺序添加
  4. 更新show_status()函数

🤝 贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 进行更改
  4. 彻底测试
  5. 提交拉取请求

📄 许可证

MIT许可证 - 详情见LICENSE文件

由Leamsi Fontánez(leamsi.fontanez@gmail.com)创建

R1软件 - 灵魂在软件中