YOLO MCP 서비스
모델 컨텍스트 프로토콜(MCP)을 통해 Claude AI와 통합되는 강력한 YOLO(You Only Look Once) 컴퓨터 비전 서비스입니다. 이 서비스를 통해 Claude는 최첨단 YOLO 모델을 사용하여 객체 감지, 분할, 분류 및 실시간 카메라 분석을 수행할 수 있습니다.
특징
- 객체 감지, 분할, 분류 및 포즈 추정
- 라이브 객체 감지를 위한 실시간 카메라 통합
- 모델 학습, 검증 및 내보내기 지원
- 여러 모델을 결합한 종합적인 이미지 분석
- 파일 경로와 base64로 인코딩된 이미지 모두 지원
- Claude AI와의 원활한 통합
설치 지침
필수 조건
- Python 3.10 이상
- Git(선택 사항, 저장소 복제용)
환경 설정
- 프로젝트에 대한 디렉토리를 만들고 해당 디렉토리로 이동합니다.지엑스피1
- 프로젝트 파일을 다운로드하거나 저장소에서 복제하세요.
# If you have the files, copy them to this directory
# If using git:
git clone https://github.com/GongRzhe/YOLO-MCP-Server.git .
- 가상 환경 만들기:
# On Windows
python -m venv .venv
# On macOS/Linux
python3 -m venv .venv
- 가상 환경을 활성화합니다.
# On Windows
.venv\Scripts\activate
# On macOS/Linux
source .venv/bin/activate
- 설치 스크립트를 실행합니다.설정 스크립트는 다음을 수행합니다.
- Python 버전을 확인하세요
- 가상 환경을 만듭니다(아직 만들어지지 않은 경우)
- 필수 종속성 설치
- MCP 구성 파일(mcp-config.json)을 생성합니다.
- Claude를 포함한 다양한 MCP 클라이언트에 대한 출력 구성 정보
- 다음과 유사한 설정 스크립트의 출력을 확인하세요.
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와 함께 이 서비스를 사용하려면:
- Claude 웹의 경우: 로컬 컴퓨터에서 서비스를 설정하고 MCP 클라이언트의 설정 스크립트에서 제공하는 구성을 사용합니다.
- 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)을 사용하세요.