# CoinAPI MCP connector

The CoinAPI connector brings live and historical crypto market data, including exchange rates, quotes, trades, order books and candles across exchanges, into Claude, ChatGPT, Cursor and any MCP client through one governed endpoint.

Source: https://elaichi.ai/connectors/coinapi/

## Facts

| | |
| --- | --- |
| Application | CoinAPI |
| Category | Trading |
| AI tools | 50 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 50 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once CoinAPI is connected

- Show me today's BTC/USD exchange rate movement.
- Summarize order book depth for the top exchanges.
- List OHLCV trends for ETH over the last week.

## Connect CoinAPI in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick CoinAPI.
2. Optionally set Share with, then press Connect.
3. Paste a CoinAPI API key. One person generates a token in CoinAPI and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which CoinAPI tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect CoinAPI to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect CoinAPI to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect CoinAPI to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect CoinAPI to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a CoinAPI tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with CoinAPI through Elaichi

### Check a price before placing an order

Trading. Ask for the current quote, recent trades and order book depth for a symbol on a specific exchange, then compare it with the same pair elsewhere before you act.

### Pull candles for a backtest

Research. Fetch daily or hourly open, high, low, close and volume history for a symbol over any date range, and have the agent summarize the trend or export the series for your model.

### Value crypto holdings at a set date

Finance. Look up the historical exchange rate for each asset on the reporting date and produce a valuation table in your reporting currency without opening a spreadsheet of CSV downloads.

### Compare rates across exchanges

Treasury. Get the exchange rate for a pair across every venue CoinAPI covers and spot where the spread is wide enough to matter before moving funds.

### Keep asset and chain lists current

Product. List the assets, chains, symbols and exchanges CoinAPI tracks, along with their icons, so a listing page or picker stays in step with what is actually traded.

### Monitor market metrics on a venue

Risk. Pull volume, open interest and other exchange metrics for the venues you rely on and get a plain language read on anything that has changed since last week.

## Frequently asked questions

### How do I connect CoinAPI to Claude?

Two steps. In Elaichi, add the CoinAPI connector and paste in the API key from your CoinAPI account, which is the only sign-in CoinAPI needs, with no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in with your Elaichi account and CoinAPI market data is available in the conversation.

### Does CoinAPI work with ChatGPT and Cursor as well as Claude?

Yes. Once CoinAPI is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect CoinAPI once and every client your team uses picks it up.

### What can an AI agent actually do with my CoinAPI data?

With CoinAPI connected, an agent can look up current and historical exchange rates, quotes, trades and order books for any symbol on any covered exchange, pull candle history for a date range, and list the assets, chains, symbols and exchanges CoinAPI tracks along with exchange metrics. It is a read connector, so the agent answers questions and builds tables from market data rather than placing trades. Because CoinAPI covers a lot of ground, short concrete asks such as "hourly candles for BTC on Coinbase last week" get better results than long sentences.

### Does connecting CoinAPI give the AI everything in my CoinAPI plan?

An agent working through CoinAPI in Elaichi sees exactly what the API key you connected is entitled to, no more. If your CoinAPI plan limits certain exchanges, history depth or request volume, those limits apply to every call the agent makes. Elaichi can narrow that access further, for example to exchange rates only, but it can never widen what your CoinAPI key allows.

### Can my team share one CoinAPI connection?

Yes. One person connects CoinAPI in Elaichi with the API key, then shares the connection with a team, and nobody else on the team ever handles or sees that key. Each teammate still signs in to the endpoint as themselves, so every CoinAPI request in the audit log names the person who made it, not the person who connected it.

### Can I stop an agent from deleting or changing things in CoinAPI?

The CoinAPI connector is read only, so an agent can look up rates, trades, order books and history but cannot place orders or change anything in your CoinAPI account. You can still restrict individual actions in Elaichi, for example hiding order book or historical data from a team that only needs exchange rates. A blocked action is never advertised to Claude, ChatGPT, Cursor or any other client, so no prompt can reach it.

### What happens to a CoinAPI connection when someone leaves?

When you offboard someone in Elaichi, their access to CoinAPI through the endpoint ends at once, in every client they had set up. If they were using a shared CoinAPI connection, it keeps working for everyone else on the team. If the connection was theirs alone, disconnecting it once in Elaichi removes CoinAPI from Claude, ChatGPT, Cursor and every other client at the same time.

## All 50 CoinAPI tools

Every tool below is callable through https://api.elaichi.ai/mcp once CoinAPI is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all CoinAPI exchange rates** (List). Get all current exchange rates between a requested base asset and all other assets in CoinAPI. Returns: asset_id_base, rates. Optional filters: filter_asset_id, invert, time. Required: asset_id_base.
- **Get single CoinAPI exchange rate by ID** (Get). Get a specific exchange rate between a base asset and a quote asset in CoinAPI, optionally at a historical time. Returns: time, asset_id_base, asset_id_quote, rate. Required: asset_id_base, id.
- **List all CoinAPI ohlcv** (List). List historical OHLCV timeseries for a CoinAPI symbol in time ascending order. Returns: time_period_start, time_period_end, time_open, time_close, price_open, price_high, price_low, price_close, volume_traded, trades_count. Required: symbol_id, period_id.
- **List all CoinAPI options** (List). List current CoinAPI options data for a specific exchange, grouped by underlying asset, quote currency, and expiration time with call and put quotes at each strike price. Returns: asset_id_base, asset_id_quote, underlying_price, time_expiration, strikes. Required: exchange_id.
- **List all CoinAPI order book** (List). Get the current order book for a specified symbol in CoinAPI. Returns the order book snapshot including symbol_id, time_exchange, time_coinapi, asks (each with id, price, size), and bids (each with id, price, size). Required: symbol_id.
- **List all CoinAPI order book l 3** (List). List current L3 order books from CoinAPI across all symbols. Returns: symbol_id, time_exchange, time_coinapi, asks, bids, ask_levels, bid_levels, ask_depth, bid_depth.
- **Get single CoinAPI order book l 3 by ID** (Get). Get the current L3 order book for a specific symbol from CoinAPI. L3 order books include individual order IDs for each price level. Returns: symbol_id, time_exchange, time_coinapi, asks, bids, ask_levels, bid_levels, ask_depth, bid_depth. Required: symbol_id.
- **List all CoinAPI quotes** (List). List current CoinAPI quotes for all symbols, optionally filtered by symbol identifier or exchange. Returns: symbol_id, time_exchange, time_coinapi, ask_price, ask_size, bid_price, bid_size, last_trade.
- **Get single CoinAPI quote by ID** (Get). Get current CoinAPI quotes for a specific symbol by symbol_id. When requesting a specific symbol the output is returned as a single object rather than an array. Returns: symbol_id, time_exchange, time_coinapi, ask_price, ask_size, bid_price, bid_size, last_trade. Required: symbol_id.
- **List all CoinAPI trades** (List). List the latest CoinAPI trades executed up to 1 minute ago, returned in time descending order. Returns: symbol_id, time_exchange, time_coinapi, uuid, price, size, taker_side, id_trade. Optional: filter_symbol_id to narrow results by symbol identifier.
- **List all CoinAPI metrics v 1** (List). List all data metrics supported by CoinAPI. Returns: metric_id, description. No required parameters.
- **List all CoinAPI metrics v 2** (List). List all metrics available in the CoinAPI system. Returns: metric_id, description.
- **List all CoinAPI exchanges** (List). List all exchanges in CoinAPI with aggregated metadata across all symbols. Returns: exchange_id, website, name, data_quote_start, data_quote_end, data_orderbook_start, data_orderbook_end, data_trade_start, data_trade_end, data_symbols_count, volume_1hrs_usd, volume_1day_usd, volume_1mth_usd, rank. Optional: filter_exchange_id.
- **Get single CoinAPI exchange by ID** (Get). Get a single CoinAPI exchange by id. Returns: exchange_id, website, name, data_quote_start, data_quote_end, data_orderbook_start, data_orderbook_end, data_trade_start, data_trade_end, data_symbols_count, volume_1hrs_usd, volume_1day_usd, volume_1mth_usd, rank. Required: id.
- **List all CoinAPI assets** (List). List all CoinAPI assets with aggregated market information across all related symbols. Returns: asset_id, name, type_is_crypto, data_quote_start, data_quote_end, data_orderbook_start, data_orderbook_end, data_trade_start, data_trade_end, data_symbols_count, volume_1hrs_usd, volume_1day_usd, volume_1mth_usd, price_usd, chain_addresses, data_start, data_end.
- **Get single CoinAPI asset by ID** (Get). Get a single CoinAPI asset by its asset ID. Returns: time, asset_id_base, asset_id_quote, rate. Required: id.
- **List all CoinAPI chains** (List). List all blockchain chains supported by CoinAPI. Output properties provide aggregated information from across all symbols related to each chain. Returns: chain_id, name. Optional: filter_chain_id to narrow results.
- **Get single CoinAPI chain by ID** (Get). Get a specific blockchain chain by its chain ID in CoinAPI. Returns: chain_id, name. Required: id.
- **List all CoinAPI symbols** (List). List all currently active (listed) symbols for a specific exchange in CoinAPI, with optional filtering by symbol ID or asset ID. Returns: symbol_id, exchange_id, symbol_type, asset_id_base, asset_id_quote, asset_id_unit, future_contract_unit, future_contract_unit_asset, future_delivery_time, option_type_is_call, option_strike_price, option_contract_unit, option_exercise_style,…
- **List all CoinAPI exchange rate history** (List). Get historical exchange rate timeseries between two assets in CoinAPI. Returns: time_period_start, time_period_end, time_open, time_close, rate_open, rate_high, rate_low, rate_close. Required: asset_id_base, asset_id_quote, period_id, time_start, time_end. Maximum 100000 items per request.
- **List all CoinAPI exchange rate periods** (List). List all supported time periods available for requesting CoinAPI exchange rate historical timeseries data. Returns: period_id, length_seconds, length_months, unit_count, unit_name, display_name.
- **List all CoinAPI exchange icons** (List). List icon image URLs for all exchanges in CoinAPI at a given pixel size. Each record in the returned array contains the exchange identifier and a direct URL to its PNG icon hosted on CoinAPI's CDN. Returns: exchange_id, url. Required: size.
- **List all CoinAPI asset icons** (List). List all asset icons of a given size in CoinAPI. Returns: asset_id, url. Required: size.
- **List all CoinAPI historical symbols** (List). List all historical (no longer actively traded) symbols for a given exchange in CoinAPI. Returns: symbol_id, exchange_id, symbol_type, asset_id_base, asset_id_quote, asset_id_unit, future_contract_unit, future_contract_unit_asset, data_start, data_end, data_quote_start, data_quote_end, data_orderbook_start, data_orderbook_end, data_trade_start, data_trade_end, volume_1hrs, volume_1hrs_usd,…
- **Get single CoinAPI symbol map by ID** (Get). Get active symbol mappings for a specific exchange in CoinAPI. Returns an array of mapping records including symbol_id, symbol_id_exchange, coinapi_datainfo_id, asset_id_base_exchange, asset_id_quote_exchange, asset_id_base, asset_id_quote, price_precision, and size_precision. Required: id (the exchange ID).
- **List all CoinAPI ohlcv latest** (List). Get OHLCV latest timeseries data from CoinAPI in time descending order. Returns: time_period_start, time_period_end, time_open, time_close, price_open, price_high, price_low, price_close, volume_traded, trades_count. Required: symbol_id, period_id. Data may be delayed a few seconds.
- **List all CoinAPI ohlcv periods** (List). List all supported time periods available for requesting OHLCV timeseries data from CoinAPI. Returns: period_id, length_seconds, length_months, unit_count, unit_name, display_name. Additional periods may be added over time but existing ones will not be removed.
- **List all CoinAPI ohlcv exchange history** (List). List OHLCV historical timeseries data for a specific exchange in CoinAPI, returned in time ascending order. Returns: time_period_start, time_period_end, time_open, time_close, price_open, price_high, price_low, price_close, volume_traded, trades_count, symbol_id_exchange, symbol_id_coinapi. Required: exchange_id, period_id, time_start, time_end. The time_end–time_start span cannot exceed 1 day…
- **List all CoinAPI order book depth** (List). Get the current depth of the CoinAPI order book for a specified symbol. Returns: symbol_id, time_exchange, time_coinapi, ask_levels, bid_levels, ask_depth, bid_depth. Required: symbol_id.
- **List all CoinAPI order book history** (List). List historical CoinAPI order book snapshots for a symbol within a time range, returned in time ascending order. Returns: symbol_id, time_exchange, time_coinapi, asks, bids, ask_levels, bid_levels, ask_depth, bid_depth. Required: symbol_id. Use 'date' for full-day queries or 'time_start' and 'time_end' for specific ranges; maximum 50 levels per side of the book.
- **List all CoinAPI quote latest** (List). Get the latest quote updates from CoinAPI, up to 1 minute ago, returned in time descending order. Returns: symbol_id, time_exchange, time_coinapi, ask_price, ask_size, bid_price, bid_size, last_trade.
- **List all CoinAPI quote latest by symbol** (List). List the latest quote updates for a specific symbol in CoinAPI. Returns: symbol_id, time_exchange, time_coinapi, ask_price, ask_size, bid_price, bid_size. Required: symbol_id.
- **List all CoinAPI quote history** (List). Get historical quote updates for a CoinAPI symbol within a requested time range, returned in time ascending order. Returns: symbol_id, time_exchange, time_coinapi, ask_price, ask_size, bid_price, bid_size. Required: symbol_id. The date parameter is required if time_start is not provided.
- **List all CoinAPI trade latest by symbol** (List). List latest CoinAPI trades for a specific symbol, executed up to 1 minute ago and returned in time descending order. Returns: symbol_id, time_exchange, time_coinapi, uuid, price, size, taker_side, id_trade. Required: symbol_id.
- **List all CoinAPI trade history** (List). List historical trades for a specific CoinAPI symbol, returned in time ascending order. Returns: symbol_id, time_exchange, time_coinapi, uuid, price, size, taker_side, id_trade. Required: symbol_id. Either date or time_start must be provided to define the time range.
- **List all CoinAPI metrics v 1 exchange** (List). List all supported exchange metrics in CoinAPI. Returns both exchange-level and symbol-level metrics; for exchange-level metrics symbol_id is null, while for symbol-level metrics it contains the CoinAPI symbol identifier. Returns: metric_id, exchange_id, symbol_id. Required: exchange_id.
- **Get single CoinAPI metrics v 1 exchange by ID** (Get). Get current exchange metric values from CoinAPI. Returns the latest values for each metric on the specified exchange. Returns: entry_time, recv_time, exchange_id, metric_id, value_decimal. Required: exchange_id.
- **List all CoinAPI metrics v 1 exchange history** (List). List historical exchange metrics from CoinAPI. Returns: time_period_start, time_period_end, time_open, time_close, first, last, min, max, count, sum. Required: metric_id, exchange_id. The period_id parameter defaults to 1SEC and time_format can convert returned timestamps to unix format.
- **List all CoinAPI metrics v 1 symbol** (List). List all supported symbol-level metrics in CoinAPI. Returns only symbol-level metrics where a symbol is associated, with symbol_id always populated using the CoinAPI symbol identifier. Returns: metric_id, symbol_id, exchange_id.
- **Get single CoinAPI metrics v 1 symbol by ID** (Get). Get current symbol metrics from CoinAPI. Returns the latest metric values for a given symbol with timestamps and decimal values. Returns: entry_time, recv_time, exchange_id, symbol_id, metric_id, value_decimal.
- **List all CoinAPI metrics v 1 symbol history** (List). List historical metrics for a symbol in CoinAPI. Returns: time_period_start, time_period_end, time_open, time_close, first, last, min, max, count, sum. Required: metric_id, symbol_id.
- **List all CoinAPI metrics v 1 asset** (List). List all supported asset metrics in CoinAPI, optionally filtered by metric, exchange, chain, network, or asset. Returns: metric_id, symbol_id, exchange_id.
- **Get single CoinAPI metrics v 1 asset by ID** (Get). Get current asset metrics from CoinAPI, optionally filtered by metric, asset, or exchange. Returns: entry_time, recv_time, exchange_id, metric_id, value_decimal.
- **List all CoinAPI metrics v 1 asset history** (List). List historical metrics for an asset on CoinAPI. Returns: symbol_id, time, value. Required: metric_id, exchange_id. period_id defaults to 1SEC; time_format can convert returned time values to unix timestamps.
- **List all CoinAPI metrics v 2 exchange** (List). List all metrics available for a specific exchange in CoinAPI. Returns: metric_id, description. Required: exchange_id.
- **List all CoinAPI metrics v 2 exchange history** (List). List historical exchange metrics from CoinAPI by metric and exchange. Returns time series entries with time_period_start, time_period_end, time_open, time_close, first_value, last_value, min_value, max_value, count_values, and sum_values. Required: metric_id, exchange_id. Maximum 100000 items per request; period_id defaults to 1MIN.
- **List all CoinAPI metrics v 2 asset** (List). List all metrics available for a specific asset in CoinAPI, returning each metric's identifier and human-readable description. Returns: metric_id, description. Required: asset_id.
- **List all CoinAPI metrics v 2 asset history** (List). List historical asset metrics in CoinAPI by metric and asset. Returns: time_period_start, time_period_end, time_open, time_close, first_value, last_value, min_value, max_value, count_values, sum_values. Required: metric_id, asset_id. Max 100000 items per request.
- **List all CoinAPI metrics v 2 chain** (List). List all metrics available for a specified blockchain chain in CoinAPI. Returns: metric_id, description. Required: chain_id.
- **List all CoinAPI metrics v 2 chain history** (List). List historical chain metrics timeseries from CoinAPI. Returns: time_period_start, time_period_end, time_open, time_close, first_value, last_value, min_value, max_value, count_values, sum_values. Required: metric_id, chain_id. Period defaults to 1MIN.
