Skip to main content
Glama

FinBridge

Get Crypto OHLCV Candles

get_crypto_ohlcv
Read-only

Fetch OHLCV candlestick data (open/high/low/close/volume) for a crypto pair. No API key needed.

Args:

  • symbol: 'BASE/QUOTE' pair (default BTC/USDT)

  • exchange: binance | upbit | bithumb | coinbase | kraken | okx | bybit | gateio (default binance)

  • timeframe: 1m | 5m | 15m | 1h | 4h | 1d | 1w (default 1d)

  • since: YYYY-MM-DD start date (optional; exchange returns candles from this date forward)

  • limit: 1-500 candles (default 100)

  • response_format: 'markdown' (default) or 'json'

Returns: {exchange, symbol, timeframe, columns:["ts_iso","open","high","low","close","volume"], rows:[[...], ...]}. Rows ascend by time; prices in QUOTE currency. Cached ~5min.

Examples:

  • "BTC daily candles for the last 30 days" -> {symbol:'BTC/USDT', timeframe:'1d', limit:30}

  • "ETH/KRW hourly since July 1" -> {symbol:'ETH/KRW', exchange:'upbit', timeframe:'1h', since:'2026-07-01'}

  • Don't use for a single current price — use get_crypto_ticker.

Errors: unknown symbol -> check BASE/QUOTE and the exchange's markets; unsupported timeframe on an exchange returns the exchange's error.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of candles, 1-500 (default 100)
sinceNoStart date YYYY-MM-DD (optional)
symbolNoTrading pair as BASE/QUOTE, e.g. 'BTC/USDT'BTC/USDT
exchangeNoExchange: binance | upbit | bithumb | coinbase | kraken | okx | bybit | gateio (default binance). Note: binance may be geo-blocked in some regions.binance
timeframeNoCandle interval (default 1d)1d
response_formatNo'markdown' for a table, 'json' for compact machine-readable outputmarkdown

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
rowsYes
symbolYes
columnsNo
exchangeYes
timeframeNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and openWorldHint, and the description adds meaningful behavioral detail: no API key needed, ~5min caching, ascending time order, prices in QUOTE currency, and a described error path for unknown symbols. These go well beyond the annotation hints and make the tool's behavior predictable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than the bare minimum but well-structured with Args, Returns, Examples, and Errors sections, and every section adds practical value. Some repetition of defaults from the schema exists, but the examples and error guidance justify the length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for a read-only data-fetching tool: it documents all six parameters, output shape, ordering, currency, caching, and error handling. Even with an output schema present, the explicit return structure and natural-language examples leave little room for an agent to misinvoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds extra value through natural-language examples that map user intents to parameter values, explains the 'since' semantics as 'exchange returns candles from this date forward,' and clarifies response_format behavior. This is above baseline but the schema already documents most parameter meanings.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Fetch OHLCV candlestick data (open/high/low/close/volume) for a crypto pair.' It clearly distinguishes itself from the sibling get_crypto_ticker by explicitly saying it should not be used for a single current price. This makes the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage context through concrete natural-language-to-parameter examples and an explicit exclusion: 'Don't use for a single current price — use get_crypto_ticker.' It also notes exchange-specific behavior and common error cases, so an agent knows when and how to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation4/5

Most tools have clearly distinct resource+action targets, and the overlapping screen_* tools are thoroughly cross-referenced with 'use screen_X instead' guidance. Minor ambiguity exists between get_disclosure_feed, get_dart_filings, and get_dart_major_events, which all surface KR filings from different angles but remain distinguishable.

Naming Consistency5/5

Every tool follows a consistent verb_noun snake_case pattern: get_* for retrievers, screen_* for screeners, search_* for lookups, plus action verbs like analyze_, backtest_, compare_, import_, and query_. Subfamilies (dart_*, edgar_*, fred_*, crypto_*) are consistently prefixed, making tool selection predictable.

Tool Count3/5

37 tools is heavy, and the four momentum screeners (canslim/kell/minervini/schwartz) plus three KR disclosure tools could arguably be collapsed into parameterized variants. However, the server's unusually broad scope—KR/US/TW/JP/EU equities, crypto, macro, portfolio, backtesting—means most tools earn their place, so the count is high but not chaotic.

Completeness4/5

The surface covers the core workflow well: search, prices, fundamentals, filings, insider trades, valuation, screeners, backtesting, and portfolio tracking for KR/US, plus crypto and macro. Notable gaps are the lack of single-company financial-statement tools for TW/JP/EU (only available through screen_companies) and no real-time stock quotes, but these are workable for the stated local-database research purpose.

Resources