metatrader-mcp-server

metatrader-mcp-server

Enables natural language management of MetaTrader 5 accounts, including checking balances, opening positions, and managing trades via the Antigravity agent.

Category
Visit Server

README

UT Bot MetaTrader 5 Webhook Bridge & AI Agent

Automate your TradingView Pine Script alerts directly into MetaTrader 5 (MT5) with custom Stop Loss (SL) and Take Profit (TP) levels using FastAPI, ngrok, and the Antigravity developer agent.


🌟 How It Works

[TradingView Strategy Alert] 
          │ (Triggers & sends JSON payload)
          â–¼
[ngrok Tunnel (Public URL)]
          │ (Forwards to local machine)
          â–¼
[FastAPI Webhook Server]
          │ (Parses payload & gets current price)
          â–¼
[MetaTrader 5 Client]
          │ (Executes market order with SL & TP)
          â–¼
   [MT5 Terminal]

📋 Prerequisites

  1. Windows OS (required for the MetaTrader 5 Python SDK).
  2. Python 3.10+ installed.
  3. MetaTrader 5 Desktop Terminal installed and logged into your broker account.
  4. Algorithmic Trading Enabled:
    • Open MT5.
    • Go to Tools âž” Options âž” Expert Advisors.
    • Check "Allow algorithmic trading" and click OK.

🚀 Quick Start & Installation

Step 1: Install Dependencies

Install the required Python packages:

pip install fastapi uvicorn metatrader-mcp-server pydantic

Step 2: Configure Antigravity MCP Server

To allow Antigravity to check your balances, open positions, and manage trades using natural language, update your global Antigravity configuration file:

File Path: C:\Users\DATA ENG. OLA\.gemini\config\mcp_config.json

Add the "metatrader" server configuration:

{
  "mcpServers": {
    "metatrader": {
      "command": "C:\\Users\\DATA ENG. OLA\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python313\\Scripts\\metatrader-mcp-server.exe",
      "args": [
        "--login", "YOUR_MT5_LOGIN",
        "--password", "YOUR_MT5_PASSWORD",
        "--server", "YOUR_MT5_SERVER",
        "--transport", "stdio"
      ]
    }
  }
}

(Make sure to adjust the path to your python local-packages directory if it differs).


Step 3: Set Up the Webhook Bridge

Create the webhook_bridge.py file to receive and process alerts from TradingView. The script automatically handles symbol cleaning (removing exchange prefixes like EXNESS:) and resolves library-specific SL/TP validation bugs.

Running the Server

Run the webhook bridge on port 5001:

python webhook_bridge.py

Step 4: Expose the Port Using ngrok

Expose port 5001 to the internet to get a public URL for TradingView:

ngrok http 5001

Copy the generated Forwarding URL (e.g. https://your-subdomain.ngrok-free.dev).


📊 TradingView Integration

Step 1: Save the Pine Script

Create a new Pine Editor script in TradingView and paste the code from ut_bot_strategy.pine. Click Save and Add to chart.

Step 2: Set Up the Alert

  1. Press Alt + A to open the Create Alert dialog.
  2. Condition: Select UT Bot Strategy – Buy & Sell with SL/TP.
  3. Trigger: Select Alert() function calls only (crucial for sending dynamic JSON parameters).
  4. Webhook URL: Under the Notifications tab, check Webhook URL and paste your public ngrok URL with /webhook at the end: https://your-subdomain.ngrok-free.dev/webhook
  5. Alert Name: UT Bot MT5 Automation.
  6. Clear the Message box.
  7. Click Create.

🔒 Security Recommendations

  • Demo First: Always test with a demo/trial account before using real money.
  • Firewalling: Use an authentication mechanism or limit ngrok access if deploying to a production VPS.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured