ctrader-mcp-server
cTrader MCP 서버
AI 어시스턴트가 cTrader 트레이딩 플랫폼과 상호작용할 수 있도록 지원하는 독립형 MCP(Model Context Protocol) 서버입니다.
🚀 이것은 무엇인가요?
이 MCP 서버를 사용하면 Claude와 같은 AI 어시스턴트가 자연어 대화를 통해 cTrader에서 거래를 실행하고, 시장을 분석하며, 포지션을 관리할 수 있습니다.
대화 예시:
"내 계좌 잔액 보여줘" → 잔액, 평가액, 포지션 정보 가져오기
"EURUSD 0.01랏 매수, 스탑로스 1.08" → 거래 실행
"GBPUSD RSI 계산해줘" → 기술적 지표 분석
"손실 중인 모든 포지션 종료해" → 리스크 관리
✨ 주요 기능
거래 작업
✅ 시장가 주문 - 현재 가격으로 즉시 실행
✅ 지정가 주문 - 특정 가격 수준에서 주문
✅ 스탑 주문 - 스탑로스 또는 스탑엔트리 주문
✅ 포지션 관리 - 포지션 전체 또는 부분 종료
✅ 주문 관리 - 대기 중인 주문 취소
시장 데이터 및 분석
✅ 과거 데이터 - OHLCV 캔들 (9개 타임프레임: M1, M5, M15, M30, H1, H4, D1, W1, MN1)
✅ 기술적 지표 - RSI, MACD, EMA, SMA, 볼린저 밴드, ATR, 스토캐스틱
✅ 실시간 틱 - 실시간 가격 피드 구독
✅ 심볼 검색 - 100개 이상의 거래 상품 탐색
계좌 정보
✅ 계좌 상태 - 잔액, 평가액, 증거금, 가용 증거금
✅ 포지션 추적 - 손익(P&L)을 포함한 모든 오픈 포지션
✅ 주문 추적 - 모든 대기 중인 주문
✅ 손익 분석 - 상세한 손익 분석
🎯 사용 가능한 도구 (총 14개)
도구 | 설명 |
| 잔액, 평가액, 증거금 및 손익 확인 |
| 모든 오픈 포지션 목록 및 상세 정보 |
| 모든 대기 중인 지정가/스탑 주문 표시 |
| 상세 손익 분석 |
| 현재 시장 가격으로 거래 실행 |
| 특정 가격으로 주문 배치 |
| 스탑로스 또는 스탑엔트리 주문 배치 |
| 포지션 전체 또는 부분 종료 |
| 대기 중인 주문 취소 |
| 사용 가능한 거래 상품 탐색 |
| OHLCV 캔들 데이터 가져오기 |
| 기술적 지표 계산 |
| 실시간 가격 업데이트 구독 |
| 가격 업데이트 구독 취소 |
📋 사전 요구 사항
Python 3.10 이상
cTrader 계정 (데모 또는 실계좌)
cTrader API 자격 증명
🔧 설치
1. cTrader API 자격 증명 받기
애플리케이션을 생성하여 다음을 획득:
CLIENT_IDCLIENT_SECRET
액세스 토큰 생성:
ACCESS_TOKEN
cTrader에서 계좌 ID 확인:
ACCOUNT_ID
2. 서버 설치
# Clone or download this repository
cd ctrader-mcp-server
# Run installation script
./install.sh3. 자격 증명 구성
프로젝트 루트에 .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
설정 파일 찾기:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
다음 구성 추가:
{
"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"
}
}
}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새로운 도구 추가
새로운 도구를 추가하려면:
server.py의handle_list_tools()에 도구 정의 추가_execute_tool()에 핸들러 구현필요한 경우
ctrader_bot.py에 해당 메서드 추가문서 업데이트
📊 성능
시작 시간: 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 파일 참조
⚖️ 면책 조항
이 소프트웨어는 어떠한 종류의 보증 없이 "있는 그대로" 제공됩니다. 거래에는 상당한 위험이 따르며 자금을 잃을 수 있습니다. 사용자의 책임하에 사용하십시오. 실거래 전에는 항상 데모 계정에서 테스트하십시오.
🤝 기여
기여를 환영합니다! 다음 단계를 따라주세요:
저장소 포크
기능 브랜치 생성
변경 사항 적용
해당되는 경우 테스트 추가
풀 리퀘스트 제출
📧 지원
📖 문서 확인
🐛 GitHub에 이슈 보고
💬 cTrader 커뮤니티 참여
알고리즘 트레이더를 위해 ❤️로 제작됨
시작할 준비가 되셨나요? ./install.sh를 실행하고 위의 지침을 따르세요!
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/akinabudu/ctrader-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server