AuraStream MCP
This MCP server lets you pull historical financial, economic, and alternative data from 46 AuraStream sources through one API, so an AI client can fetch and analyze time series on demand.
Discover sources:
list_sourcesreports each source's asset classes, ticker formats, intervals, supported dtypes, source-specific parameters, and whether provider credentials are configured (free, no API call).Fetch custom date ranges:
get_timeseriesretrieves data betweenstartandendfor one or many tickers in a single call, returning CSV per ticker (OHLCV for bars, source-specific fields otherwise), trimmed to the most recentmax_rows(default 100, max 1000).Grab recent bars quickly:
get_latestreturns the most recent N bars per ticker (default 10, max 500) without specifying dates.Cover crypto markets: Binance, Bybit, Kraken, Deribit, KuCoin, dYdX, Hyperliquid, Lyra, plus CoinAPI, CoinGecko, Nemeton, and derived signals (crowding, Fed tone, 8-K flags, insider conviction, fund flows, contracts, layoffs, energy/crop surprises).
Cover equities, FX, futures, CFDs: Yahoo, Oanda, Alpaca, Polygon, FirstRate, TradeStation, CityIndex.
Access macro and energy data: Treasury, World Bank, SDMX (BIS/ECB/IMF/OECD), US econ calendar, Fed text, WASDE, FRED, EIA, BEA, TradingEconomics, Nasdaq.
Pull fundamentals: EDGAR (insider trades, financials, earnings, 144s, 8-Ks, fails-to-deliver, 13D/13G, 13F, N-PORT, N-PX), USAspending, WARN, Finnhub.
Track positioning and flows: CFTC Commitments of Traders, EU net short positions, HMRC, Comext, HKTrade, US Census.
Get alternative data: weather (OpenMeteo, VisualCrossing, degree days), TSA travel, DefiLlama, GDELT news.
Choose granularity and variants: intervals from seconds to years (uppercase
M= minutes, lowercasem= months) plus source-specific options like dtypes (funding, orderbook, trades, quotes, earnings), price types, adjustments, instruments, and filters.Run flexibly: use locally via stdio, self-host over HTTP for ChatGPT-style remote connectors, or point at the hosted endpoint; provider secrets stay in environment variables, never tool arguments.
Provides access to Binance historical crypto market data through AuraStream, including OHLCV bars for tickers such as BTCUSDT and ETHUSDT over specified date ranges and intervals.
Provides access to Polygon historical market data through AuraStream using the user's own Polygon credentials, enabling retrieval of OHLCV bars and related financial data for supported tickers.
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., "@AuraStream MCPplot BTC daily closes for Q1 from Binance"
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.
aurastream-mcp
An MCP server for AuraStream, the unified historical data API. It lets Claude Desktop, Claude Code, ChatGPT and other MCP clients pull OHLCV bars (and, for some sources, funding rates, trades, quotes, order books and earnings) from crypto exchanges, Yahoo Finance, Oanda, Alpaca, Polygon and others, plus macro, positioning and trade-flow data such as FRED, CFTC Commitments of Traders, SEC insider trades, earnings filings, planned insider sales, 8-K events, fails-to-deliver, 13D/13G stakes, 13F and mutual fund/ETF holdings and votes, the US economic release calendar, UK/EU/US/Hong Kong metals trade, TSA travel numbers, historical weather and degree days, US retail sales and consumer spending (PCE), USDA crop projections (WASDE), EU short positions, WARN layoff notices, federal contract spending and Fed statements, minutes and speeches, plus Unbiased Alpha's own derived datasets (crypto crowding, Fed tone, 8-K risk flags, insider conviction, fund flows, federal contracts and layoffs per company, energy and crop surprises): all 46 AuraStream sources through one tool.
Ask "plot BTC daily closes for Q1 from Binance", "compare SPY and QQQ drawdowns this year" or "how have hedge funds positioned in gold futures since 2020?" and the model calls AuraStream for the data.
Tools
Tool | What it does |
| Sources, asset classes, ticker formats, intervals, supported dtypes and source-specific parameters, and whether provider credentials are needed and configured. No API call. |
| Calls |
| The most recent N bars per ticker, without picking dates. |
Each get_timeseries / get_latest call is one AuraStream API call.
Sources exposed:
Group | Sources |
Crypto |
|
Equities, FX, futures, CFDs |
|
Macro and energy |
|
Fundamentals |
|
Positioning and flows |
|
Crypto fundamentals and news |
|
Weather and travel |
|
Dates are YYYY-MM-DD. Intervals follow the API: upper-case M is minutes, lower-case m is months (15M = 15 minutes, 1m = one month). The server checks intervals, dtypes and parameters against each source's documented values before calling the API.
Related MCP server: Data Puller MCP Server
Install
Requires Python 3.10+.
pip install aurastream-mcpOr run it without installing, with uv: uvx aurastream-mcp.
This installs an aurastream-mcp command. Check it with aurastream-mcp --help.
Configuration
All secrets come from environment variables. Provider credentials are never tool arguments, so they never pass through the chat or the model.
Variable | Needed for |
| Everything. Get a free key from the dashboard. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Weather sources take locations as latitude,longitude tickers, e.g. 48.85,2.35.
Set only the ones you use. list_sources tells the model which sources are configured.
Claude Desktop
Edit claude_desktop_config.json (Settings > Developer > Edit Config):
{
"mcpServers": {
"aurastream": {
"command": "aurastream-mcp",
"env": {
"AURASTREAM_API_KEY": "your-aurastream-key",
"OANDA_ACCOUNT_ID": "101-004-12345678-001",
"OANDA_TOKEN": "your-oanda-token"
}
}
}
}If Claude Desktop can't find the command, use the full path (e.g. C:\\Users\\you\\venv\\Scripts\\aurastream-mcp.exe or /Users/you/venv/bin/aurastream-mcp). Restart Claude Desktop afterwards.
Claude Code
claude mcp add aurastream -e AURASTREAM_API_KEY=your-aurastream-key -- aurastream-mcpAdd -e FRED_API_KEY=... etc. for credentialed sources, and --scope user to make it available in every project.
Hosted server (no install)
Unbiased Alpha runs a shared copy at https://aurastream.unbiased-alpha.com/mcp. Point any client that supports remote MCP servers at it and send your own AuraStream key:
as a header:
x-api-key: <key>orAuthorization: Bearer <key>, orin the URL, for clients that cannot set headers (ChatGPT):
https://aurastream.unbiased-alpha.com/mcp?api_key=<key>. Anyone who sees that URL can use your key, so treat it like the key itself.
Claude Code:
claude mcp add --transport http aurastream https://aurastream.unbiased-alpha.com/mcp --header "x-api-key: your-key"The hosted server holds no provider keys, so sources that need your own provider account (FRED, Polygon, Nemeton and the others in the table above) only work with a local install. Every source that needs no provider key works.
ChatGPT (remote connector)
The quickest route is the hosted server above: add https://aurastream.unbiased-alpha.com/mcp?api_key=<your key> as a connector (Settings > Connectors, developer mode). To run your own instead:
ChatGPT only talks to remote MCP servers over HTTPS, so run the server in HTTP mode somewhere reachable and register the URL as a connector.
AURASTREAM_API_KEY=your-key aurastream-mcp --http --host 127.0.0.1 --port 8000
# endpoint: http://127.0.0.1:8000/mcpPut it behind something that gives you a public HTTPS URL (a reverse proxy with TLS, or a tunnel such as Cloudflare Tunnel or ngrok), then tell the server which public host name to accept:
aurastream-mcp --http --port 8000 --allowed-host mcp.example.comand add https://mcp.example.com/mcp in ChatGPT. Requests with any other Host header are rejected (DNS-rebinding protection).
How the API key works in HTTP mode. If the client sends x-api-key: <key>, Authorization: Bearer <key> or ?api_key=<key> in the URL, that key is used. Otherwise the server falls back to AURASTREAM_API_KEY. The fallback is what makes ChatGPT work today, but it also means anyone who knows the URL spends your allowance and uses your provider credentials. Treat the HTTP mode as single-user self-hosting: keep the URL private, or put it behind your own auth. Start with --require-client-key to disable the fallback when each user brings their own key. Provider credentials always come from the server's environment.
Other options
aurastream-mcp [--http] [--host HOST] [--port PORT] [--path /mcp]
[--allowed-host HOST ...] [--require-client-key] [--json-response]AURASTREAM_API_URL overrides the endpoint (useful for testing).
Example prompts
"What sources does AuraStream have for forex?"
"Get daily BTCUSDT and ETHUSDT from Binance for 2025 and compute their 30-day rolling correlation."
"Show the last 20 hourly bars of EUR_USD from Oanda."
"Pull UNRATE and DFF from FRED since 2015 and describe how they moved together."
"Show Binance BTCUSDT perpetual funding rates for June 2025."
"How has managed-money positioning in gold futures (CFTC) changed since 2020?"
"Which AAPL insiders bought or sold shares in 2024?"
"Show monthly UK gold exports to Switzerland since 2020."
"Fetch SPY and QQQ daily from Yahoo for the last 6 months and compare max drawdowns."
Limits
Historical data, not a real-time feed. The last bar may still be forming.
Every data call counts against your monthly AuraStream allowance (free plan: 500 calls/month). When it runs out the tool says so; it resets on the 1st at 00:00 UTC. The free plan also allows about 1 request per second.
Results are capped per ticker (default 100 rows, max 1000) to keep the model's context manageable. For long, fine-grained histories use the REST API or the Python client directly.
The API times out after 120 seconds; split very large requests.
Interval support varies by source (see the docs).
Known issues
Non-bar data (funding, order and position books, trades, quotes, earnings, Finnhub financials and the macro, positioning and trade sources) is rendered generically as a table.
Several sources are stamped at the period they describe but published later (EIA, EDGAR fails-to-deliver, the trade sources).
list_sourcesnotes the lag; shift the data before backtesting.GDELT search queries are throttled by GDELT itself; keep ranges short.
dataset="themes"is not throttled.
Directories
Also listed on mcprush, with its security scan:
Development
python -m venv .venv
.venv/Scripts/activate # or: source .venv/bin/activate
pip install -e ".[test]"
pytestThe tests mock all HTTP calls; no API key is needed.
License
MIT. See LICENSE.
Available Tools
3 toolsget_latestARead-onlyIdempotent
Return the most recent N bars (OHLCV) per ticker, without having to pick dates. Uses one unit of the monthly AuraStream allowance. Data is historical/delayed, not a live quote; the last bar may still be forming.
| Name | Required | Description | Default |
|---|---|---|---|
| bars | No | How many of the most recent bars to return per ticker. | |
| source | Yes | Data source id, see list_sources. | |
| tickers | Yes | Tickers in the source's own format. | |
| interval | No | Bar size, e.g. 1h or 1d. | 1d |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the read-only/idempotent annotations: it consumes one unit of the monthly AuraStream allowance, the data is historical/delayed rather than a live quote, and the last bar may still be forming. These are exactly the quirks an agent needs before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with what is returned, followed by quota and data-freshness caveats. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, all four parameters are documented, and the description covers the non-obvious concerns (cost, delay, partial last bar). Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – bars, source, tickers, and interval are all documented in-schema. The description's 'N bars per ticker' restates the schema rather than adding format or edge-case meaning, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: return the most recent N OHLCV bars per ticker. 'Without having to pick dates' implicitly contrasts with get_timeseries, though the sibling is never named outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear selection condition – use this when you don't want to specify dates – which is exactly what separates it from get_timeseries. No explicit exclusions or named alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_timeseriesARead-onlyIdempotent
Fetch historical data from AuraStream and return it as a CSV table per ticker (timestamp,Open,High,Low,Close,Volume for market bars; source-specific fields otherwise, see list_sources). Long results are cut to the most recent max_rows rows per ticker, with the total row count noted. Each call uses one unit of the user's monthly AuraStream allowance. Provider credentials come from the server's environment; never ask the user to paste them.
| Name | Required | Description | Default |
|---|---|---|---|
| db | No | sdmx (required): provider ID, e.g. BIS, ECB, ESTAT, IMF, OECD. | |
| end | Yes | End date, YYYY-MM-DD. | |
| top | No | edgar nport only: keep the largest N positions of each filing. | |
| feed | No | alpaca stocks only: iex (default) or sip (consolidated tape). | |
| mode | No | gdelt search queries only: share of coverage (default), article count, or tone. | |
| as_of | No | cftc: release (default, stamped at Friday publication, no look-ahead) or report (Tuesday position date). fred: realtime_start (default, stamped at publication) or date (period described). | |
| dtype | No | 'bars' everywhere; binance also 'funding' (futures); oanda also 'orderbook'/'positionbook'; alpaca also 'trades'/'quotes'; yahoo also 'earnings'. | bars |
| index | No | nasdaq only: date column used as the index (default date). | |
| items | No | edgar events only: 8-K item numbers, e.g. ['5.02']. | |
| level | No | nemeton only: order book depth the metric is computed over (default 1000). | |
| start | Yes | Start date, YYYY-MM-DD. | |
| state | No | warn only: CA and/or NJ (default both). | |
| holder | No | netshort only: keep positions whose holder contains this text. | |
| issuer | No | edgar npx only: company whose votes to return (CUSIP, ISIN or name). | |
| metric | No | nemeton (required): signal name, e.g. cumulative-depth, orderbook-pressure, spread (list_sources has all). | |
| period | No | edgar financials only: quarter (default) or annual. | |
| report | No | cftc only; default depends on the symbol. | |
| source | Yes | Data source id, see list_sources. | |
| bartype | No | cityindex only: bar (default) or tick. | |
| country | No | netshort only: FR, NL and/or ES (default all). | |
| dataset | No | edgar: insider (default), financials, earnings, events, ftd, 13dg, 144, 13f, nport or npx. usaspending: monthly (default) or awards. signals: crypto_leverage (default), fed_tone, event_flags, insider_conviction, fund_flow_pressure, gov_contracts, layoffs or energy_ag. uscensus: trade (default) or retail. gdelt: themes. | |
| filters | No | nasdaq only: column filters per table, e.g. {"QDL/FON": {"contract_code": "967654"}}. | |
| options | No | cftc only: include options (futures-equivalent). | |
| speaker | No | fedtext speeches only: speaker's last name, e.g. powell. | |
| tickers | Yes | Tickers in the source's own format, e.g. ['BTCUSDT'] for binance, ['EUR_USD'] for oanda, ['SPY'] for yahoo, ['GC'] for cftc, ['gold:CH'] for hmrc; weather sources take 'latitude,longitude', e.g. ['48.85,2.35']. Batch several tickers in one call. | |
| weights | No | degreedays only: population (default); gas, electricity, fuel_oil for heating by division or US. | |
| adjusted | No | uscensus retail only: seasonally adjusted (default true). | |
| assetcol | No | nasdaq only: one series per value of this column, e.g. contract_code. | |
| category | No | bybit only: linear (default) or inverse. | |
| concepts | No | edgar financials only: XBRL concepts, e.g. ['Revenues']. | |
| interval | No | Bar size: upper-case M is minutes, lower-case m is months (15M = 15 minutes, 1m = one month). Support varies by source (list_sources shows each source's intervals). | 1d |
| max_rows | No | Max rows returned per ticker; the most recent rows are kept. | |
| reporter | No | comext only: EU27_2020 (default) or a member state, e.g. DE. | |
| ticktype | No | kraken futures only: trade (default), mark or spot (index) price. | |
| timezone | No | openmeteo only: IANA time zone, e.g. Europe/Paris (default GMT). | |
| frequency | No | bea only: M, Q or A (default: the series' own). | |
| indicator | No | tradingeconomics (required): indicator name, e.g. 'gdp', 'inflation rate'. | |
| variables | No | openmeteo (required): weather variables, e.g. ['temperature_2m'] with 1h, ['temperature_2m_max'] with 1d. visualcrossing: only these fields. | |
| adjustment | No | alpaca stock bars only: raw (default), split, dividend or all. | |
| assetclass | No | alpaca only. | |
| award_type | No | usaspending only: contracts (default) or grants. | |
| instrument | No | binance: spot (default) or futures (USD-M perpetuals). kraken: futures (default) or spot. firstrate: stock (default), etf, futures, fx, index, crypto or options. lyra: option (default) or perp. | |
| min_amount | No | usaspending awards only: minimum award size in US dollars. | |
| price_type | No | oanda: M mid (default), A ask, B bid. cityindex: MID (default), BID or ASK. | |
| unit_group | No | visualcrossing only: units (default us). | |
| closed_only | No | tradestation only: leave out the bar still forming (default true). | |
| vs_currency | No | coingecko only: quote currency (default USD). | |
| sessiontemplate | No | tradestation only: trading session, e.g. Default or USEQPreAndPost. | |
| continuous_contracts | No | firstrate futures only: true (default) for continuous series, false for one series per contract. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses important behavior: results are truncated to the most recent max_rows rows per ticker with the total row count noted, each call consumes one unit of the monthly AuraStream allowance, and credentials come from the server environment so users should never be asked to paste them. These are exactly the operational details an agent needs before invoking a cost-incurring, truncated fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four efficient sentences. It front-loads the primary purpose and return format, then adds truncation, cost, and credential guidance without redundant restatement of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a large multi-source tool with 49 parameters, complete schema coverage, annotations, and an output schema, the description covers the critical non-schema behavior: output format, truncation, allowance cost, and credential handling. It stops short of explicit sibling routing and source-selection guidance, but those are largely covered by the schema and list_sources reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 49 parameters, including enums and source-specific options. The description adds useful return-shape context and mentions truncation, but it does not add parameter-level meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Fetch historical data from AuraStream' and states that results are returned as a CSV table per ticker. It differentiates itself from get_latest through 'historical data' and from list_sources by directing source-specific field lookup there, so an agent can identify the tool's role without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for historical ranged data and points to list_sources for source-specific fields, but it never explicitly says when to use this tool versus get_latest or list_sources. The usage is inferable from the name and wording rather than stated as a routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sourcesARead-onlyIdempotent
List the AuraStream data sources: what each covers, ticker format, intervals, supported dtypes, optional source-specific parameters, the fields returned when they are not OHLCV, and whether provider credentials are needed and configured. Free to call (does not use the API allowance).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent, so the remaining value is cost and prerequisites, and the description delivers both: 'Free to call (does not use the API allowance)' and a note that it reports whether provider credentials are needed and configured. That is exactly the kind of context annotations cannot express. It does not state pagination or ordering behavior, keeping it at 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the verb and resource, and every clause carries information (formats, fields, credentials, cost). The enumeration is long but none of the items is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter discovery tool with a full output schema, the description covers purpose, cost, and credential prerequisites, which is nearly everything an agent needs. The only gap is an explicit instruction on when to prefer this over calling get_timeseries directly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the schema to document and the baseline is 4. The description still uses the space usefully by explaining that some sources have source-specific parameters, which prepares the agent for what the output will contain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('List the AuraStream data sources') and then enumerates exactly what the listing contains: coverage, ticker format, intervals, dtypes, optional source params, non-OHLCV fields, and credential status. That is far more specific than siblings get_timeseries/get_latest, which retrieve data rather than describe it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The subject matter makes the when-to-use clear (discover sources, formats and credential requirements before fetching), and being a zero-parameter catalog it has no per-call conditions to state. It does not explicitly say 'call this before get_timeseries' or name the alternatives, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.7- Changed
get_latest1 field changed- changed
Input schema / properties / source / enumPrevious value: -[ - "binance", - "bybit", - "kraken", - "deribit", - "kucoin", - "dydx", - "hyperliquid", - "lyra", - "coinapi", - "coingecko", - "nemeton", - "yahoo", - "firstrate", - "oanda", - "alpaca", - "polygon", - "tradestation", - "cityindex", - "fred", - "finnhub", - "worldbank", - "eia", - "treasury", - "sdmx", - "nasdaq", - "econcalendar", - "bea", - "tradingeconomics", - "cftc", - "edgar", - "hmrc", - "comext", - "uscensus", - "hktrade", - "defillama", - "gdelt", - "openmeteo", - "visualcrossing", - "tsa", - "netshort", - "wasde", - "warn", - "degreedays", - "fedtext", - "usaspending" -]New value: +[ + "binance", + "bybit", + "kraken", + "deribit", + "kucoin", + "dydx", + "hyperliquid", + "lyra", + "coinapi", + "coingecko", + "nemeton", + "yahoo", + "firstrate", + "oanda", + "alpaca", + "polygon", + "tradestation", + "cityindex", + "fred", + "finnhub", + "worldbank", + "eia", + "treasury", + "sdmx", + "nasdaq", + "econcalendar", + "bea", + "tradingeconomics", + "cftc", + "edgar", + "hmrc", + "comext", + "uscensus", + "hktrade", + "defillama", + "gdelt", + "openmeteo", + "visualcrossing", + "tsa", + "netshort", + "wasde", + "warn", + "degreedays", + "fedtext", + "usaspending", + "signals" +]
- Changed
get_timeseries2 fields changed- changed
Input schema / properties / dataset / descriptionPrevious value: -"edgar: insider (default), financials, earnings, events, ftd, 13dg, 144, 13f, nport or npx. usaspending: monthly (default) or awards. uscensus: trade (default) or retail. gdelt: themes."New value: +"edgar: insider (default), financials, earnings, events, ftd, 13dg, 144, 13f, nport or npx. usaspending: monthly (default) or awards. signals: crypto_leverage (default), fed_tone, event_flags, insider_conviction, fund_flow_pressure, gov_contracts, layoffs or energy_ag. uscensus: trade (default) or retail. gdelt: themes." - changed
Input schema / properties / source / enumPrevious value: -[ - "binance", - "bybit", - "kraken", - "deribit", - "kucoin", - "dydx", - "hyperliquid", - "lyra", - "coinapi", - "coingecko", - "nemeton", - "yahoo", - "firstrate", - "oanda", - "alpaca", - "polygon", - "tradestation", - "cityindex", - "fred", - "finnhub", - "worldbank", - "eia", - "treasury", - "sdmx", - "nasdaq", - "econcalendar", - "bea", - "tradingeconomics", - "cftc", - "edgar", - "hmrc", - "comext", - "uscensus", - "hktrade", - "defillama", - "gdelt", - "openmeteo", - "visualcrossing", - "tsa", - "netshort", - "wasde", - "warn", - "degreedays", - "fedtext", - "usaspending" -]New value: +[ + "binance", + "bybit", + "kraken", + "deribit", + "kucoin", + "dydx", + "hyperliquid", + "lyra", + "coinapi", + "coingecko", + "nemeton", + "yahoo", + "firstrate", + "oanda", + "alpaca", + "polygon", + "tradestation", + "cityindex", + "fred", + "finnhub", + "worldbank", + "eia", + "treasury", + "sdmx", + "nasdaq", + "econcalendar", + "bea", + "tradingeconomics", + "cftc", + "edgar", + "hmrc", + "comext", + "uscensus", + "hktrade", + "defillama", + "gdelt", + "openmeteo", + "visualcrossing", + "tsa", + "netshort", + "wasde", + "warn", + "degreedays", + "fedtext", + "usaspending", + "signals" +]
2 tool updates
v0.1.6- Changed
get_latest1 field changed- changed
Input schema / properties / source / enumPrevious value: -[ - "binance", - "bybit", - "kraken", - "deribit", - "kucoin", - "dydx", - "hyperliquid", - "lyra", - "coinapi", - "coingecko", - "nemeton", - "yahoo", - "firstrate", - "oanda", - "alpaca", - "polygon", - "tradestation", - "cityindex", - "fred", - "finnhub", - "worldbank", - "eia", - "treasury", - "sdmx", - "nasdaq", - "econcalendar", - "bea", - "tradingeconomics", - "cftc", - "edgar", - "hmrc", - "comext", - "uscensus", - "hktrade", - "defillama", - "gdelt", - "openmeteo", - "visualcrossing", - "tsa" -]New value: +[ + "binance", + "bybit", + "kraken", + "deribit", + "kucoin", + "dydx", + "hyperliquid", + "lyra", + "coinapi", + "coingecko", + "nemeton", + "yahoo", + "firstrate", + "oanda", + "alpaca", + "polygon", + "tradestation", + "cityindex", + "fred", + "finnhub", + "worldbank", + "eia", + "treasury", + "sdmx", + "nasdaq", + "econcalendar", + "bea", + "tradingeconomics", + "cftc", + "edgar", + "hmrc", + "comext", + "uscensus", + "hktrade", + "defillama", + "gdelt", + "openmeteo", + "visualcrossing", + "tsa", + "netshort", + "wasde", + "warn", + "degreedays", + "fedtext", + "usaspending" +]
- Changed
get_timeseries12 fields changed- added
Input schema / properties / award_typeAdded value: +{ + "anyOf": [ + { + "enum": [ + "contracts", + "grants" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "usaspending only: contracts (default) or grants.", + "title": "Award Type" +} - added
Input schema / properties / countryAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "netshort only: FR, NL and/or ES (default all).", + "title": "Country" +} - changed
Input schema / properties / dataset / descriptionPrevious value: -"edgar: insider (default), financials, earnings, ftd, 13f or nport. uscensus: trade (default) or retail. gdelt: themes."New value: +"edgar: insider (default), financials, earnings, events, ftd, 13dg, 144, 13f, nport or npx. usaspending: monthly (default) or awards. uscensus: trade (default) or retail. gdelt: themes." - added
Input schema / properties / holderAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "netshort only: keep positions whose holder contains this text.", + "title": "Holder" +} - changed
Input schema / properties / indicator / descriptionPrevious value: -"fred: country shortcut cpi, gdp, 3mrate or 10yrate; tickers are then 2-letter country codes (UK, not GB). tradingeconomics (required): indicator name, e.g. 'gdp', 'inflation rate'."New value: +"tradingeconomics (required): indicator name, e.g. 'gdp', 'inflation rate'." - added
Input schema / properties / issuerAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "edgar npx only: company whose votes to return (CUSIP, ISIN or name).", + "title": "Issuer" +} - added
Input schema / properties / itemsAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "edgar events only: 8-K item numbers, e.g. ['5.02'].", + "title": "Items" +} - added
Input schema / properties / min_amountAdded value: +{ + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "usaspending awards only: minimum award size in US dollars.", + "title": "Min Amount" +} - changed
Input schema / properties / source / enumPrevious value: -[ - "binance", - "bybit", - "kraken", - "deribit", - "kucoin", - "dydx", - "hyperliquid", - "lyra", - "coinapi", - "coingecko", - "nemeton", - "yahoo", - "firstrate", - "oanda", - "alpaca", - "polygon", - "tradestation", - "cityindex", - "fred", - "finnhub", - "worldbank", - "eia", - "treasury", - "sdmx", - "nasdaq", - "econcalendar", - "bea", - "tradingeconomics", - "cftc", - "edgar", - "hmrc", - "comext", - "uscensus", - "hktrade", - "defillama", - "gdelt", - "openmeteo", - "visualcrossing", - "tsa" -]New value: +[ + "binance", + "bybit", + "kraken", + "deribit", + "kucoin", + "dydx", + "hyperliquid", + "lyra", + "coinapi", + "coingecko", + "nemeton", + "yahoo", + "firstrate", + "oanda", + "alpaca", + "polygon", + "tradestation", + "cityindex", + "fred", + "finnhub", + "worldbank", + "eia", + "treasury", + "sdmx", + "nasdaq", + "econcalendar", + "bea", + "tradingeconomics", + "cftc", + "edgar", + "hmrc", + "comext", + "uscensus", + "hktrade", + "defillama", + "gdelt", + "openmeteo", + "visualcrossing", + "tsa", + "netshort", + "wasde", + "warn", + "degreedays", + "fedtext", + "usaspending" +] - added
Input schema / properties / speakerAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "fedtext speeches only: speaker's last name, e.g. powell.", + "title": "Speaker" +} - added
Input schema / properties / stateAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "warn only: CA and/or NJ (default both).", + "title": "State" +} - added
Input schema / properties / weightsAdded value: +{ + "anyOf": [ + { + "enum": [ + "population", + "gas", + "electricity", + "fuel_oil" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "degreedays only: population (default); gas, electricity, fuel_oil for heating by division or US.", + "title": "Weights" +}
2 tool updates
v0.1.4- Changed
get_latest2 fields changed- changed
Input schema / properties / interval / enumPrevious value: -[ - "1s", - "5s", - "10s", - "15s", - "30s", - "1M", - "2M", - "3M", - "5M", - "10M", - "15M", - "30M", - "1h", - "2h", - "4h", - "6h", - "8h", - "12h", - "1d", - "3d", - "5d", - "1w", - "1m", - "1q", - "1y" -]New value: +[ + "1s", + "5s", + "10s", + "15s", + "30s", + "1M", + "2M", + "3M", + "4M", + "5M", + "10M", + "15M", + "30M", + "60M", + "90M", + "1h", + "2h", + "3h", + "4h", + "6h", + "8h", + "12h", + "1d", + "3d", + "5d", + "1w", + "1m", + "3m", + "1q", + "1y" +] - changed
Input schema / properties / source / enumPrevious value: -[ - "binance", - "bybit", - "kraken", - "yahoo", - "firstrate", - "oanda", - "alpaca", - "polygon", - "fred", - "finnhub", - "worldbank", - "eia", - "treasury", - "cftc", - "finra", - "edgar", - "hmrc", - "comext", - "uscensus", - "hktrade", - "defillama", - "gdelt" -]New value: +[ + "binance", + "bybit", + "kraken", + "deribit", + "kucoin", + "dydx", + "hyperliquid", + "lyra", + "coinapi", + "coingecko", + "nemeton", + "yahoo", + "firstrate", + "oanda", + "alpaca", + "polygon", + "tradestation", + "cityindex", + "fred", + "finnhub", + "worldbank", + "eia", + "treasury", + "sdmx", + "nasdaq", + "econcalendar", + "bea", + "tradingeconomics", + "cftc", + "edgar", + "hmrc", + "comext", + "uscensus", + "hktrade", + "defillama", + "gdelt", + "openmeteo", + "visualcrossing", + "tsa" +]
- Changed
get_timeseries34 fields changed- added
Input schema / properties / adjustedAdded value: +{ + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "description": "uscensus retail only: seasonally adjusted (default true).", + "title": "Adjusted" +} - added
Input schema / properties / adjustmentAdded value: +{ + "anyOf": [ + { + "enum": [ + "raw", + "split", + "dividend", + "all" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "alpaca stock bars only: raw (default), split, dividend or all.", + "title": "Adjustment" +} - changed
Input schema / properties / as_of / anyOfPrevious value: -[ - { - "enum": [ - "release", - "report" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "release", + "report", + "realtime_start", + "date" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Input schema / properties / as_of / descriptionPrevious value: -"cftc only: stamp at Friday publication (release, default, no look-ahead) or Tuesday position date (report)."New value: +"cftc: release (default, stamped at Friday publication, no look-ahead) or report (Tuesday position date). fred: realtime_start (default, stamped at publication) or date (period described)." - added
Input schema / properties / assetcolAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "nasdaq only: one series per value of this column, e.g. contract_code.", + "title": "Assetcol" +} - added
Input schema / properties / bartypeAdded value: +{ + "anyOf": [ + { + "enum": [ + "bar", + "tick" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "cityindex only: bar (default) or tick.", + "title": "Bartype" +} - added
Input schema / properties / closed_onlyAdded value: +{ + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "description": "tradestation only: leave out the bar still forming (default true).", + "title": "Closed Only" +} - added
Input schema / properties / continuous_contractsAdded value: +{ + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "description": "firstrate futures only: true (default) for continuous series, false for one series per contract.", + "title": "Continuous Contracts" +} - changed
Input schema / properties / dataset / descriptionPrevious value: -"finra: short_interest (default) or short_volume. edgar: insider (default) or financials. gdelt: themes."New value: +"edgar: insider (default), financials, earnings, ftd, 13f or nport. uscensus: trade (default) or retail. gdelt: themes." - added
Input schema / properties / dbAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "sdmx (required): provider ID, e.g. BIS, ECB, ESTAT, IMF, OECD.", + "title": "Db" +} - changed
Input schema / properties / dtype / descriptionPrevious value: -"'bars' everywhere; binance also 'funding'/'orderbook'; oanda also 'orderbook'; alpaca also 'trades'/'quotes'; yahoo also 'earnings'."New value: +"'bars' everywhere; binance also 'funding' (futures); oanda also 'orderbook'/'positionbook'; alpaca also 'trades'/'quotes'; yahoo also 'earnings'." - changed
Input schema / properties / dtype / enumPrevious value: -[ - "bars", - "funding", - "orderbook", - "earnings", - "trades", - "quotes" -]New value: +[ + "bars", + "funding", + "earnings", + "orderbook", + "positionbook", + "trades", + "quotes" +] - changed
Input schema / properties / feed / descriptionPrevious value: -"alpaca only: iex (default) or sip (needs a paid Alpaca plan)."New value: +"alpaca stocks only: iex (default) or sip (consolidated tape)." - added
Input schema / properties / filtersAdded value: +{ + "anyOf": [ + { + "additionalProperties": { + "additionalProperties": true, + "type": "object" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "nasdaq only: column filters per table, e.g. {\"QDL/FON\": {\"contract_code\": \"967654\"}}.", + "title": "Filters" +} - changed
Input schema / properties / frequency / anyOfPrevious value: -[ - { - "enum": [ - "quarterly", - "annual" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "M", + "Q", + "A" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Input schema / properties / frequency / descriptionPrevious value: -"fred and finnhub only: quarterly (default) or annual."New value: +"bea only: M, Q or A (default: the series' own)." - added
Input schema / properties / indexAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "nasdaq only: date column used as the index (default date).", + "title": "Index" +} - added
Input schema / properties / indicatorAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "fred: country shortcut cpi, gdp, 3mrate or 10yrate; tickers are then 2-letter country codes (UK, not GB). tradingeconomics (required): indicator name, e.g. 'gdp', 'inflation rate'.", + "title": "Indicator" +} - changed
Input schema / properties / instrument / anyOfPrevious value: -[ - { - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "spot", + "futures", + "stock", + "etf", + "fx", + "index", + "crypto", + "options", + "option", + "perp" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Input schema / properties / instrument / descriptionPrevious value: -"binance: spot (default) or perpetual (needed for dtype funding). kraken: futures (default) or spot."New value: +"binance: spot (default) or futures (USD-M perpetuals). kraken: futures (default) or spot. firstrate: stock (default), etf, futures, fx, index, crypto or options. lyra: option (default) or perp." - changed
Input schema / properties / interval / enumPrevious value: -[ - "1s", - "5s", - "10s", - "15s", - "30s", - "1M", - "2M", - "3M", - "5M", - "10M", - "15M", - "30M", - "1h", - "2h", - "4h", - "6h", - "8h", - "12h", - "1d", - "3d", - "5d", - "1w", - "1m", - "1q", - "1y" -]New value: +[ + "1s", + "5s", + "10s", + "15s", + "30s", + "1M", + "2M", + "3M", + "4M", + "5M", + "10M", + "15M", + "30M", + "60M", + "90M", + "1h", + "2h", + "3h", + "4h", + "6h", + "8h", + "12h", + "1d", + "3d", + "5d", + "1w", + "1m", + "3m", + "1q", + "1y" +] - added
Input schema / properties / levelAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "nemeton only: order book depth the metric is computed over (default 1000).", + "title": "Level" +} - added
Input schema / properties / metricAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "nemeton (required): signal name, e.g. cumulative-depth, orderbook-pressure, spread (list_sources has all).", + "title": "Metric" +} - changed
Input schema / properties / price_type / anyOfPrevious value: -[ - { - "enum": [ - "M", - "A", - "B" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "M", + "A", + "B", + "MID", + "BID", + "ASK" + ], + "type": "string" + }, + { + "type": "null" + } +] - changed
Input schema / properties / price_type / descriptionPrevious value: -"oanda only: A ask (default), B bid, M mid."New value: +"oanda: M mid (default), A ask, B bid. cityindex: MID (default), BID or ASK." - added
Input schema / properties / sessiontemplateAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "tradestation only: trading session, e.g. Default or USEQPreAndPost.", + "title": "Sessiontemplate" +} - changed
Input schema / properties / source / enumPrevious value: -[ - "binance", - "bybit", - "kraken", - "yahoo", - "firstrate", - "oanda", - "alpaca", - "polygon", - "fred", - "finnhub", - "worldbank", - "eia", - "treasury", - "cftc", - "finra", - "edgar", - "hmrc", - "comext", - "uscensus", - "hktrade", - "defillama", - "gdelt" -]New value: +[ + "binance", + "bybit", + "kraken", + "deribit", + "kucoin", + "dydx", + "hyperliquid", + "lyra", + "coinapi", + "coingecko", + "nemeton", + "yahoo", + "firstrate", + "oanda", + "alpaca", + "polygon", + "tradestation", + "cityindex", + "fred", + "finnhub", + "worldbank", + "eia", + "treasury", + "sdmx", + "nasdaq", + "econcalendar", + "bea", + "tradingeconomics", + "cftc", + "edgar", + "hmrc", + "comext", + "uscensus", + "hktrade", + "defillama", + "gdelt", + "openmeteo", + "visualcrossing", + "tsa" +] - changed
Input schema / properties / tickers / descriptionPrevious value: -"Tickers in the source's own format, e.g. ['BTCUSDT'] for binance, ['EUR_USD'] for oanda, ['SPY'] for yahoo, ['GC'] for cftc, ['gold:CH'] for hmrc. Batch several tickers in one call."New value: +"Tickers in the source's own format, e.g. ['BTCUSDT'] for binance, ['EUR_USD'] for oanda, ['SPY'] for yahoo, ['GC'] for cftc, ['gold:CH'] for hmrc; weather sources take 'latitude,longitude', e.g. ['48.85,2.35']. Batch several tickers in one call." - added
Input schema / properties / ticktypeAdded value: +{ + "anyOf": [ + { + "enum": [ + "trade", + "mark", + "spot" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "kraken futures only: trade (default), mark or spot (index) price.", + "title": "Ticktype" +} - added
Input schema / properties / timezoneAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "openmeteo only: IANA time zone, e.g. Europe/Paris (default GMT).", + "title": "Timezone" +} - added
Input schema / properties / topAdded value: +{ + "anyOf": [ + { + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "edgar nport only: keep the largest N positions of each filing.", + "title": "Top" +} - added
Input schema / properties / unit_groupAdded value: +{ + "anyOf": [ + { + "enum": [ + "us", + "metric", + "uk", + "base" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "visualcrossing only: units (default us).", + "title": "Unit Group" +} - added
Input schema / properties / variablesAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "openmeteo (required): weather variables, e.g. ['temperature_2m'] with 1h, ['temperature_2m_max'] with 1d. visualcrossing: only these fields.", + "title": "Variables" +} - added
Input schema / properties / vs_currencyAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "coingecko only: quote currency (default USD).", + "title": "Vs Currency" +}
3 tool updates
v0.1.0- First observed
get_latest - First observed
get_timeseries - First observed
list_sources
TDQS
Scored across 3 tools
get_timeseries and get_latest both fetch bar data, but the descriptions clearly separate them (explicit date ranges vs. most-recent N bars), and list_sources is a distinct discovery tool. An agent could occasionally pick the wrong fetch tool, but the split is well-explained. Naming edges toward the same verb, which slightly increases the chance of misselection between the two read tools.
All three tools follow a consistent snake_case verb_noun pattern: get_timeseries, get_latest, list_sources. The pattern is predictable and readable, and no conventions are mixed.
Three tools is slightly thin, but the server's purpose is narrow read-only market/source data, and each tool earns its place. A small surface is appropriate here rather than over-scoped.
The core workflow (discover sources, fetch historical ranges, fetch latest bars) is fully covered with sensible allowance and truncation behavior. Minor gap: no ticker search/metadata lookup to resolve valid symbols before fetching, which an agent must work around via list_sources.
Maintenance
Related MCP Connectors
Aligned market data for AI agents: crypto, stocks, FX and macro on one clock. Local or hosted.
Live crypto + IDX stock market intelligence for AI agents — 19 tools, no API key.
> TradingMCP puts a market analyst inside your AI assistant. Paste one URL into Claude, ChatGPT, Cursor, VS Code or any MCP client and ask in plain language: screen for breakouts, run a multi-timeframe analysis, backtest a strategy with walk-forward validation, scan for smart-money and volume signals, or get a one-prompt morning market brief. In clients that support MCP Apps, price charts and the Markets panel are drawn right in the chat. > 40+ tools covering crypto (real-time), stocks, ETFs, FX, futures and commodities across major global exchanges. > Hosted, nothing to install: Pro $9/month (2,500 tool calls) or Pro+ $29/month (10,000). Paid upfront with a 14-day money-back guarantee; your API key arrives right after checkout. > Built on the open-source tradingview-mcp core (MIT, ~5k GitHub stars): self-host it free, or use the hosted version with zero ops. > For research and education, not financial advice. Not affiliated with TradingView
Query cryptocurrency on-chain data, OHLCV prices, market data, and Research & QuickTake insights.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables MCP-compatible AI clients to access live crypto market data and AI-driven quantitative analysis, with structured outputs and full observability.-
- FlicenseNot gradedqualityDmaintenanceEnables fetching live crypto market data from Binance, Bybit, and Hyperliquid via MCP tools, including klines, orderbook, funding rates, technical indicators, and market breadth for real-time analysis by LLMs.-

Iturri MCP serverofficial
AlicenseNot gradedqualityFmaintenanceEnables AI agents to discover, validate, and fetch verified crypto and US-equity market data, including quality-flagged OHLCV bars, leakage-safe features, funding, open interest, order flow, context, events, and regime labels. It supports free catalog discovery and x402 USDC payments per call.MIT- AlicenseBqualityBmaintenanceEnables agents to pull crypto discovery, rankings, and market-cap data from CoinMarketCap, Fed macro and liquidity series with point-in-time vintages via FRED/ALFRED, and a curated, sourced FOMC hike/cut/hold decision calendar. It exposes eight MCP tools whose API credentials are resolved server-side, and also feeds bounded, checkpointed ingestion streams through the agent-connector-sdk source adapter.9MIT