Qoyyuum/mcp-metatrader5-server
요약
MetaTrader 5와 AI 어시스턴트를 연결하는 Model Context Protocol(MCP) 서버입니다. AI가 시장 데이터를 분석하고 직접 거래를 실행 및 관리할 수 있는 환경을 제공합니다.
핵심 포인트
- MetaTrader 5 터미널과 AI 간의 상호작용 지원
- 시장 데이터 접근 및 실시간 틱 정보 조회 가능
- 거래 실행, 관리 및 거래 내역 분석 기능 제공
- Claude Desktop, Cursor, Gemini CLI 등 다양한 MCP 클라이언트와 통합 가능
MetaTrader 5를 위한 Model Context Protocol (MCP) 서버로, AI 어시스턴트가 트레이딩 및 시장 데이터 분석을 위해 MetaTrader 5 플랫폼과 상호작용할 수 있도록 지원합니다. 문서
- MetaTrader 5 터미널 연결
- 시장 데이터 (심볼, 가격, 틱) 접근
- 거래 실행 및 관리
- 거래 내역 분석
- Model Context Protocol을 통한 AI 어시스턴트 통합
uvx --from mcp-metatrader5-server mt5mcp
git clone https://github.com/Qoyyuum/mcp-metatrader5-server.git
cd mcp-metatrader5-server
uv sync
...
uv(권장) 또는 pip
Python 3.11 이상
Windows에 설치된 MetaTrader 5 터미널
MetaTrader 5 계정(데모 또는 실계좌)
이 서버는 Claude Desktop과 같은 MCP 클라이언트를 위해 기본적으로 stdio 모드로 실행됩니다:
uv run mt5mcp
HTTP 전송(transport) 방식으로 테스트하려면 .env 파일을 생성하세요:
MT5_MCP_TRANSPORT=http
MT5_MCP_HOST=127.0.0.1
MT5_MCP_PORT=8000
그 다음 실행하세요:
uv run mt5mcp
서버는 http://127.0.0.1:8000 에서 시작됩니다.
이 설정을 MCP 클라이언트의 설정 파일에 추가하세요:
Claude Desktop용 (claude_desktop_config.json):
{
"mcpServers": {
"mcp-metatrader5-server": {
...
git clone https://github.com/Qoyyuum/mcp-metatrader5-server
cd mcp-metatrader5-server
저장소를 git clone한 후, 다음 명령어를 실행하세요:
MCP JSON 형식용
uv run fastmcp install mcp-json src/mcp_mt5/main.py
Claude Desktop용
uv run fastmcp install claude-desktop src/mcp_mt5/main.py
Claude Code용
uv run fastmcp install claude-code src/mcp_mt5/main.py
Cursor용
uv run fastmcp install cursor src/mcp_mt5/main.py
Gemini CLI용
uv run fastmcp install gemini-cli src/mcp_mt5/main.py
이 내용을 claude_desktop_config.json 또는 기타 LLM 설정 파일에 추가하세요:
{
"mcpServers": {
"mcp-metatrader5-server": {
...
initialize()
: MT5 터미널 초기화
login(account, password, server)
: 트레이딩 계정 로그인
shutdown()
: MT5 터미널과의 연결 종료
get_symbols()
: 사용 가능한 모든 심볼 (symbols) 가져오기
get_symbols_by_group(group)
: 그룹별 심볼 (symbols) 가져오기
get_symbol_info(symbol)
: 특정 심볼 (symbol)에 대한 정보 가져오기
get_symbol_info_tick(symbol)
: 심볼 (symbol)의 최신 틱 (tick) 정보 가져오기
copy_rates_from_pos(symbol, timeframe, start_pos, count)
: 특정 위치 (position)로부터 바 (bars) 가져오기
copy_rates_from_date(symbol, timeframe, date_from, count)
: 특정 날짜 (date)로부터 바 (bars) 가져오기
copy_rates_range(symbol, timeframe, date_from, date_to)
: 특정 날짜 범위 (date range) 내의 바 (bars) 가져오기
copy_ticks_from_pos(symbol, start_pos, count)
: 특정 위치 (position)로부터 틱 (ticks) 가져오기
copy_ticks_from_date(symbol, date_from, count)
: 특정 날짜 (date)로부터 틱 (ticks) 가져오기
copy_ticks_range(symbol, date_from, date_to)
: 특정 날짜 범위 (date range) 내의 틱 (ticks) 가져오기
order_send(request)
: 트레이드 서버 (trade server)로 주문 (order) 전송
order_check(request)
: 지정된 파라미터로 주문 (order)을 실행할 수 있는지 확인
positions_get(symbol, group)
: 오픈 포지션 (open positions) 가져오기
positions_get_by_ticket(ticket)
: 티켓 (ticket)을 통해 오픈 포지션 (open position) 가져오기
orders_get(symbol, group)
: 활성 주문 (active orders) 가져오기
orders_get_by_ticket(ticket)
: 티켓 (ticket)을 통해 활성 주문 (active order) 가져오기
history_orders_get(symbol, group, ticket, position, from_date, to_date)
: 히스토리 (history)에서 주문 (orders) 가져오기
history_deals_get(symbol, group, ticket, position, from_date, to_date)
: 히스토리 (history)에서 딜 (deals) 가져오기
# MT5 초기화
initialize()
# 트레이딩 계정 로그인
...
# 초기화 및 로그인
initialize()
login(account=123456, password="your_password", server="your_server")
...
서버는 AI 어시스턴트가 MetaTrader 5 API 사용법을 이해할 수 있도록 다음과 같은 리소스 (resources)를 제공합니다:
mt5://getting_started
: MetaTrader 5 API 사용을 위한 기본 워크플로 (workflow)
mt5://trading_guide
: 거래 실행 및 관리를 위한 가이드
mt5://market_data_guide
: 시장 데이터 (market data) 접근 및 분석을 위한 가이드
mt5://order_types
: 주문 유형 (order types)에 관한 정보
mt5://order_filling_types
: 주문 체결 유형 (order filling types)에 관한 정보
mt5://order_time_types
mt5://order_time_types
: 주문 시간 유형 (order time types)에 관한 정보
mt5://trade_actions
: 거래 요청 액션 (trade request actions)에 관한 정보
서버는 AI 어시스턴트가 사용자와 상호작용할 수 있도록 다음과 같은 프롬프트 (prompts)를 제공합니다:
connect_to_mt5(account, password, server)
: MetaTrader 5에 연결 및 로그인
analyze_market_data(symbol, timeframe)
: 특정 심볼 (symbol)에 대한 시장 데이터 분석
place_trade(symbol, order_type, volume)
: 특정 심볼에 대한 거래 실행
manage_positions()
: 오픈 포지션 (open positions) 관리
analyze_trading_history(days)
: 거래 내역 (trading history) 분석
mcp-metatrader5-server/
├── src/
│ └── mcp_mt5/
...
uv 사용 시 (권장):
uv build
이 명령은 dist/ 디렉토리에 휠 (wheel) 및 소스 배포판 (source distributions)을 생성합니다.
uv 사용 시:
# 먼저 빌드
uv build
# PyPI에 게시
...
MIT
- MetaTrader 5 플랫폼에 대한 MetaQuotes
- MCP 서버 구현을 위한 FastMCP
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기