fxabsolute-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@fxabsolute-mcp Show me the first 5-min candle of NYSE session for SPX500 over the last 6 months."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
fxabsolute-mcp
Connects a coding agent directly to FXAbsolute's candle history over MCP.
The point is to stop the model looking at pictures of charts. A screenshot forces it to recover prices from pixels; these tools hand it the numbers, so "what does the New York open actually do" becomes a query instead of a guess.
Setup
Nothing to install and no API key. The server fetches what it needs and caches it.
Claude Code
claude mcp add fxabsolute -- npx -y fxabsolute-mcpCursor, Windsurf, Claude Desktop, or anything reading a config file
{
"mcpServers": {
"fxabsolute": { "command": "npx", "args": ["-y", "fxabsolute-mcp"] }
}
}Verify with claude mcp list, or just ask your agent "what instruments does fxabsolute
have?" — it should answer with fifteen, and tell you volume is not available.
Working on the server itself
git clone https://github.com/varsansri/fxabsolute-mcp && cd fxabsolute-mcp
npm install
npm run smoke # every tool against real data, ~30 checks
node test/proto.mjs # stdio protocol round-trip
claude mcp add fxabsolute -- node "$PWD/src/index.js"Related MCP server: FinClaw
Where the data comes from
In order:
FXA_DATA_DIR— an explicit directory of.binfiles../public/data— automatic when running inside the checkoutFXA_ORIGIN(defaulthttps://www.fxabsolute.com) — fetched once per instrument and cached under~/.cache/fxabsolute-mcp, so it works from any machine
~38 MB per instrument, downloaded lazily and only once.
Tools
Tool | What it answers |
| What's available, how many bars, what fields exist |
| Raw OHLC over a date range at any timeframe M1–W1 |
| Specific bars of a trading session across months, summarised |
| Movement grouped by hour / weekday / month / year |
| Whether a price level actually held, and the reaction it produced |
Live chart bridge
Tool | Purpose |
| Pair with an open chart using the code in its AI tab |
| Block until the trader types or speaks; returns their words + chart state |
| Answer into their chart panel |
| Show the thinking indicator during a long lookup |
| Leave the session |
A trader opens the backtester, switches to the AI tab, and reads out the six-character
code. Their agent calls fxa_connect_chart, then loops on fxa_wait_for_message → answer →
fxa_reply. The site holds no API key and pays for no inference — every trader brings their
own agent.
Each message carries a snapshot of the chart: instrument, timeframe, replay position, the
current candle, every drawing as real geometry (height in pips, bars spanned, slope per bar,
fib levels, whether price sits inside a box), open trades and running performance. The agent
reads numbers, so it can check a claim with fxa_session_scan instead of guessing from an
image.
Transport is a Supabase Realtime broadcast channel, so the browser and the agent need not be
on the same machine — a chart on a phone pairs with a terminal on a laptop. Credentials come
from /bridge-config.json on the site, which carries only the publishable key already present
in every visitor's browser bundle, so pairing needs no setup.
The replay position is included with a note telling the agent not to reveal bars the trader has not reached. Backtesting is worthless if the assistant spoils the future.
The motivating query — the first 5-minute candle of the New York session, every day, for six months — is one call:
{ "instrument": "SPX500", "session": "nyse", "timeframe": "M5",
"bars": [1], "from": "2024-01-01", "to": "2024-07-01" }Two things worth knowing
There is no volume. The binary format is 20 bytes per candle: uint32 timestamp plus four
float32 OHLC values. Volume was never stored, so no tool reports it and none invents a proxy
silently — rangePips is offered instead, and every relevant response says so. Adding real
volume means re-fetching all ~543 MB from Dukascopy into a wider record format.
Timeframes are bucketed on wall-clock time, not by array index. The browser chart
aggregates every N bars, which is right for bar-by-bar replay but drifts for analysis: forex
data has weekend and holiday gaps, so the Nth group of 60 M1 bars stops lining up with a real
clock hour and an "H1 candle" can straddle a weekend. Here, bars are bucketed on
floor(ts / period), so every bar sits on a true boundary and gaps produce no bar rather than
a synthetic one.
Session windows are evaluated in exchange-local time with daylight saving resolved to the second, so "the 09:30 bar" is the 09:30 bar in both January and July rather than drifting an hour each spring.
fxa_session_scan also reports coverage: how many weekdays in the window produced no data at
all. This matters more than it sounds — SPX500 is missing about 19% of weekdays in the first
half of 2024, and without the warning a scan over that period returns clean-looking statistics
built on a fifth less data than you asked for.
Available Tools
10 toolsfxa_bucket_statsA
Group every bar in a window by hour of day, day of week, month or year, and report how much each bucket moves. Answers "which hour is actually worth trading" and "is Monday different" in one call. Ranked by average bar range, since volume is not available.
Inputs: instrument (required), to, from, groupBy, +2 more.
fxa_candlesA
Fetch OHLC candles for an instrument over a date range, at any timeframe from M1 to W1. Higher timeframes are aggregated from M1 on true clock boundaries. Returns the most recent bars when the range exceeds the limit.
Inputs: instrument (required), to, from, limit, +1 more.
fxa_connect_chartA
Pair with a trader's open FXAbsolute chart using the code shown in the AI tab of the backtester. Once connected, the trader can type or speak to you and you answer in their chart panel. Call this when the user gives you a pairing code, e.g. "connect to fxabsolute with code AB3K9P".
Inputs: code (required), agentName.
fxa_disconnect_chartA
Leave the paired chart session.
Inputs: no named parameters.
fxa_instrumentsA
List every instrument FXAbsolute has candle data for, with bar counts and pip size. Call this first if you are unsure what is available. Also states plainly which fields exist — notably, this dataset has no volume.
Inputs: no named parameters.
fxa_level_touchesA
Test whether a price level actually held. Finds every time price reached the level, de-duplicates clustered touches, and measures the reaction that followed. This is the numeric version of asking whether a horizontal line on the chart is respected.
Inputs: price (required), instrument (required), to, from, +4 more.
fxa_replyA
Send your answer back to the trader's chart panel. Keep it short and concrete — it renders in a narrow side panel next to the chart, not a terminal.
Inputs: text (required).
fxa_session_scanA
Pull specific bars out of a trading session across a whole date range, and summarise them. Example: the first 5-minute candle of the New York session every day for six months (instrument SPX500, session nyse, timeframe M5, bars [1]). Session windows are evaluated in exchange-local time with daylight saving handled, so results do not shift by an hour in summer. Use this instead of pulling raw candles and filtering them yourself.
Inputs: instrument (required), to, bars, from, +4 more.
fxa_set_thinkingA
Show or hide the thinking indicator in the trader's panel. Call with on:true before a long lookup so they know you are working. fxa_reply clears it automatically.
Inputs: on (required).
fxa_wait_for_messageA
Wait for the trader's next message on the paired chart. Blocks until they send something or the timeout expires. Returns their text plus a structured snapshot of the chart at the moment they asked — read that instead of asking them to describe what they are looking at. Returns waiting:false when nothing arrived, in which case call it again to keep listening.
Inputs: timeoutSec.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool serves a distinct purpose: data retrieval (instruments, candles), analysis (session_scan, bucket_stats, level_touches), and chart communication (connect, disconnect, wait_for_message, reply, set_thinking). No two tools overlap; even candles and session_scan are explicitly differentiated, with session_scan described as a higher-level alternative to manual filtering.
All tool names share the fxa_ prefix and use snake_case, providing clear brand consistency. However, data tools are named as noun phrases (instruments, candles, bucket_stats), while interaction tools use verb phrases (connect_chart, reply), which is a minor inconsistency but still predictable by function.
With 10 tools, the server is well-scoped for its stated purpose of FX data analysis and chart interaction. The count is within the ideal 3-15 range, and each tool contributes a meaningful capability without unnecessary bloat.
The tool set covers the full workflow of a trader using FXAbsolute: discovering available instruments, fetching OHLC data, performing session-based and time-based analysis, testing price levels, and communicating through a paired chart. There are no obvious gaps for the intended use case, as all necessary read and interaction operations are present.
Maintenance
Related MCP Connectors
Trading MCP server for AI agents, with live market data, account reads and controlled execution.
Hosted MCP server for MT4 and MT5: read accounts, prices and candles, and place or close orders.
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for OpenMM — exposes market data, account, trading, and strategy tools to AI agents
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that streams K-line (candlestick) data from decentralized exchanges (DEXs) to power your AI agents and workflows.14MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that provides AI agents with financial tools including real-time quotes, backtesting, technical analysis, and multi-exchange data via a simple CLI interface.2MIT

backtest360-mcpofficial
AlicenseAqualityCmaintenanceMCP server that exposes the Backtest360 backtesting engine API as tools, enabling AI agents to conversationally discover indicators, build and validate strategies, run backtests, and read results.1443 PyPIMIT- AlicenseNot gradedqualityCmaintenanceA local-first MCP server that bridges AI coding agents with MetaTrader 5 for inspection, market data, MQL5 development, compiling, Strategy Tester review, workspace sync, logs, audit trails, demo trading, and carefully gated live trading.MIT