使用说明

项目简介

YOLO-MCP-Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为大型语言模型(LLM)客户端提供计算机视觉上下文信息和功能。该服务器集成了先进的 YOLO (You Only Look Once) 模型,使得 LLM,如 Claude,能够执行对象检测、图像分割、图像分类以及实时摄像头分析等视觉任务。通过标准化的 MCP 协议,YOLO-MCP-Server 可以安全、可扩展地为 LLM 应用提供上下文服务框架。

主要功能点

  • 多样的视觉任务: 支持目标检测、图像分割、图像分类和姿态估计。
  • 实时摄像头集成: 能够进行实时摄像头图像分析和对象检测。
  • 模型管理: 支持模型训练、验证和导出,方便用户定制和优化模型。
  • 综合图像分析: 结合多种模型进行全面的图像理解。
  • 灵活的图像输入: 支持本地文件路径和Base64编码的图像数据作为输入。
  • 无缝集成LLM: 通过 MCP 协议与 Claude 等 LLM 客户端无缝集成。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 3.10 或更高版本。
    • 推荐使用 Git 克隆仓库,方便更新。
  2. 下载项目文件:

    git clone https://github.com/GongRzhe/YOLO-MCP-Server.git yolo-mcp-service
    cd yolo-mcp-service

    或直接下载压缩包解压到本地目录。

  3. 创建并激活虚拟环境:

    # 创建虚拟环境
    python3 -m venv .venv
    # 激活虚拟环境 (Linux/macOS)
    source .venv/bin/activate
    # 激活虚拟环境 (Windows)
    .venv\Scripts\activate
  4. 运行安装脚本:

    python setup.py

    安装脚本会自动检查Python版本、创建虚拟环境(如果不存在)、安装依赖,并生成 MCP 配置文件 'mcp-config.json'。安装完成后,会输出 MCP 客户端所需的配置信息。

  5. 下载 YOLO 模型: 在开始使用服务之前,需要下载 YOLO 模型。在项目根目录下创建 'models' 文件夹,并下载所需的 YOLO 模型 (例如 'yolov8n.pt', 'yolov8n-seg.pt', 'yolov8n-cls.pt', 'yolov8n-pose.pt') 到 'models' 文件夹中。可以使用 'curl' 或 'wget' 命令下载,或者手动从 Ultralytics YOLOv8 releases 下载。

    例如,下载 YOLOv8n 模型:

    mkdir models
    curl -L https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt -o models/yolov8n.pt

    其他模型类似下载。

服务器配置

安装脚本 'setup.py' 会在项目根目录下生成 'mcp-config.json' 文件,并输出用于不同 MCP 客户端的配置信息。

对于 Claude Desktop 或 Windsurf 等 MCP 客户端,需要合并以下 JSON 配置到客户端的配置文件中 (通常是 'claude_desktop_config.json')

{
  "mcpServers": {
    "yolo-service": {
      "command": "/path/to/.venv/bin/python",  // Python 虚拟环境的 Python 解释器路径
      "args": [
        "/path/to/server.py" // server.py 脚本的绝对路径
      ],
      "env": {
        "PYTHONPATH": "/path/to" // 项目根目录的绝对路径
      }
    }
  }
}

注意:

  • 请将 '/path/to/.venv/bin/python' 替换为实际的 Python 虚拟环境解释器路径。
  • 请将 '/path/to/server.py' 和 '/path/to' 替换为项目 'server.py' 脚本和项目根目录的实际绝对路径。
  • 客户端配置中 'server name' (这里是 'yolo-service') 可以自定义。

对于 Cursor 等 MCP 客户端,可以直接使用安装脚本输出的命令行,例如:

/path/to/.venv/bin/python /path/to/server.py

将其配置到 Cursor 的 MCP Server 设置中。

基本使用方法

配置完成后,在支持 MCP 协议的 LLM 客户端 (如 Claude) 中,即可通过自然语言指令调用 YOLO-MCP-Server 提供的工具。

常用指令示例:

  1. 检查可用模型:

    我想使用 YOLO 工具,请先检查系统上可用的模型。
    
    <function_calls>
    <invoke name="list_available_models">
    </invoke>
    </function_calls>
  2. 对象检测 (分析本地图片):

    请分析这张图片文件中的物体,文件路径是 /path/to/your/image.jpg
    
    <function_calls>
    <invoke name="analyze_image_from_path">
    <parameter name="image_path">/path/to/your/image.jpg</parameter>
    <parameter name="confidence">0.3</parameter>
    </invoke>
    </function_calls>
  3. 图像分割:

    请对这张照片进行图像分割,文件路径是 /path/to/your/image.jpg,模型使用 yolov8n-seg.pt
    
    <function_calls>
    <invoke name="segment_objects">
    <parameter name="image_data">/path/to/your/image.jpg</parameter>
    <parameter name="is_path">true</parameter>
    <parameter name="model_name">yolov8n-seg.pt</parameter>
    </invoke>
    </function_calls>
  4. 启动摄像头实时检测:

    请打开摄像头,使用 yolov8n.pt 模型进行实时物体检测。
    
    <function_calls>
    <invoke name="start_camera_detection">
    <parameter name="model_name">yolov8n.pt</parameter>
    <parameter name="confidence">0.3</parameter>
    </invoke>
    </function_calls>

更多使用示例和高级功能(如模型训练、验证、导出等)请参考仓库 'README.md' 文档。

故障排除:

  • 摄像头问题: 如果摄像头无法工作,尝试更换 'camera_id' 参数 (0, 1, 2 等)。
  • 模型未找到: 确认模型文件已下载到 'models' 文件夹或配置的 'CONFIG["model_dirs"]' 目录中。
  • 性能问题: 对于资源有限的设备,建议使用较小的模型 (如 'yolov8n.pt')。

信息

分类

AI与计算