Skip to main content
Glama
akinabudu

ctrader-mcp-server

by akinabudu

cTrader MCP 서버

AI 어시스턴트가 cTrader 트레이딩 플랫폼과 상호작용할 수 있도록 지원하는 독립형 MCP(Model Context Protocol) 서버입니다.

🚀 이것은 무엇인가요?

이 MCP 서버를 사용하면 Claude와 같은 AI 어시스턴트가 자연어 대화를 통해 cTrader에서 거래를 실행하고, 시장을 분석하며, 포지션을 관리할 수 있습니다.

대화 예시:

  • "내 계좌 잔액 보여줘" → 잔액, 평가액, 포지션 정보 가져오기

  • "EURUSD 0.01랏 매수, 스탑로스 1.08" → 거래 실행

  • "GBPUSD RSI 계산해줘" → 기술적 지표 분석

  • "손실 중인 모든 포지션 종료해" → 리스크 관리

Related MCP server: 3commas-mcp

✨ 주요 기능

거래 작업

  • 시장가 주문 - 현재 가격으로 즉시 실행

  • 지정가 주문 - 특정 가격 수준에서 주문

  • 스탑 주문 - 스탑로스 또는 스탑엔트리 주문

  • 포지션 관리 - 포지션 전체 또는 부분 종료

  • 주문 관리 - 대기 중인 주문 취소

시장 데이터 및 분석

  • 과거 데이터 - OHLCV 캔들 (9개 타임프레임: M1, M5, M15, M30, H1, H4, D1, W1, MN1)

  • 기술적 지표 - RSI, MACD, EMA, SMA, 볼린저 밴드, ATR, 스토캐스틱

  • 실시간 틱 - 실시간 가격 피드 구독

  • 심볼 검색 - 100개 이상의 거래 상품 탐색

계좌 정보

  • 계좌 상태 - 잔액, 평가액, 증거금, 가용 증거금

  • 포지션 추적 - 손익(P&L)을 포함한 모든 오픈 포지션

  • 주문 추적 - 모든 대기 중인 주문

  • 손익 분석 - 상세한 손익 분석

🎯 사용 가능한 도구 (총 14개)

도구

설명

get_account_status

잔액, 평가액, 증거금 및 손익 확인

get_positions

모든 오픈 포지션 목록 및 상세 정보

get_pending_orders

모든 대기 중인 지정가/스탑 주문 표시

get_position_pnl

상세 손익 분석

create_market_order

현재 시장 가격으로 거래 실행

create_limit_order

특정 가격으로 주문 배치

create_stop_order

스탑로스 또는 스탑엔트리 주문 배치

close_position

포지션 전체 또는 부분 종료

cancel_order

대기 중인 주문 취소

list_symbols

사용 가능한 거래 상품 탐색

get_historical_data

OHLCV 캔들 데이터 가져오기

get_indicator

기술적 지표 계산

subscribe_to_ticks

실시간 가격 업데이트 구독

unsubscribe_from_ticks

가격 업데이트 구독 취소

📋 사전 요구 사항

  • Python 3.10 이상

  • cTrader 계정 (데모 또는 실계좌)

  • cTrader API 자격 증명

🔧 설치

1. cTrader API 자격 증명 받기

  1. https://help.ctrader.com/open-api/creating-new-app/ 방문

  2. 애플리케이션을 생성하여 다음을 획득:

    • CLIENT_ID

    • CLIENT_SECRET

  3. 액세스 토큰 생성:

    • ACCESS_TOKEN

  4. cTrader에서 계좌 ID 확인:

    • ACCOUNT_ID

2. 서버 설치

# Clone or download this repository
cd ctrader-mcp-server

# Run installation script
./install.sh

3. 자격 증명 구성

프로젝트 루트에 .env 파일을 생성합니다:

CLIENT_ID=your_client_id_here
CLIENT_SECRET=your_client_secret_here
ACCESS_TOKEN=your_access_token_here
ACCOUNT_ID=your_account_id_here
HOST=demo

중요: 테스트 시에는 HOST=demo를 사용하세요!

4. 서버 테스트

# Activate virtual environment
source venv/bin/activate

# Run tests
python test_server.py

다음과 같이 표시되어야 합니다:

✓ Bot initialized and authenticated
✓ Account status retrieved
✓ Found X EUR symbols
...
All Tests Completed Successfully! ✓

🤖 AI 어시스턴트 구성

Claude Desktop

  1. 설정 파일 찾기:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • Linux: ~/.config/Claude/claude_desktop_config.json

  2. 다음 구성 추가:

{
  "mcpServers": {
    "ctrader": {
      "command": "/absolute/path/to/ctrader-mcp-server/venv/bin/python",
      "args": [
        "/absolute/path/to/ctrader-mcp-server/server.py"
      ],
      "cwd": "/absolute/path/to/ctrader-mcp-server"
    }
  }
}
  1. Claude Desktop 재시작

기타 MCP 클라이언트

이 서버는 표준 MCP 프로토콜을 구현하므로 MCP 호환 클라이언트와 함께 사용할 수 있습니다.

💬 대화 예시

구성이 완료되면 자연스럽게 상호작용할 수 있습니다:

계좌 확인:

사용자: "내 cTrader 계좌에 돈이 얼마나 있지?"

AI: "귀하의 계좌 잔액은 $10,000, 평가액은 $10,250이며, 3개의 오픈 포지션에서 총 +$250의 손익이 발생하고 있습니다."

거래 실행:

사용자: "EURUSD 0.01랏 매수, 스탑로스 1.08, 익절 1.10"

AI: "주문이 실행되었습니다! 1.09245 가격에 EURUSD 0.01랏을 매수했으며, 스탑로스는 1.08000, 익절은 1.10000으로 설정되었습니다."

시장 분석:

사용자: "15분 차트에서 GBPUSD RSI 계산해줘"

AI: "M15 기준 GBPUSD RSI(14)는 현재 65.3이며, 과매수 영역에 접근하고 있음을 나타냅니다."

리스크 관리:

사용자: "$50 이상 손실 중인 모든 포지션 종료해"

AI: "$50 이상 손실 중인 포지션 1개를 찾았습니다. GBPUSD 포지션을 종료했습니다 (손실: -$62.50)."

📚 문서

🔐 보안 및 안전

데모 vs 실거래

  • 기본 구성은 데모 계정을 사용합니다.

  • 실거래를 위해서는 .env 파일에 HOST=live를 명시적으로 설정하세요.

  • 실거래 전에는 항상 데모에서 충분히 테스트하세요.

리스크 관리

  • 모든 주문은 스탑로스 및 익절을 지원합니다.

  • 포지션 종료는 부분 또는 전체 종료가 가능합니다.

  • 거래량은 랏 단위로 지정됩니다 (0.01 = 마이크로 랏).

자격 증명 보안

  • 자격 증명은 .env 파일에 저장됩니다 (절대 커밋하지 마세요).

  • 환경 변수는 로그에 노출되지 않습니다.

  • 작업 전 인증 상태가 검증됩니다.

🚨 중요 경고

⚠️ 거래에는 상당한 위험이 따릅니다. 자금을 잃을 수 있습니다. ⚠️ 항상 데모 계정에서 먼저 테스트하세요. ⚠️ 실거래 시에는 작은 포지션으로 시작하세요. ⚠️ 리스크 제한을 위해 스탑로스를 사용하세요. ⚠️ 자격 증명이나 액세스 토큰을 절대 공유하지 마세요.

🛠️ 개발

프로젝트 구조

ctrader-mcp-server/
├── server.py              # Main MCP server
├── ctrader_bot.py         # cTrader API wrapper
├── test_server.py         # Testing tool
├── install.sh             # Installation script
├── requirements.txt       # Python dependencies
├── .env.example           # Environment template
├── README.md              # This file
└── docs/                  # Documentation
    ├── QUICKSTART.md
    ├── GUIDE.md
    ├── ARCHITECTURE.md
    ├── CONFIGURATION.md
    └── API.md

테스트 실행

# Basic functionality test
python test_server.py

# Run with specific account
ACCOUNT_ID=12345 python test_server.py

# Test with live account (careful!)
HOST=live python test_server.py

새로운 도구 추가

새로운 도구를 추가하려면:

  1. server.pyhandle_list_tools()에 도구 정의 추가

  2. _execute_tool()에 핸들러 구현

  3. 필요한 경우 ctrader_bot.py에 해당 메서드 추가

  4. 문서 업데이트

📊 성능

  • 시작 시간: 5-10초 (인증 + 심볼 로딩)

  • 주문 실행: <100ms (시장가 주문)

  • 과거 데이터: 1-5초 (100개 캔들)

  • 지표 계산: <1초

  • 메모리 사용량: ~50-100 MB

🌐 속도 제한

cTrader API 제한:

  • 거래 작업: 초당 50회 요청

  • 과거 데이터: 초당 5회 요청

서버는 자동으로 이러한 제한을 준수합니다.

🐛 문제 해결

"Bot not ready" 오류

  • .env 파일 자격 증명 확인

  • 인터넷 연결 확인

  • cTrader 계정이 활성 상태인지 확인

  • 서버 로그에서 인증 오류 확인

심볼을 찾을 수 없음

  • list_symbols 도구를 사용하여 사용 가능한 심볼 확인

  • 심볼 이름은 대소문자를 구분합니다.

  • 브로커마다 심볼 이름이 다를 수 있습니다.

주문 거부

  • 계좌 잔액 및 증거금 확인

  • 심볼 거래 가능 여부 확인

  • 거래량이 최소 요구 사항을 충족하는지 확인

  • 시장이 열려 있는지 확인

연결 문제

  • API 자격 증명이 올바른지 확인

  • 계정이 활성 상태인지 확인

  • 5035(데모) 또는 5034(실거래) 포트를 차단하는 방화벽이 없는지 확인

🔗 리소스

📄 라이선스

MIT 라이선스 - 자세한 내용은 LICENSE 파일 참조

⚖️ 면책 조항

이 소프트웨어는 어떠한 종류의 보증 없이 "있는 그대로" 제공됩니다. 거래에는 상당한 위험이 따르며 자금을 잃을 수 있습니다. 사용자의 책임하에 사용하십시오. 실거래 전에는 항상 데모 계정에서 테스트하십시오.

🤝 기여

기여를 환영합니다! 다음 단계를 따라주세요:

  1. 저장소 포크

  2. 기능 브랜치 생성

  3. 변경 사항 적용

  4. 해당되는 경우 테스트 추가

  5. 풀 리퀘스트 제출

📧 지원


알고리즘 트레이더를 위해 ❤️로 제작됨

시작할 준비가 되셨나요? ./install.sh를 실행하고 위의 지침을 따르세요!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server for the Hyperliquid decentralized exchange, enabling AI assistants to perform trading operations, manage accounts, and retrieve market data.
    307 PyPI
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that integrates AI assistants with the 3Commas cryptocurrency trading platform API, enabling management of DCA bots and trading strategies through natural conversation.
    12
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    An MCP server that lets an AI agent read your MetaTrader 5 account and place trades over the Model Context Protocol, with a configurable human approval gate.
    15
    38 PyPI
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that provides AI assistants like Claude with direct access to MetaAPI trading platform. Trade forex, stocks, and commodities through natural language conversations.
    1
    -