🔗 MCP API

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_id values 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

  • 1SEC
  • 1MIN
  • 1HRS
  • 1DAY
  • 1MTH
  • 1YRS

Each row also includes metadata such as length_seconds, length_months, unit_count, unit_name, and display_name.

Use when

  • You need valid period_id values for indexes_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

ArgumentTypeDescription
filter_exchange_idstringOptional comma- or semicolon-delimited exchange list such as BITSTAMP;GEMINI.

Returns

Rows include fields such as:

  • exchange_id
  • website
  • name

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

ArgumentTypeDescription
index_idstringIndex identifier such as IDX_REFRATE_FX_USD.

Returns

A single object with:

  • timestamp
  • value

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

ArgumentTypeDescription
index_definition_idstringIndex definition identifier such as IDX_REFRATE_FX.

Returns

An array of rows with:

  • index_id
  • timestamp
  • value

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

ArgumentTypeDescription
index_idstringIndex identifier such as IDX_REFRATE_FX_USD.

Optional arguments

ArgumentTypeDescription
time_startstringISO 8601 lower bound.
time_endstringISO 8601 upper bound.
limitintegerMaximum number of rows to return. Allowed range: 1 to 100000. Default: 100.

Returns

Rows contain:

  • timestamp
  • value
  • composition[]

Each composition[] item can include:

  • component_id
  • component_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

ArgumentTypeDescription
index_definition_idstringIndex definition identifier such as IDX_REFRATE_FX.
timestringISO 8601 timestamp for the requested historical snapshot.

Returns

An array of rows with:

  • index_id
  • timestamp
  • value

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

ArgumentTypeDescription
index_idstringIndex identifier such as IDX_REFRATE_FX_USD.
period_idstringPeriod identifier such as 5SEC, 1MIN, 1HRS, or 1DAY.

Optional arguments

ArgumentTypeDescription
time_startstringISO 8601 lower bound.
time_endstringISO 8601 upper bound.
limitintegerMaximum number of rows to return. Allowed range: 1 to 100000. Default: 100.

Returns

Rows contain fields such as:

  • time_period_start
  • time_period_end
  • time_open
  • time_close
  • value_open
  • value_high
  • value_low
  • value_close
  • value_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

ArgumentTypeDescription
index_idstringMulti-asset index identifier such as IDX_MULTIASSET_TEST.

Returns

Rows include:

  • indexId
  • assetId
  • weight

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:

  • indexId
  • assetId
  • weight

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

ArgumentTypeDescription
index_idstringMulti-asset index identifier such as IDX_MULTIASSET_TEST.
weightsarrayList of weight objects with indexId, assetId, and weight.

Each item in weights supports:

  • indexId
  • assetId
  • weight

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

ArgumentTypeDescription
index_idstringMulti-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_list when the client does not already know valid index_id values.
  • Use indexes_get_current_snapshot when you need to discover active members of a definition before making single-index calls.
  • Use indexes_get_history for value history plus composition; use indexes_get_timeseries for OHLC candles.
  • Use periods_list before exposing timeseries interval choices.
  • Treat multiasset_update_weights and multiasset_delete_weights as write operations that belong only in authorized administrative flows.
Service StatusGitHub SDK