Elliott Wave counts for your AI agent
100 markets, refreshed after every close. Connect once over MCP, or read the same data as JSON or Markdown. Free, no key, no sign-up — just cite Elliott Wave Atlas with a link.
https://elliottwaveatlas.com/mcpConnect over MCP
claude mcp add --transport http elliott-wave-atlas https://elliottwaveatlas.com/mcpTools
get_market(symbol)One market's full count: the wave in progress, target, invalidation and time window for each timeframe, monthly to 15-minute.
list_markets(group?)Every market with its called count in one line.
search_markets(query)Find a market by symbol, name or group, e.g. “gold”, “semiconductors”, “india”.
get_changes(days?)Markets whose call was revised, replaced or invalidated recently.
Read the data directly
/data/index.jsonEvery market: one-sentence answer, called count, invalidation, trend./data/markets/btc-usd.jsonOne market in full (use any symbol: spx, nvda, gold, eurusd…)./markets/btc-usd.mdThe same market as Markdown, ready for a prompt./data/changes.jsonCalls revised, replaced or invalidated, newest first. Also as RSS: /feed.xml/llms.txtSite guide for language models./llms-full.txtEvery market's count in one Markdown file./openapi.jsonOpenAPI description of the JSON endpoints.Example
import requests
m = requests.get("https://elliottwaveatlas.com/data/markets/btc-usd.json").json()
print(m["answer"])
for lvl in m["levels"]:
print(lvl["timeframe"], lvl["target"], lvl["invalidation"])What you get
The wave count we call for the market. Charts, targets and levels all follow it.
The price that proves the count wrong. The call changes when price crosses it.
One row per timeframe, monthly to 15-minute, each zooming one wave deeper.
The daily close the count was made at. Counts update once per close.
Free to use, quote and fetch with attribution and a link; please fetch at a reasonable rate and don't resell. Educational and informational only — not investment advice. See the terms.