프로젝트 소개

이 프로젝트는 Model Context Protocol (MCP)을 사용하여 업비트 암호화폐 거래소의 OpenAPI 기능을 LLM 클라이언트에게 제공하는 서버 구현체입니다. 이를 통해 LLM은 업비트의 다양한 기능을 활용하여 암호화폐 시장 정보를 얻고, 사용자의 계정을 관리하며, 직접 거래 주문을 실행하는 등 고급 작업을 수행할 수 있습니다.

주요 기능

  • 시장 데이터 조회: 현재가, 호가창, 최근 체결 내역, 다양한 시간 간격의 캔들(차트) 데이터 등을 조회합니다.
  • 계정 정보 조회: 보유 중인 암호화폐 및 원화 잔액, 평균 매수가 등 계정 자산 정보를 확인합니다.
  • 주문 관리: 지정가 및 시장가 매수/매도 주문을 생성하고, 기존 주문 목록을 조회하거나 특정 주문을 취소합니다.
  • 입출금 내역 조회: 암호화폐 및 원화의 입금/출금 내역을 조회합니다.
  • 기술적 분석: 특정 암호화폐에 대한 단순 이동 평균선, RSI, 볼린저 밴드 등 기본적인 기술적 지표를 계산하여 제공합니다.
  • 마켓 정보 조회: 업비트에서 거래 가능한 모든 거래쌍 목록을 조회합니다.
  • LLM 지원 프롬프트: 시장 분석, 포트폴리오 분석, 주문 도움말 등 LLM의 작업 수행을 돕는 기본 프롬프트 템플릿을 제공합니다.

설치 방법

  1. Upbit API 키 발급:

    • 업비트 웹사이트에서 계정을 생성하고 로그인합니다.
    • 업비트 개발자 센터에서 새로운 API 키를 발급받습니다.
    • 필요한 권한(조회, 거래, 출금)을 적절히 설정합니다.
  2. 환경 변수 설정:

    • 프로젝트 루트 디렉토리에 '.env' 파일을 생성합니다.
    • 발급받은 API 키를 다음 형식으로 입력하고 저장합니다.
      UPBIT_ACCESS_KEY=발급받은_ACCESS_KEY
      UPBIT_SECRET_KEY=발급받은_SECRET_KEY
    • 경고: API 키는 매우 중요하므로 외부에 노출되지 않도록 주의하세요. 공개된 장소에 커밋하거나 공유하지 마세요.
  3. 저장소 복제:

    git clone https://github.com/solangii/upbit-mcp-server.git
    cd upbit-mcp-server
  4. 의존성 설치:

    • 'pip' 또는 'uv'를 사용하여 필요한 라이브러리를 설치합니다.
    # pip 사용
    pip install -e .
    
    # 또는 uv 사용 (권장)
    uv pip install -e .
    • 'uv' 설치 방법은 README.md를 참고하세요.

MCP 클라이언트를 위한 서버 설정 정보

이 MCP 서버는 MCP 클라이언트(예: Claude Desktop)가 연결하여 사용할 수 있도록 설계되었습니다. MCP 클라이언트에서 이 서버를 추가하려면 다음과 같은 설정 정보를 사용합니다. 클라이언트의 설정 인터페이스에 따라 직접 입력하거나 'fastmcp install' 명령어로 자동 설정할 수 있습니다.

  • 서버 이름 (Server Name): 'Upbit MCP Server' 또는 클라이언트에서 식별하기 쉬운 이름 (예: 'Upbit API')
  • 프로토콜/전송 방식 (Transport): 'stdio' (표준 입출력)
  • 실행 명령어 (Command): 'python' 또는 'uv'
  • 명령어 인자 (Args): 'main.py'

예시 (JSON 형식, 실제 클라이언트 설정 시에는 인터페이스에 맞게 입력):

{
  "name": "Upbit API",
  "command": "python",
  "args": ["main.py"],
  "transport": "stdio"
  // 기타 클라이언트 설정에 따라 추가될 수 있는 필드
}

설명: 'command'는 서버 실행 파일 또는 실행기를 지정하고, 'args'는 해당 실행기에 전달될 인자를 지정합니다. 'transport'는 클라이언트와 서버 간의 통신 방식을 정의합니다.

기본 사용 방법

서버를 직접 실행하여 테스트하거나 LLM 클라이언트에 연결하여 사용합니다.

  • 개발 모드 (웹 인터페이스 제공):

    fastmcp dev main.py

    이 명령은 웹 인터페이스를 통해 서버 기능을 테스트할 수 있는 개발 서버를 시작합니다.

  • LLM 클라이언트 연결용: 'fastmcp install main.py --name "Upbit API"' 명령을 사용하여 지원되는 LLM 클라이언트(예: Claude Desktop)에 이 서버를 쉽게 설치할 수 있습니다. 설치 후 클라이언트 설정에서 해당 서버를 활성화하면 LLM이 서버 기능을 사용할 수 있게 됩니다.

  • 직접 실행:

    python main.py
    # 또는 uv run python main.py

    이 명령은 Stdio 전송 방식을 사용하는 MCP 서버를 시작합니다. 이 모드는 'fastmcp install'을 통해 LLM 클라이언트가 서버를 실행할 때 사용됩니다.

주의: 이 서버는 실제 거래를 실행할 수 있으므로, 사용 시 주의가 필요합니다. API 키 보안에 각별히 신경 써 주십시오.

信息

分类

商业系统