Zooo.kr Zooo.kr 돌아가기

클로드 데스크톱 MCP 가이드

클로드 데스크톱과 MCP를 활용하여 웹 브라우징, 코드 디버깅, 데이터베이스 연동 등 다양한 작업을 자동화하세요.

개요

MCP(Model Context Protocol)는 클로드 데스크톱에서 웹 브라우징, 프로그램 실행, 코딩, 디버깅, 테스트 등의 작업을 자동화할 수 있게 해주는 프로토콜입니다.

웹 브라우징

Playwright를 통해 웹 페이지 접속, 클릭, 폼 작성 등의 작업 자동화

터미널 명령 실행

Terminal을 통해 다양한 명령어 실행 및 결과 확인

검색 및 정보 수집

Google Search를 통해 최신 정보 검색 및 수집

파일 시스템 접근

Filesystem을 통해 파일 생성, 읽기, 쓰기, 삭제 등의 작업 수행

설치 방법

간단한 설정으로 클로드 데스크톱에 MCP를 연결하고 사용하세요.

1

필수 프로그램 설치

작업을 시작하기 전 필요한 프로그램을 설치합니다.

2

기본 설정 방법

  1. Claude Desktop 설치 및 실행
  2. 파일 > 설정 > 개발자 > 설정 편집 클릭
  3. claude_desktop_config.json 파일이 열리면 MCP 설정 내용 붙여넣기
  4. Claude Desktop 재시작 (Windows의 경우 컴퓨터 재부팅 필요할 수 있음)
  5. 정상적으로 설정되면 Claude Desktop에 망치 아이콘과 숫자(33 또는 42)가 표시됨
3

MCP 설정 파일 구성

아래 내용을 claude_desktop_config.json 파일에 복사하세요. C:\\xampp\\htdocs\\mysite 부분은 원하는 작업 폴더 경로로 변경하세요.

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@executeautomation/playwright-mcp-server"
      ]
    },
    "terminal": {
      "command": "npx",
      "args": [
        "-y",
        "@dillip285/mcp-terminal"
      ],
      "config": {
        "allowedCommands": [
          "npm","npx","node","git","python","pip","pipx","pipenv","poetry",
          "pytest","tox","flake8","pylint","black","isort","mypy",
          "coverage","cProfile","pyinstrument","ab","wrk","siege",
          "locust","k6","hey","pytest-benchmark","curl","http","ls","dir", "mysql"
        ],
        "defaultTimeout": 30000
      }
    },
    "googleSearch": {
      "command": "npx",
      "args": [
        "-y",
        "g-search-mcp"
      ]
    },
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\xampp\\htdocs\\mysite"
      ]
    }
  }
}

사용법

클로드 데스크톱 MCP를 활용하기 위한 다양한 방법을 알아보세요.

프로젝트 지침 설정

Claude Desktop에서 새 프로젝트를 생성한 후, 프로젝트 지침에 다음과 같은 내용을 포함시켜 MCP 기능을 활성화할 수 있습니다:

너는 MCP를 사용할 수 있어.
                다음 예시들을 살펴보고 적절히 활용해줘.
                
                Node.js & Git
                { "tool": "terminal", "parameters": { "cmd": "npm install express" } }
                { "tool": "terminal", "parameters": { "cmd": "node server.js" } }
                { "tool": "terminal", "parameters": { "cmd": "git clone https://github.com/user/repo.git" } }
                
                파이썬 개발 도구
                { "tool": "terminal", "parameters": { "cmd": "python --version" } }
                { "tool": "terminal", "parameters": { "cmd": "pip install requests" } }
                { "tool": "terminal", "parameters": { "cmd": "pipx install black" } }
                { "tool": "terminal", "parameters": { "cmd": "pipenv install" } }
                { "tool": "terminal", "parameters": { "cmd": "poetry add numpy" } }
                { "tool": "terminal", "parameters": { "cmd": "pytest tests/" } }
                { "tool": "terminal", "parameters": { "cmd": "tox" } }
                { "tool": "terminal", "parameters": { "cmd": "flake8 src/" } }
                { "tool": "terminal", "parameters": { "cmd": "pylint module.py" } }
                { "tool": "terminal", "parameters": { "cmd": "black ." } }
                { "tool": "terminal", "parameters": { "cmd": "isort ." } }
                { "tool": "terminal", "parameters": { "cmd": "mypy app.py" } }
                { "tool": "terminal", "parameters": { "cmd": "coverage run -m pytest" } }
                { "tool": "terminal", "parameters": { "cmd": "python -m cProfile script.py" } }
                { "tool": "terminal", "parameters": { "cmd": "pyinstrument script.py" } }
                
                성능·부하 테스트 도구
                { "tool": "terminal", "parameters": { "cmd": "ab -n 1000 -c 10 http://localhost:3000/" } }
                { "tool": "terminal", "parameters": { "cmd": "wrk -t2 -c100 -d30s http://localhost:3000/" } }
                { "tool": "terminal", "parameters": { "cmd": "siege -c25 -t1M http://localhost:3000/" } }
                { "tool": "terminal", "parameters": { "cmd": "locust -f locustfile.py" } }
                { "tool": "terminal", "parameters": { "cmd": "k6 run script.js" } }
                { "tool": "terminal", "parameters": { "cmd": "hey -n1000 -c50 http://localhost:3000/" } }
                { "tool": "terminal", "parameters": { "cmd": "pytest --benchmark-only" } }
                
                 기타 유틸리티
                { "tool": "terminal", "parameters": { "cmd": "curl https://api.example.com/data" } }
                { "tool": "terminal", "parameters": { "cmd": "http GET https://api.example.com/data" } }
                { "tool": "terminal", "parameters": { "cmd": "ls -la" } }
                { "tool": "terminal", "parameters": { "cmd": "dir" } }
                
                // MySQL 예시 (terminal tool 사용)
                [
                  { "tool": "terminal",
                    "parameters": {
                      "cmd": "mysql -uroot -p -e \"SHOW TABLES;\" shorts_generator"
                    }
                  },
                  { "tool": "terminal",
                    "parameters": {
                      "cmd": "mysql -uroot -p -e \"SELECT id, title FROM videos LIMIT 5;\" shorts_generator"
                    }
                  },
                  { "tool": "terminal",
                    "parameters": {
                      "cmd": "mysql -uroot -p -e \"INSERT INTO videos (title, description) VALUES ('샘플','테스트');\" shorts_generator"
                    }
                  },
                  { "tool": "terminal",
                    "parameters": {
                      "cmd": "mysql -uroot -p -e \"BEGIN; UPDATE videos SET view_count = view_count + 1 WHERE id = 42; COMMIT;\" shorts_generator"
                    }
                  }
                ]
                
                
                
                
                Playwright MCP Server 사용 예시
                페이지 열기
                { "tool":"playwright","parameters":{"action":"goto","url":"https://example.com"}} ,
                로그인 버튼 클릭
                { "tool":"playwright","parameters":{"action":"click","selector":"#login-button"}} ,
                검색어 입력 후 엔터
                { "tool":"playwright","parameters":{"action":"fill","selector":"input[name='q']","text":"MCP Server"}} ,
                { "tool":"playwright","parameters":{"action":"press","selector":"input[name='q']","key":"Enter"}} ,
                페이지 스크린샷 저장
                { "tool":"playwright","parameters":{"action":"screenshot","path":"search-results.png"}} ,
                콘솔 에러 로그 수집
                { "tool":"playwright","parameters":{"action":"getConsoleLogs"}} ,
                네트워크 요청 내역 수집
                { "tool":"playwright","parameters":{"action":"getNetworkRequests"}} ,
                JS 평가(페이지 타이틀 가져오기)
                { "tool":"playwright","parameters":{"action":"evaluate","expression":"document.title"}} ,
                접근성 스냅샷(구조화된 DOM)
                { "tool":"playwright","parameters":{"action":"accessibilitySnapshot"}}
                
                
                다음 지침을 지켜줘.
                
                1. 폴더 및 파일 생성 및 수정은 C:\xampp\htdocs\mysite 폴더에 대해 진행해줘.
                2. 작업이 진행될 때마다, 그에 맞게 docs/project_plan.md 파일을 업데이트해줘.
                3. mysite 폴더에는 이미 생성된 파일들이 있어. 기존에 존재하는 파일들 확인하여 작업 진행해야 해. 
                4. 소스들이 많아 꼭 필요한 파일들만 읽은 후, 편집 또는 추가로 진행해줘. 긴 파일은 2개나 3개로 나누어서 작업해줘.
                5. 각 파일이 18kb를 초과하지 않도록 긴 내용은 미리 여러 개의 파일로 기획하여 진행해줘.
                6. docs 폴더에 파일을 업데이트하거나 생성할 때, 꼭 필요한 내용만 넣어서 용량을 줄여줘.
                7. project_plan.md 파일에는 프로젝트 중요 사항 및 완료된 일, 해야할 일이 기록되어야 해.
                8. 테스트 진행할 때는 MCP 도구를 이용해 진행해줘. localhost로 브라우저를 띄우고 각 메뉴도 클릭하고 하나씩 눌러보면서 진행해줘.
                9. 쿼리 실행 등 DB 연결을 위해 mysql 쓸 때는 다음처럼 해봐.
                { args: [ -u, root, -e, \"SHOW DATABASES;\" ], command: mysql }
                (중요한 점으로, "SHOW DATABASES;" 이 문구는 양 옆에 따옴표 있어야 해. 필수야)
                
                10. C:\xampp\htdocs\mysite 폴더는 http://localhost를 가리켜. 따라서 http://localhost 접속시 C:\xampp\htdocs\mysite 폴더의 인덱스 파일이 뜨게 돼. 
                11. 로그 정보가 C:\xampp\htdocs\mysite\logs 이곳에 쌓이도록 PHP 개발을 진행해야 해. 그리고 너는 logs 폴더의 내용을 통해 오류 확인해야 해.
                12. 자바스크립트 작성 시, 이벤트마다 콘솔에 로그를 남겨야 해. 그래야 에러 발생시 원인을 찾을 수 있어. 
                13. 디버깅 시, 콘솔의 로그를 찾아봐.
                14. (개발이 진행되어 필요한 경우, 이 내용 넣으세요.) 테스트를 위해 다음 사용자 정보 사용해 로그인할 것
                아이디: example@example.com
                비밀번호: testpassword
                15. 작업을 임의로 진행하지 말고, 작업 전에 반드시 동의를 받아야 해.
                16. 너는 하라고 한 구체적인 사항은 진행하고 무조건 대기해야 해. 명시적으로 시킨것만 해줘.

웹 개발 환경 설정 (XAMPP)

웹 개발과 데이터베이스를 사용하려면 XAMPP를 설정할 수 있습니다:

  1. XAMPP 설치 (MySQL 옵션 체크)
  2. XAMPP 컨트롤 패널에서 Apache와 MySQL 시작
  3. 기본 웹 페이지 경로 변경하기 (선택사항)
    • 새 폴더 생성: C:\xampp\htdocs\mysite
    • 설정 파일 수정: C:\xampp\apache\conf\httpd.conf 열기
    • 다음 내용을 찾아 수정:
      DocumentRoot "C:/xampp/htdocs"
      <Directory "C:/xampp/htdocs">
      아래와 같이 변경:
      DocumentRoot "C:/xampp/htdocs/mysite"
      <Directory "C:/xampp/htdocs/mysite">
    • Apache와 MySQL 재시작
  4. MCP 설정 파일에서 filesystem 경로를 웹 폴더로 지정
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\xampp\\htdocs\\mysite"
      ]
    }

MCP 기능 활용법

  1. 프로젝트 플랜 파일 관리
    • 프로젝트 진행 상황을 project_plan.md 파일에 기록
    • 작업 진행 내용, 완료된 작업, 다음 단계 등을 포함
    • Claude가 중단되어도 이 파일을 통해 다음 세션에서 작업 계속 진행 가능
  2. 웹 브라우징 MCP 활용
    • 웹사이트 접속, 로그인, 클릭, 스크린샷 등 자동화
    • 콘솔 로그 확인을 통한 디버깅
    • 에러 추적 및 자동 분석
  3. 데이터베이스 연동
    • MySQL 명령어를 통한 데이터베이스 관리
    • 쿼리 실행 및 결과 분석
    • 세션 및 데이터 관리
  4. 파일 분할 관리
    • 파일이 너무 커지면 여러 개로 나누어 관리 (18KB 제한)
    • 효율적인 프로젝트 구조 설계

활용 사례

클로드 데스크톱 MCP를 활용한 실제 프로젝트 사례를 소개합니다.

유튜브 쇼츠 자동 생성 프로그램

소스놀이터 채널에서 공개한 사례로, MCP를 활용해 다음과 같은 기능을 구현했습니다:

  • 웹 브라우저 제어로 페이지 접속 및 로그인 자동화
  • 콘솔 로그 및 에러 모니터링을 통한 버그 추적
  • MySQL 데이터베이스 연동 및 쿼리 실행
  • 세션 관리 및 자동 세그먼트 생성
  • 이미지 및 비디오 자동 생성

GPT-4o 연구 프로젝트

MCP를 활용한 최신 AI 모델 연구:

  • 구글 검색을 통한 최신 정보 수집 (20개 이상의 웹사이트 분석)
  • 심층 자료 분석 및 문서화
  • 웹페이지 자동 생성 (HTML/CSS/JS)
  • 벤치마크 비교 및 활용 사례 정리
  • 프롬프트 전략 연구 및 정리

브라우저 자동화 사례

웹사이트 테스트 자동화:

{ "tool":"playwright","parameters":{"action":"goto","url":"http://localhost"}}
{ "tool":"playwright","parameters":{"action":"click","selector":"#login-button"}}
{ "tool":"playwright","parameters":{"action":"fill","selector":"input[name='username']","text":"testuser"}}
{ "tool":"playwright","parameters":{"action":"fill","selector":"input[name='password']","text":"testpassword"}}
{ "tool":"playwright","parameters":{"action":"click","selector":"button[type='submit']"}}
{ "tool":"playwright","parameters":{"action":"screenshot","path":"login-result.png"}}

데이터베이스 연동 예시

MySQL 데이터베이스 탐색:

{ "tool": "terminal", "parameters": { "cmd": "mysql -uroot -p -e \"SHOW DATABASES;\"" } }
{ "tool": "terminal", "parameters": { "cmd": "mysql -uroot -p -e \"SHOW TABLES;\" database_name" } }
{ "tool": "terminal", "parameters": { "cmd": "mysql -uroot -p -e \"DESCRIBE table_name;\" database_name" } }

데이터 조회 및 조작:

{ "tool": "terminal", "parameters": { "cmd": "mysql -uroot -p -e \"SELECT * FROM users LIMIT 5;\" database_name" } }
{ "tool": "terminal", "parameters": { "cmd": "mysql -uroot -p -e \"INSERT INTO logs (event, message) VALUES ('login', 'User logged in');\" database_name" } }

팁 모음

클로드 데스크톱 MCP를 더 효율적으로 사용하기 위한 팁을 제공합니다.

파일 관리 팁

  • 파일 크기는 18KB 이내로 유지
  • 긴 내용은 여러 파일로 분할
  • 폴더 구조를 체계적으로 관리

MCP 활용 팁

  • 브라우징 MCP로 콘솔 로그, 스크린샷, 에러 추적 자동화
  • 프로젝트 플랜 파일로 작업 관리
  • 에러 발생 시 단계적 분석 지시

성능 최적화 팁

  • 너무 많은 MCP 호출 피하기
  • 복잡한 작업은 단계별로 분리
  • 필요한 정보만 요약하여 전달

Windows 관련 팁

  • 파일 경로에 대문자 C 사용 (예: C:\\)
  • 설정 변경 후 컴퓨터 재부팅 필요할 수 있음
  • 필요한 모듈 설치: npx playwright install

효과적인 프롬프트 작성법

작업 지시 구조화:

다음 작업을 진행해줘:
1. [작업1 설명]
2. [작업2 설명]
3. [작업3 설명]

각 단계를 완료할 때마다 진행 상황을 알려주고, 
모든 작업이 끝나면 project_plan.md 파일을 업데이트해줘.

분석 시간 제공:

지금은 [문제/상황]을 분석만 하고 기다려줘. 
분석이 끝나면 알려줘.

단계적 진행:

이 작업이 완료될 때까지 다른 단계로 넘어가지 말고 계속 진행해줘.
완료되면 기다려줘.