XTBApiServer

XTBApiServer

Mirror of

MCP-Mirror

Developer Tools
Visit Server

README

XTBApiServer

This is an MCP server that exposes the XTB API using the @sharplygroup/xtb-api-js library. It allows you to interact with your XTB trading account through the Model Context Protocol.

Prerequisites

  • Node.js (version 16 or higher)
  • npm
  • An XTB trading account

Installation

  1. Clone this repository: git clone [repository_url]
  2. Navigate to the project directory: cd xtb-mcp-server
  3. Install dependencies: npm install

Configuration

  1. Create a .env file in the project directory and add your XTB API credentials:
DEMO_ACCOUNT=true
USER_ID=your_user_id
PASSWORD=your_password

Note: Replace your_user_id and your_password with your actual XTB API credentials. Set DEMO_ACCOUNT to false if you are using a live account.

Running the Server

  1. Build the TypeScript code: npm run build
  2. Run the server: node build/index.js

Connecting with an MCP Client

You can connect to this server using any MCP client, such as the MCP Inspector.

  1. Install the MCP Inspector globally: npm install -g @modelcontextprotocol/inspector
  2. Run the MCP Inspector with your server: npx @modelcontextprotocol/inspector node build/index.js
  3. In the MCP Inspector UI, select "stdio" as the transport type and click "Connect".

Available Tools

The following tools are exposed by this MCP server:

Account Operations

  • getCurrentUserData: Returns information about account currency and account leverage.
  • getMarginLevel: Returns various account indicators.

Calculation Operations

  • getCommissionDef: Returns calculation of commission and rate of exchange.
    • Parameters: symbol (string), volume (number)
  • getMarginTrade: Returns expected margin for given instrument and volume.
    • Parameters: symbol (string), volume (number)
  • getProfitCalculation: Calculates estimated profit for given deal data.
    • Parameters: closePrice (number), cmd (number), openPrice (number), symbol (string), volume (number)

Market Data Operations

  • getCalendar: Returns calendar with market events.
  • getChartLastRequest: Returns chart info, from start date to the current time.
    • Parameters: info (any)
  • getChartRangeRequest: Returns chart info with data between given start and end dates.
    • Parameters: info (any)
  • getTickPrices: Returns array of current quotations for given symbols, only quotations that changed from given timestamp are returned.
    • Parameters: level (number), symbols (string[]), timestamp (number)
  • getTradingHours: Returns quotes and trading times.
    • Parameters: symbols (string[])

News Operations

  • getNews: Returns news from trading server which were sent within specified period of time.
    • Parameters: end (number), start (number)

Server Operations

  • getServerTime: Returns current time on trading server.
  • getVersion: Returns the current API version.
  • ping: Regularly calling this function is enough to refresh the internal state of all the components in the system.

Symbol Operations

  • getAllSymbols: Returns an array of all symbols available for the user.
  • getSymbol: Returns information about the symbol available for the user.
    • Parameters: symbol (string)

Trade Operations

  • getTrades: Returns an array of user's trades.
    • Parameters: openedOnly (boolean)
  • getTradeRecords: Returns an array of trades listed in the orders argument.
    • Parameters: orders (number[])
  • getTradesHistory: Returns an array of user's trades which were closed within specified period of time.
    • Parameters: end (number), start (number)
  • getTradeStatus: Returns current transaction status.
    • Parameters: order (number)

Trading Operations

  • tradeTransaction: Starts a trade transaction.
    • Parameters: tradeTransInfo (any)
  • tradeTransactionStatus: Returns current transaction status.
    • Parameters: order (number)

Command Execution

  • executeCommand: Executes a command on the server.
    • Parameters: command (string)

Prompts

The following prompts are available:

  • getAccountDataPrompt: Get the current account data.
  • getSymbolInfoPrompt: Get information about a specific symbol.
    • Parameters: symbol (string)

Disclaimer

This MCP server is provided as an example and should be used at your own risk. Please ensure that you understand the XTB API and the potential risks involved before using this server with a live trading account.

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
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python