Skip to content

Latest commit

 

History

History
264 lines (210 loc) · 8.15 KB

README.ko.md

File metadata and controls

264 lines (210 loc) · 8.15 KB

VRChat MCP

npm version License: MIT

이 프로젝트는 VRChat API와 상호 작용하기 위한 Model Context Protocol (MCP) 서버입니다. 표준화된 프로토콜을 사용하여 VRChat에서 다양한 정보를 검색할 수 있습니다.

YouTube

개요

VRChat MCP 서버는 VRChat의 API 엔드포인트에 구조화된 방식으로 접근할 수 있는 방법을 제공합니다. 사용자 인증, 사용자 및 친구 정보 검색, 아바타 및 월드 데이터 접근 등 다양한 기능을 지원합니다.

사용 방법

서버를 시작하려면 필요한 환경 변수를 설정하세요:

export VRCHAT_USERNAME=your_username
export VRCHAT_PASSWORD=your_password
export VRCHAT_TOTP_SECRET=your_totp_secret
export [email protected]

Note

TOTP 시크릿 얻기

  1. VRChat 프로필에 접속하여 2단계 인증을 활성화합니다.
  2. 표시된 QR 코드를 디코딩하여 otpauth://totp/VRChat:[email protected]?secret=XXXXXXXXXXXXXXXXXXX&issuer=VRChat와 같은 문자열을 얻습니다.
  3. XXXXXXXXXXXXXXXXXXX 부분을 TOTP 시크릿으로 사용합니다.

이 방법은 보안상의 우려가 있을 수 있으므로 신중하게 진행하세요.

그런 다음 다음 명령을 실행합니다:

npx vrchat-mcp

이렇게 하면 MCP 서버가 시작되어 정의된 도구를 통해 VRChat API와 상호 작용할 수 있습니다.

Claude Desktop에서 사용하기

이 MCP 서버를 Claude Desktop에서 사용할 때는 npx vrchat-mcp를 수동으로 실행할 필요가 없습니다. 대신 Claude Desktop 설정 파일에 다음 구성을 추가하세요:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "vrchat-mcp": {
      "command": "npx",
      "args": ["vrchat-mcp"],
      "env": {
        "VRCHAT_USERNAME": "your-username",
        "VRCHAT_PASSWORD": "your-password",
        "VRCHAT_TOTP_SECRET": "your-totp-secret",
        "VRCHAT_EMAIL": "[email protected]"
      }
    }
  }
}

그런 다음 평소처럼 Claude Desktop을 시작하세요. nodenv나 nvm을 사용하는 경우 npx 명령의 전체 경로를 지정해야 할 수 있습니다.

VRChat API 엔드포인트

다음은 우리의 Model Context Protocol 서버가 지원하거나 지원 예정인 VRChat API 엔드포인트 목록입니다. GET 및 POST 메서드를 모두 포함하여 포괄적인 기능을 제공합니다. 체크박스는 각 엔드포인트의 구현 상태를 나타냅니다.

인증 및 사용자 정보

  • 현재 사용자 정보 가져오기
  • 사용자 검색
  • 특정 사용자 프로필 가져오기
  • 사용자 그룹 가져오기
  • 플레이어 중재 가져오기
  • 사용자 상태 가져오기
  • 사용자 정보 업데이트
  • 사용자 상태 업데이트
  • 사용자 차단
  • 사용자 차단 해제

친구 관련

  • 친구 목록 가져오기
  • 온라인 친구 가져오기
  • 친구 요청 보내기
  • 친구 요청 수락/거절
  • 친구 삭제

아바타 관련

  • 자신의 아바타 가져오기
  • 즐겨찾기 아바타 가져오기
  • 아바타 검색
  • 특정 아바타 상세 정보 가져오기
  • 공개 아바타 가져오기
  • 아바타 생성
  • 아바타 업데이트
  • 아바타 삭제
  • 아바타 선택
  • 아바타 즐겨찾기/즐겨찾기 해제

월드 관련

  • 월드 목록 가져오기
  • 활성 월드 가져오기
  • 최근 방문한 월드 가져오기
  • 즐겨찾기 월드 가져오기
  • 월드 검색
  • 특정 월드 상세 정보 가져오기
  • 월드 인스턴스 가져오기
  • 공개 월드 가져오기
  • 월드 생성
  • 월드 업데이트
  • 월드 삭제
  • 월드 즐겨찾기/즐겨찾기 해제

인스턴스 관련

  • 인스턴스 생성
  • 인스턴스 정보 가져오기
  • 인스턴스 참가자 가져오기
  • 인스턴스 짧은 이름 가져오기
  • 인스턴스 참가
  • 인스턴스 나가기
  • 사용자를 인스턴스에 초대

파일 관련

  • 파일 정보 가져오기
  • 파일 다운로드 정보 가져오기
  • 파일 상태 가져오기

그룹 관련

  • 그룹 검색
  • 특정 그룹 정보 가져오기
  • 그룹 멤버 가져오기
  • 그룹 권한 가져오기
  • 그룹 요청 가져오기
  • 그룹 초대 가져오기
  • 그룹 차단 가져오기
  • 그룹 갤러리 가져오기
  • 그룹 소유 월드 가져오기
  • 그룹 생성
  • 그룹 업데이트
  • 그룹 삭제
  • 그룹 참가
  • 그룹 나가기
  • 사용자를 그룹에 초대
  • 그룹 초대 수락/거절
  • 사용자를 그룹에서 차단
  • 사용자의 그룹 차단 해제

알림 관련

  • 알림 목록 가져오기
  • 친구 요청 가져오기
  • 읽지 않은 알림 수 가져오기
  • 알림을 읽음으로 표시
  • 알림 삭제
  • 모든 알림 지우기

인벤토리 관련

  • 라이선스 유형 가져오기
  • 보유 라이선스 가져오기
  • 스토어 목록 가져오기

시스템 관련

  • API 설정 가져오기
  • API 제한 가져오기
  • 시스템 상태 확인
  • 온라인 사용자 수 가져오기
  • 서버 공지 가져오기

즐겨찾기 관련

  • 즐겨찾기 목록 가져오기
  • 즐겨찾기 추가
  • 즐겨찾기 삭제
  • 즐겨찾기 그룹 목록 가져오기
  • 즐겨찾기 그룹 표시
  • 즐겨찾기 그룹 업데이트
  • 즐겨찾기 그룹 지우기
  • 즐겨찾기 제한 가져오기

초대 관련

  • 초대 메시지 목록 가져오기
  • 초대 요청 보내기
  • 초대 보내기
  • 초대 메시지 가져오기
  • 초대 메시지 업데이트

기타

  • 태그 목록 가져오기
  • 숨김 목록 가져오기
  • 중재 가져오기
  • 즐겨찾기 그룹 유형 가져오기
  • 중재 생성
  • 중재 삭제

디버깅

먼저 프로젝트를 빌드하세요:

npm install
npm run build

MCP 서버는 stdio를 통해 실행되므로 디버깅이 어려울 수 있습니다. 최상의 디버깅 경험을 위해 MCP Inspector 사용을 강력히 권장합니다.

다음 명령으로 npm을 통해 MCP Inspector를 실행할 수 있습니다:

npx @modelcontextprotocol/inspector "./dist/main.js"

환경 변수가 올바르게 구성되어 있는지 확인하세요.

실행하면 Inspector는 브라우저에서 접근할 수 있는 URL을 표시합니다. 이 URL에 접속하여 디버깅을 시작할 수 있습니다.

패키지 배포

패키지를 배포하려면 다음 단계를 따르세요:

  1. main 브랜치의 최신 코드를 로컬로 가져오기

    git checkout main
    git pull origin main
  2. 필요에 따라 버전 업데이트

    # 패치 버전 업데이트 (예: 0.1.2 → 0.1.3)
    npm version patch
    
    # 마이너 버전 업데이트 (예: 0.1.2 → 0.2.0)
    npm version minor
    
    # 메이저 버전 업데이트 (예: 0.1.2 → 1.0.0)
    npm version major
  3. 빌드 실행

    npm run build
  4. npm에 패키지 배포

    npm publish
  5. 변경사항을 원격 저장소에 푸시

    git push origin main --tags

기여하기

기여를 환영합니다! 개선이나 버그 수정을 위한 풀 리퀘스트를 제출하려면 저장소를 포크하세요.

라이선스

이 프로젝트는 MIT 라이선스 하에 제공됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.