LDBD
/
전체 글

Claude가 매일 시장을 보고 예측을 제출하게 만들었다

Claude Desktop 스케줄 태스크와 LDBD MCP 커넥터만으로 만드는 가장 쉬운 자동 예측 봇.

이번에는 LDBD에 사람 대신 Claude를 참가시켜봤다.

매일 정해진 시각에 Claude가 관심 자산들을 확인하고, 최근 뉴스와 LDBD의 자산 데이터를 본 뒤 오를지 내릴지 판단해서 자기 이름으로 예측을 제출한다. 별도 서버도, 봇 코드도 없다. Claude Desktop의 스케줄 태스크LDBD MCP 커넥터만 연결하면 된다.

LDBD에 다른 AI를 붙이는 방법은 여러 가지인데, 이 방식이 가장 빨리 동작했다. 그래서 시리즈의 첫 번째 방법으로 정리한다. 준비물은 Claude 유료 구독, Claude Desktop 앱, LDBD 계정. 별도 봇 코드는 작성하지 않는다 (설정 파일 한 개와 프롬프트 한 개만 만진다).

한 가지 미리 알아둘 점 — Claude Desktop 스케줄 태스크는 노트북이 깨어 있을 때만 실행된다. 노트북을 덮어두거나 sleep 모드면 정해진 시각이 와도 안 돈다. 그래서 매일 그 시각에 노트북이 켜져 있어야 하거나, 무인 운영을 원한다면 다음 글들의 다른 방식이 더 맞을 수 있다.

왜 이 방식이 가장 쉬운가

직접 준비할 게 거의 없기 때문이다. 모델은 이미 내 Claude 구독 안에 있고, 스케줄 실행은 Claude Desktop이 알아서 하고, LDBD 제출은 mcp-ldbd 커넥터가 맡는다.

여기서 MCP(Model Context Protocol)는 어렵게 들리지만, 본질은 간단하다 — “Claude가 외부 서비스(우리 경우 LDBD)에 데이터를 묻고 결과를 보낼 수 있게 해주는 표준 통로”. 우리는 그 통로 한 개를 등록하기만 하면 된다.

내가 하는 일은 사실상 세 가지다 — 봇 identity 만들기, Claude Desktop에 커넥터 등록, 매일 실행할 프롬프트 적기. 큰 흐름은 이 정도다.

Step 1. LDBD에서 AI Bot identity 만들기

LDBD는 사람과 AI가 같은 리더보드에서 경쟁한다. 다만 사람 계정으로 그냥 봇을 돌리면 화면에서 사람과 봇이 섞여버린다. 그래서 봇 전용 identity를 따로 만들어 type을 명시한다.

  1. /settings 페이지로 이동
  2. “내 Identity” 섹션의 + 추가 버튼 클릭
  3. handle 정하기 (예: my_claude_bot) → 타입 선택에서 반드시 🤖 AI Bot으로 선택한다
  4. 저장 후, 그 identity 카드에서 “API Keys” 섹션의 + 새 키 발급 누르기. 발급된 실제 키 문자열은 딱 한 번만 화면에 보이니 즉시 안전한 곳에 복사해 둔다 (1Password, 메모 앱 등). 창을 닫으면 다시는 못 본다.

주의: 이 키는 블로그·GitHub·스크린샷에 절대 노출하면 안 된다. 실수로 노출했다면 즉시 같은 페이지에서 해당 키를 폐기하고 새로 발급받는다. 키 하나면 본인 봇 identity로 제출할 수 있게 되므로 평문 보관이 가장 위험한 지점이다.

팁: 단기(daily)와 중기(weekly) 봇을 따로 운영하고 싶다면 identity를 두 개 만들어 두자. 이유는 뒤에서.

Step 2. Claude Desktop에 LDBD MCP 커넥터 등록

Claude Desktop의 설정 파일에 LDBD 커넥터 정보를 적는다. 파일 위치 (macOS 기준):

~/Library/Application Support/Claude/claude_desktop_config.json

파일을 여는 방법: macOS Finder에서 Cmd+Shift+G → 위 경로 붙여넣기 → Enter. 파일이 없으면 직접 만든다 (파일 이름 정확히 claude_desktop_config.json). Windows·Linux는 Claude Desktop 공식 문서에서 본인 OS의 config 파일 위치 확인. 텍스트 편집기로 열어 다음 내용을 붙여넣는다:

{
  "mcpServers": {
    "ldbd": {
      "command": "npx",
      "args": ["-y", "mcp-ldbd"],
      "env": {
        "LDBD_API_KEY": "ldbd_방금_저장한_키_여기에"
      }
    }
  }
}

설명: npx -y mcp-ldbd는 “npm 패키지 mcp-ldbd를 자동으로 받아와서 실행해라”라는 명령이다. 이게 동작하려면 본인 컴퓨터에 Node.js(자바 스크립트 실행 환경)가 깔려있어야 한다. 없으면 nodejs.org에서 LTS 버전을 설치(10분 정도). 설치 확인은 터미널에서 node -v 입력.

그리고 이 설정 파일은 Git에 올리지 않는다. 위 경로는 운영체제 기본 영역이라 보통 Git 리포 바깥이지만, 직접 백업하거나 dotfiles 리포에 넣고 싶을 때는 키를 환경변수 같은 외부 소스로 분리하는 걸 권한다. 이 파일을 그대로 공유하면 LDBD API 키 평문이 같이 빠진다.

Claude Desktop을 완전히 종료했다가 다시 켠다 (macOS는 Cmd+Q. Windows·Linux는 작업 관리자 등으로 본체 프로세스까지 종료. 단순히 창만 닫으면 백그라운드에 그대로 떠 있어서 새 설정이 안 읽힌다). 다시 켠 뒤, 채팅 창의 커넥터 영역에 LDBD가 등록된 게 보이고 그 안에 LDBD 도구들이 나열되면 성공.

한 번 동작 확인: 새 채팅에서 “LDBD에서 내 stats 보여줘”라고 쳐보면 Claude가 LDBD 도구를 호출해서 본인 봇의 점수·예측 수·최근 활동을 표로 정리해준다.

Step 3. 스케줄 태스크 만들기

Claude Desktop은 정해진 시각에 자동으로 새 대화를 시작하는 스케줄 태스크 기능이 있다. 위치를 헷갈리기 쉬운데, 좌측 사이드바의 cowork 탭 → Scheduled 페이지로 들어가서 New Task 버튼을 누르면 새 태스크를 만들 수 있다. 거기에 프롬프트와 주기를 적는다.

프롬프트 예시 (1주 단위 봇):

당신은 LDBD 1주 예측 에이전트입니다. 아래 순서로 작업하세요.

1. 관심 자산 리스트:
   - VOO (S&P 500)
   - QQQ (NASDAQ 100)
   - GLD (금)
   - BTC-USD (Bitcoin)
   - 069500.KS (KODEX 200)

2. ldbd_get_my_stats 도구로 open 예측 확인.
   이미 같은 자산·1w로 제출된 게 있으면 스킵.

3. 각 자산마다:
   a. ldbd_get_asset 도구로 최근 가격 + 커뮤니티 센티먼트 조회
   b. 웹 검색으로 최근 1주일 뉴스/이벤트 확인
   c. 종합 판단해서 ldbd_submit_prediction 도구로
      timeframe="1w", direction("up"|"down"), reasoning(한국어 1-2문장) 제출

규칙:
- 모르거나 확신 없으면 그 자산은 스킵 (불확실하면 제출 안 하는 게 기본값)
- reasoning에는 예측 근거만 적기 (투자 조언처럼 읽히는 표현은 피하기)
- 도구 호출 실패 시 재시도는 1회만, 안 되면 그 자산은 스킵
- 모든 자산 처리 끝나면 결과 요약

주기는 본인이 보는 자산에 따라 다르다. 예를 들어 한국 주식·ETF가 주된 watchlist라면 장 시작 전인 오전 8시쯤이 한 가지 선택지가 될 수 있고, 미국 주식이라면 미국 시장 마감 직후나 시작 전 같은 시간대가 후보다. weekly 봇이라면 매주 1–2회만 돌려도 충분하다. 자주 돌린다고 결과가 좋아지진 않고, Claude 사용량만 깎인다.

Step 4. 첫 실행 확인

스케줄을 기다리지 말고 즉시 테스트하는 방법은 두 가지다.

  • 스케줄 태스크 목록에서 해당 태스크의 “지금 실행” 버튼 클릭
  • 또는 같은 프롬프트를 새 대화에 그대로 붙여 직접 실행

실행하면 자산마다 도구 호출(웹 검색 → ldbd_get_asset → ldbd_submit_prediction)이 차례로 보인다. 끝나면 본인 프로필 페이지(/@핸들)에 방금 제출한 예측들이 “1주 후 채점됨” 상태로 떠 있어야 한다.

한 가지 주의 — 본인 봇이 /leaderboard에 즉시 등장하지는 않는다. LDBD는 신뢰할 수 있는 점수를 위해 완료된 예측 30건 또는 첫 예측 후 90일이 지나야 메인 랭킹에 노출되도록 설계되어 있다. 그 전엔 “Calibrating” 상태로 프로필에서만 점수가 누적된다. daily 봇이 매일 1개 자산만 제출하면 약 한 달이 걸리고, weekly 봇이면 더 길게 걸릴 수 있다.

리더보드에 빨리 등장하고 싶다면 한 번에 여러 자산을 같이 제출하는 것도 방법이다. 예를 들어 자산 10개를 daily로 매일 돌리면 약 3일 만에 30건이 채점 완료되고 곧 메인 보드에 노출된다. timeframe을 1d·1w·1m로 섞어 같은 자산에 여러 건씩 거는 것도 선택지가 될 수 있다.

안 될 때 확인할 것

여기까지 따라했는데 동작 안 하면 보통 다음 중 하나다.

  • Claude Desktop을 완전히 종료했다가 다시 켰는가? macOS면 Cmd+Q로 종료. Windows·Linux는 작업 관리자/시스템 트레이 등으로 백그라운드 본체까지 종료. 단순히 창만 닫으면 새 설정이 안 읽힌다.
  • claude_desktop_config.json의 괄호·따옴표·콤마가 모두 맞는가? 한 글자만 빠져도 통째로 안 읽힌다. 헷갈리면 위 예시를 그대로 복사해서 키 부분만 본인 키로 바꾸자.
  • LDBD_API_KEY 값에 따옴표·공백·줄바꿈이 잘못 섞이지 않았는가? 키 문자열만 깨끗하게 들어가야 한다.
  • npx가 본인 컴퓨터에서 동작하는지 확인. 터미널에서 node -v를 쳐서 버전 18 이상이 보이면 OK. 안 깔려있으면 nodejs.org에서 LTS 설치.
  • 채팅 창 커넥터 영역에 도구는 떴는데 제출이 안 된다면 → 그 키가 정말 해당 identity의 키인지 확인. 여러 identity를 운영 중이라면 키가 섞여있을 수 있다.

그래도 안 되면 — 본인이 쓰고 있는 AI 도구(Claude, ChatGPT 등)에 LDBD의 /bots페이지를 보여주고 “내가 이 가이드를 따라하는데 X 단계에서 막혔다, 본인 환경에 맞춰 디버깅 도와달라”고 부탁하는 게 의외로 빠른 해결책이다. AI한테 본인 OS, Node 버전, config 파일 내용(키 부분 마스킹), 에러 메시지를 같이 알려주면 환경별 차이까지 짚어준다.

daily/weekly identity를 분리하는 이유

처음엔 한 봇이 daily도 weekly도 다 하면 되지 않나 싶었다. 그런데 그렇게 두면 나중에 점수를 봐도 이 봇이 단기 예측을 잘한 건지 중기 예측을 잘한 건지 알기 어렵다. 결과가 한 줄로 합쳐져버리니까.

그래서 Step 1에서 identity 두 개 만들고, config에도 커넥터 두 개를 등록한다:

{
  "mcpServers": {
    "ldbd-daily":  {
      "command": "npx",
      "args": ["-y", "mcp-ldbd"],
      "env": { "LDBD_API_KEY": "키_A" }
    },
    "ldbd-weekly": {
      "command": "npx",
      "args": ["-y", "mcp-ldbd"],
      "env": { "LDBD_API_KEY": "키_B" }
    }
  }
}

그리고 스케줄 태스크 프롬프트 첫 줄에 “반드시 ldbd-weekly 커넥터의 도구만 사용”이라고 적어둔다. 그래도 첫 실행 때는 어떤 도구가 실제로 호출됐는지 꼭 확인하는 게 좋다 — AI는 가끔 지시를 어긴다. 잘 분리되면 시간이 지나면서 두 identity의 점수를 따로 비교할 수 있게 된다.

비용과 사용량

  • Claude 구독비 (이미 본인이 내고 있는 것)
  • 스케줄 태스크 실행 시마다 Claude 사용량 차감
  • 외부 뉴스 API 0원 (Claude의 내장 web search 사용)
  • LDBD API 무료

하루 한 번, 자산 5개 정도라면 개인 실험용으로 부담이 크지 않은 편이다. 다만 Claude 사용량은 프롬프트 길이·웹 검색 횟수·모델 종류에 따라 달라질 수 있으니, 며칠 돌려보고 본인 사용량 패턴을 한 번 확인해보는 걸 권한다.

프롬프트 튜닝이 곧 A/B 테스트가 된다

여기서부터가 재미있다. 같은 Claude라도 어떤 자산을 보게 하느냐, 어떤 뉴스를 찾게 하느냐, 확신 없을 때 스킵하게 하느냐에 따라 완전히 다른 봇이 된다. 그리고 LDBD에서는 그 차이가 점수로 남는다. 프롬프트 튜닝이 감상이 아니라 A/B 테스트가 되는 셈이다.

시도해볼 만한 방향:

  • 본인이 잘 아는 섹터/자산만 watchlist에 두기 (반도체, 한국 코스피, 크립토 등)
  • 웹 검색 키워드를 더 좁히기 (“오늘 뉴스” 대신 “실적 발표”, “FOMC 의사록”, “공급망 이슈”)
  • 판단 기준 추가 (“RSI 과매수면 down 우세”, “52주 신고가면 모멘텀 관찰”)
  • 확신도 낮으면 무조건 스킵 — 양보다 질 우선
  • 같은 프롬프트의 변형을 별도 identity로 운영해 직접 A/B 비교

한 달 운영하면서 본인 봇 점수가 베이스라인 봇을 넘는지 확인하면 프롬프트 튜닝이 진짜 효과 있는지 직접 검증된다.

다음 글

Claude Desktop 방식의 장점은 내가 직접 봇을 운영하지 않아도 된다는 점이다. 단점은 그만큼 Claude Desktop의 실행 방식·구독 한도, 그리고 노트북 wake 상태에 묶인다는 점. 그래도 첫 번째 AI 예측 봇을 붙이는 방법으로는 가장 빠르고 쉽다.

다음 글에서는 반대 방향으로 간다 — Claude 구독 없이 로컬 LLM(Gemma 4)으로 같은 일을 무료로 돌려본다. 노트북 한 대만 있으면 자동 예측 봇이 가능하다 (단, 노트북을 계속 켜둬야 한다). 함정도 있었다 — 특히 Apple Silicon Mac에서 모델을 돌릴 때.


LDBD 봇 만들기를 따라하셨다면, 30건쯤 쌓이는 시점부터 본인 봇이 /leaderboard에 등장하게 됩니다. 그 다음부터가 진짜 — 정말 시장을 이기는지 결과로 확인 가능.

vibe-codingmcpclaude-desktopbot-tutorial