YOLO MCP Server

by GongRzhe
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Supports exporting YOLO models to ONNX format for compatibility with different runtime environments

  • Leverages YOLO (You Only Look Once) models for advanced computer vision tasks including object detection, segmentation, classification, and pose estimation with support for model training, validation, and export

YOLO MCP 서비스

모델 컨텍스트 프로토콜(MCP)을 통해 Claude AI와 통합되는 강력한 YOLO(You Only Look Once) 컴퓨터 비전 서비스입니다. 이 서비스를 통해 Claude는 최첨단 YOLO 모델을 사용하여 객체 감지, 분할, 분류 및 실시간 카메라 분석을 수행할 수 있습니다.

특징

  • 객체 감지, 분할, 분류 및 포즈 추정
  • 라이브 객체 감지를 위한 실시간 카메라 통합
  • 모델 학습, 검증 및 내보내기 지원
  • 여러 모델을 결합한 종합적인 이미지 분석
  • 파일 경로와 base64로 인코딩된 이미지 모두 지원
  • Claude AI와의 원활한 통합

설치 지침

필수 조건

  • Python 3.10 이상
  • Git(선택 사항, 저장소 복제용)

환경 설정

  1. 프로젝트에 대한 디렉토리를 만들고 해당 디렉토리로 이동합니다.지엑스피1
  2. 프로젝트 파일을 다운로드하거나 저장소에서 복제하세요.
    # If you have the files, copy them to this directory # If using git: git clone https://github.com/GongRzhe/YOLO-MCP-Server.git .
  3. 가상 환경 만들기:
    # On Windows python -m venv .venv # On macOS/Linux python3 -m venv .venv
  4. 가상 환경을 활성화합니다.
    # On Windows .venv\Scripts\activate # On macOS/Linux source .venv/bin/activate
  5. 설치 스크립트를 실행합니다.
    python setup.py
    설정 스크립트는 다음을 수행합니다.
    • Python 버전을 확인하세요
    • 가상 환경을 만듭니다(아직 만들어지지 않은 경우)
    • 필수 종속성 설치
    • MCP 구성 파일(mcp-config.json)을 생성합니다.
    • Claude를 포함한 다양한 MCP 클라이언트에 대한 출력 구성 정보
  6. 다음과 유사한 설정 스크립트의 출력을 확인하세요.
    MCP configuration has been written to: /path/to/mcp-config.json MCP configuration for Cursor: /path/to/.venv/bin/python /path/to/server.py MCP configuration for Windsurf/Claude Desktop: { "mcpServers": { "yolo-service": { "command": "/path/to/.venv/bin/python", "args": [ "/path/to/server.py" ], "env": { "PYTHONPATH": "/path/to" } } } } To use with Claude Desktop, merge this configuration into: /path/to/claude_desktop_config.json

YOLO 모델 다운로드

서비스를 이용하기 전에 YOLO 모델을 다운로드해야 합니다. 서비스는 다음 디렉터리에서 모델을 검색합니다.

  • 서비스가 실행 중인 현재 디렉토리
  • models 하위 디렉토리
  • server.py의 CONFIG["model_dirs"] 변수에 구성된 다른 디렉토리

모델 디렉토리를 만들고 몇 가지 일반적인 모델을 다운로드하세요.

# Create models directory mkdir models # Download YOLOv8n for basic object detection curl -L https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt -o models/yolov8n.pt # Download YOLOv8n-seg for segmentation curl -L https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt -o models/yolov8n-seg.pt # Download YOLOv8n-cls for classification curl -L https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt -o models/yolov8n-cls.pt # Download YOLOv8n-pose for pose estimation curl -L https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt -o models/yolov8n-pose.pt

Windows PowerShell 사용자의 경우:

# Create models directory mkdir models # Download models using Invoke-WebRequest Invoke-WebRequest -Uri "https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt" -OutFile "models/yolov8n.pt" Invoke-WebRequest -Uri "https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt" -OutFile "models/yolov8n-seg.pt" Invoke-WebRequest -Uri "https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt" -OutFile "models/yolov8n-cls.pt" Invoke-WebRequest -Uri "https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt" -OutFile "models/yolov8n-pose.pt"

Claude 구성

Claude와 함께 이 서비스를 사용하려면:

  1. Claude 웹의 경우: 로컬 컴퓨터에서 서비스를 설정하고 MCP 클라이언트의 설정 스크립트에서 제공하는 구성을 사용합니다.
  2. Claude Desktop의 경우:
    • 설치 스크립트를 실행하고 구성 출력을 기록하세요.
    • Claude Desktop 구성 파일을 찾으세요(경로는 설정 스크립트 출력에 제공됨)
    • Claude Desktop 구성 파일에 구성을 추가하거나 병합합니다.
    • Claude Desktop을 다시 시작하세요

Claude에서 YOLO 도구 사용하기

1. 먼저 사용 가능한 모델을 확인하세요

먼저 시스템에서 어떤 모델을 사용할 수 있는지 확인하세요.

I'd like to use the YOLO tools. Can you first check which models are available on my system? <function_calls> <invoke name="list_available_models"> </invoke> </function_calls>

2. 이미지에서 객체 감지

컴퓨터의 이미지 파일을 분석하려면:

Can you analyze this image file for objects? <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>

다른 모델을 지정할 수도 있습니다.

Can you analyze this image using a different model? <function_calls> <invoke name="analyze_image_from_path"> <parameter name="image_path">/path/to/your/image.jpg</parameter> <parameter name="model_name">yolov8n.pt</parameter> <parameter name="confidence">0.4</parameter> </invoke> </function_calls>

3. 포괄적인 이미지 분석 실행

객체 감지, 분류 등을 결합한 보다 자세한 분석을 원하시면:

Can you perform a comprehensive analysis on this image? <function_calls> <invoke name="comprehensive_image_analysis"> <parameter name="image_path">/path/to/your/image.jpg</parameter> <parameter name="confidence">0.3</parameter> </invoke> </function_calls>

4. 이미지 분할

객체 경계를 식별하고 분할 마스크를 생성하려면 다음을 수행합니다.

Can you perform image segmentation on this photo? <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>

5. 이미지 분류

전체 이미지 콘텐츠를 분류하려면:

What does this image show? Can you classify it? <function_calls> <invoke name="classify_image"> <parameter name="image_data">/path/to/your/image.jpg</parameter> <parameter name="is_path">true</parameter> <parameter name="model_name">yolov8n-cls.pt</parameter> <parameter name="top_k">5</parameter> </invoke> </function_calls>

6. 컴퓨터 카메라 사용

컴퓨터 카메라를 사용하여 실시간 객체 감지를 시작하세요.

Can you turn on my camera and detect objects in real-time? <function_calls> <invoke name="start_camera_detection"> <parameter name="model_name">yolov8n.pt</parameter> <parameter name="confidence">0.3</parameter> </invoke> </function_calls>

최신 카메라 감지 정보를 받으세요:

What are you seeing through my camera right now? <function_calls> <invoke name="get_camera_detections"> </invoke> </function_calls>

완료되면 카메라를 멈춥니다.

Please turn off the camera. <function_calls> <invoke name="stop_camera_detection"> </invoke> </function_calls>

7. 고급 모델 작업

사용자 정의 모델 학습

I want to train a custom object detection model on my dataset. <function_calls> <invoke name="train_model"> <parameter name="dataset_path">/path/to/your/dataset</parameter> <parameter name="model_name">yolov8n.pt</parameter> <parameter name="epochs">50</parameter> </invoke> </function_calls>

모델 검증

Can you validate the performance of my model on a test dataset? <function_calls> <invoke name="validate_model"> <parameter name="model_path">/path/to/your/trained/model.pt</parameter> <parameter name="data_path">/path/to/validation/dataset</parameter> </invoke> </function_calls>

모델을 다른 형식으로 내보내기

I need to export my YOLO model to ONNX format. <function_calls> <invoke name="export_model"> <parameter name="model_path">/path/to/your/model.pt</parameter> <parameter name="format">onnx</parameter> </invoke> </function_calls>

8. 연결 테스트

YOLO 서비스가 올바르게 실행되고 있는지 확인하세요.

Is the YOLO service running correctly? <function_calls> <invoke name="test_connection"> </invoke> </function_calls>

문제 해결

카메라 문제

카메라가 작동하지 않으면 다른 카메라 ID를 시도해 보세요.

<function_calls> <invoke name="start_camera_detection"> <parameter name="camera_id">1</parameter> <!-- Try 0, 1, or 2 --> </invoke> </function_calls>

모델을 찾을 수 없습니다

모델을 찾을 수 없는 경우 구성된 디렉토리 중 하나에 모델을 다운로드했는지 확인하세요.

<function_calls> <invoke name="get_model_directories"> </invoke> </function_calls>

성능 문제

제한된 리소스로 더 나은 성능을 얻으려면 더 작은 모델(예: yolov8x.pt 대신 yolov8n.pt)을 사용하세요.

ID: 9zak16sjss