Tool Reference
Complete reference for the tools exposed by the CoinAPI Indexes MCP server.
Indexes MCP Tool Reference
The Indexes MCP server currently exposes 12 tools.
Discovery tools
indexes_list
Get a list of all available index identifiers in the system.
Arguments
This tool does not require any arguments.
Returns
A flat array of objects containing:
id
Use when
- You need to discover valid
index_idvalues before running point queries. - You want to inspect the available index families exposed by the server.
periods_list
Get the full list of supported time periods for timeseries data.
Arguments
This tool does not require any arguments.
Typical periods
1SEC1MIN1HRS1DAY1MTH1YRS
Each row also includes metadata such as length_seconds, length_months, unit_count, unit_name, and display_name.
Use when
- You need valid
period_idvalues forindexes_get_timeseries. - You want to build interval selectors in a UI or agent workflow.
exchanges_list
Get exchange metadata. You can optionally filter by exchange IDs.
Optional arguments
| Argument | Type | Description |
|---|---|---|
filter_exchange_id | string | Optional comma- or semicolon-delimited exchange list such as BITSTAMP;GEMINI. |
Returns
Rows include fields such as:
exchange_idwebsitename
Use when
- You need exchange metadata alongside index research or reporting.
- You want to validate exchange identifiers in workflows that cross-link indexes with venue data.
Current value tools
indexes_get_current
Get the current value of a specific index without composition data.
Required arguments
| Argument | Type | Description |
|---|---|---|
index_id | string | Index identifier such as IDX_REFRATE_FX_USD. |
Returns
A single object with:
timestampvalue
Use when
- You need the latest value for one specific index.
- You want a compact response without snapshot fan-out or composition details.
indexes_get_current_snapshot
Get current values for all indexes belonging to a specific index definition.
Required arguments
| Argument | Type | Description |
|---|---|---|
index_definition_id | string | Index definition identifier such as IDX_REFRATE_FX. |
Returns
An array of rows with:
index_idtimestampvalue
Use when
- You want the current values of all members in one index family.
- You want to discover which members currently return data before calling
indexes_get_current.
Historical tools
indexes_get_history
Get historical index values with composition data showing the components that make up the index.
Required arguments
| Argument | Type | Description |
|---|---|---|
index_id | string | Index identifier such as IDX_REFRATE_FX_USD. |
Optional arguments
| Argument | Type | Description |
|---|---|---|
time_start | string | ISO 8601 lower bound. |
time_end | string | ISO 8601 upper bound. |
limit | integer | Maximum number of rows to return. Allowed range: 1 to 100000. Default: 100. |
Returns
Rows contain:
timestampvaluecomposition[]
Each composition[] item can include:
component_idcomponent_value
Use when
- You need point-by-point historical values for one index.
- You want to inspect how the server explains the index composition at each point in time.
indexes_get_history_snapshot
Get historical values for all indexes belonging to a specific index definition at a single point in time.
Required arguments
| Argument | Type | Description |
|---|---|---|
index_definition_id | string | Index definition identifier such as IDX_REFRATE_FX. |
time | string | ISO 8601 timestamp for the requested historical snapshot. |
Returns
An array of rows with:
index_idtimestampvalue
Use when
- You want a historical cross-section of one index family.
- You need a point-in-time snapshot across many related indexes.
indexes_get_timeseries
Get OHLC timeseries data for a specific index over a time period.
Required arguments
| Argument | Type | Description |
|---|---|---|
index_id | string | Index identifier such as IDX_REFRATE_FX_USD. |
period_id | string | Period identifier such as 5SEC, 1MIN, 1HRS, or 1DAY. |
Optional arguments
| Argument | Type | Description |
|---|---|---|
time_start | string | ISO 8601 lower bound. |
time_end | string | ISO 8601 upper bound. |
limit | integer | Maximum number of rows to return. Allowed range: 1 to 100000. Default: 100. |
Returns
Rows contain fields such as:
time_period_starttime_period_endtime_opentime_closevalue_openvalue_highvalue_lowvalue_closevalue_count
Use when
- You need chart candles rather than discrete historical snapshots.
- You are building analytics, dashboards, or backtests on top of index data.
Multi-asset tools
multiasset_get_weights
Get multi-asset weights for a specific index.
Required arguments
| Argument | Type | Description |
|---|---|---|
index_id | string | Multi-asset index identifier such as IDX_MULTIASSET_TEST. |
Returns
Rows include:
indexIdassetIdweight
Use when
- You need the current stored asset mix for one multi-asset index.
- You want to verify weights before performing an administrative update.
multiasset_list_weights
Get all multi-asset index weights across all indexes.
Arguments
This tool does not require any arguments.
Returns
An array of rows shaped like:
indexIdassetIdweight
Use when
- You want a full inventory of configured multi-asset weights.
- You need to audit which multi-asset indexes currently have stored allocations.
multiasset_update_weights
Update multi-asset weights for a specific index.
This is an administrative operation.
Required arguments
| Argument | Type | Description |
|---|---|---|
index_id | string | Multi-asset index identifier such as IDX_MULTIASSET_TEST. |
weights | array | List of weight objects with indexId, assetId, and weight. |
Each item in weights supports:
indexIdassetIdweight
Use when
- You are managing the composition of a multi-asset index.
- You need to replace or revise the stored weights in an authorized workflow.
multiasset_delete_weights
Delete all multi-asset weights for a specific index.
This is an administrative operation.
Required arguments
| Argument | Type | Description |
|---|---|---|
index_id | string | Multi-asset index identifier such as IDX_MULTIASSET_TEST. |
Use when
- You need to clear stored weights for one multi-asset index.
- You are resetting a configuration in an authorized workflow.
Practical examples
Example: current value of one index
{
"tool": "indexes_get_current",
"arguments": {
"index_id": "IDX_REFRATE_FX_USD"
}
}Example: current snapshot of one index family
{
"tool": "indexes_get_current_snapshot",
"arguments": {
"index_definition_id": "IDX_REFRATE_FX"
}
}Example: historical values with composition
{
"tool": "indexes_get_history",
"arguments": {
"index_id": "IDX_REFRATE_FX_USD",
"time_start": "2026-04-01T00:00:00Z",
"time_end": "2026-04-07T00:00:00Z",
"limit": 100
}
}Example: point-in-time family snapshot
{
"tool": "indexes_get_history_snapshot",
"arguments": {
"index_definition_id": "IDX_REFRATE_FX",
"time": "2025-01-01T00:00:00Z"
}
}Example: daily OHLC candles
{
"tool": "indexes_get_timeseries",
"arguments": {
"index_id": "IDX_REFRATE_FX_USD",
"period_id": "1DAY",
"limit": 30
}
}Example: inspect one multi-asset index
{
"tool": "multiasset_get_weights",
"arguments": {
"index_id": "IDX_MULTIASSET_TEST"
}
}Usage guidance
- Start with
indexes_listwhen the client does not already know validindex_idvalues. - Use
indexes_get_current_snapshotwhen you need to discover active members of a definition before making single-index calls. - Use
indexes_get_historyfor value history pluscomposition; useindexes_get_timeseriesfor OHLC candles. - Use
periods_listbefore exposing timeseries interval choices. - Treat
multiasset_update_weightsandmultiasset_delete_weightsas write operations that belong only in authorized administrative flows.
Getting Started
Connect your MCP client to the CoinAPI Indexes MCP server and start querying index identifiers, snapshots, historical values, OHLC timeseries, and multi-asset weights.
Use Cases
Practical Indexes MCP workflows for discovery, snapshots, historical analysis, OHLC charting, and multi-asset weight inspection.