Reference Data Tools#
Use the reference data tools to look up OneTick database metadata — available databases, tick type schemas, field definitions, and market calendar information. Each tool reads from a tab-separated file in CSV_DATA_PATH; pass filters to narrow results and get back structured rows.
Tool descriptions#
MCP Tool |
When to use |
|---|---|
|
List available OneTick databases. Use to discover what databases exist before querying. |
|
List the tick types (tables) a database contains, or look up what a tick type means. See Tool behavior for the two modes. |
|
Get the fields and their data types for a specific database and tick type combination. Use when you need the exact schema of a table. |
|
Get generic field definitions for a tick type, independent of any specific database. Use when you need the meaning of a field rather than its schema. |
|
Decode enumerated field values. Use when a numeric or string code in a result needs a human-readable label. |
|
Look up market closure dates for a database. Use when checking whether a given date is a trading holiday. |
|
Look up trading session names and open/close times for a database. Use when determining when a market is open. |
Data source#
All tools read from the directory pointed to by CSV_DATA_PATH. OneTick Cloud users get the bundled coverage files out of the box (see Download documentation sources). For on-prem and custom deployments, see Custom Reference Data.
The server looks for these exact filenames in CSV_DATA_PATH:
MCP Tool |
Filename |
Description |
|---|---|---|
|
|
Available databases and their attributes |
|
|
Generic field definitions per tick type |
|
|
Code-to-value mappings for enumerated fields |
|
|
Fields and data types for a specific database and tick type |
|
|
Tick types in a database, or the meaning of a tick type (see Tool behavior) |
|
|
Market closure dates per database |
|
|
Trading session names and open/close times per database |
Tool behavior#
Result size. Every tool accepts a limit (default 10, capped at 50). When more
rows match than are shown, the result includes the total count and asks the model to narrow
the query with filters rather than to request a higher limit (a larger result would exceed the
MCP client’s tool-result size cap). To see different rows, add or tighten filters.
Find by meaning (concept search). When you don’t know the name of the field, tick type, or
database you’re after, but you know the concept, pass description_query. It searches the
description text and ranks the most direct match first (exact, then starts-with, then phrase,
then keywords), so the primary entry ranks above a similarly-named one. Available on:
db_field_descriptions— e.g.description_query='settlement price'returnsSETTLE_PRICE(ranked above the near-nameSETTLE_PRICE_TYPE).tick_typeis optional here — omit it to search across all tick types.db_tables— e.g.description_query='daily statistics'finds the matching tick type; combine withdb_nameto search within one database’s tables.list_databases— e.g.description_query='crypto derivatives'matches the database description; combine with the structured filters.
db_tables has two modes.
With
db_name— lists the tables (tick types) that database contains, fromdb_tick_type_schemas.txt(exact, case-insensitive match, soCME_GLOBEXdoes not also returnCME_GLOBEX_BARS). Use this for “what tables/tick types does <db> have?”.With
tick_typeonly — returns the human-readable description of that tick type from the glossary. Use this for “what does theDAYtick type mean?”.
Choosing between the schema/field tools.
db_table_schemasis database-scoped — the actual fields/columns of a specific database’s table (db_name+tick_type), e.g. “list the fields in the CMEDAYtable”.db_field_descriptionsis generic — the db-agnostic meaning of fields for a tick type, not tied to any one database.
File format#
All files are tab-separated with a .txt extension. The first row is a header; subsequent rows are data. Some files include an optional type annotation on column names separated by a space (e.g. DB_NAME string[128]); the server uses only the part before the first space for filtering.
File schemas#
db_list.txt#
Column |
Type |
Notes |
|---|---|---|
|
|
|
|
|
e.g. |
|
|
Dataset identifier |
|
|
Database name used in queries |
|
|
e.g. |
|
|
Exchange name |
|
|
Human-readable description |
|
|
Market Identifier Code |
|
ISO country code |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IANA tz name, e.g. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example:
PUBLIC DB_CATEGORY DATASET DB_NAME DB_TYPE EXCHANGE DATASET_DESC MIC COUNTRY COUNTRY_NAME STARTDATE REAL_TIME BARS BOOK_DEPTH TIME_ZONE MARKET_HOURS EQUITIES FUTURES OPTIONS SPREADS INDICES FX
Y EXCHANGE - DERIVATIVES ABAXX ABAXX Tick Data Abaxx Exchange Abaxx Exchange derivatives data XABX SG Singapore 20250818 N N N Asia/Singapore 10:00-24:00 N Y N Y N N
db_field_descriptions.txt#
Column |
Notes |
|---|---|
|
Field name |
|
Tick type the field belongs to |
|
Human-readable description |
Example:
FIELD TICK_TYPE DESCRIPTION
BID_PRICE QUOTE Best bid price
db_field_enumerations.txt#
Column |
Notes |
|---|---|
|
Database name |
|
Field name |
|
Numeric or string code |
|
What the code means |
Example:
DB FIELD VALUE DESCRIPTION
NYSE COND A Regular Trade
db_tick_type_schemas.txt#
Column |
Notes |
|---|---|
|
Field name |
|
Data type, e.g. |
|
Database name |
|
Tick type |
Example:
FIELD_NAME TYPE_FOR_EP DB_NAME TICK_TYPE
PRICE double NYSE TRADE
db_tick_type_descriptions.txt#
Column |
Notes |
|---|---|
|
Tick type identifier |
|
Human-readable description |
Example:
TICK_TYPE_NAME TICK_TYPE_DESCRIPTION
TRADE Executed trade with price, size, and conditions
mkt_cal_holidays.txt#
Has an unnamed index column as the first column.
Column |
Notes |
|---|---|
|
Database name |
|
e.g. |
|
IANA tz name |
|
|
|
|
|
|
|
|
Example:
DB_NAME ACTIVITY_NAME TIME_ZONE START_TIME END_TIME START_DATE END_DATE
0 NYSE Full Holiday America/New_York 00:00 23:59 2025-01-01 2025-01-01
mkt_cal_trading_hours.txt#
Has an unnamed index column as the first column.
Column |
Notes |
|---|---|
|
Database name |
|
e.g. |
|
IANA tz name |
|
|
|
|
Example:
DB_NAME SESSION TIME_ZONE START_TIME END_TIME
0 NYSE MARKET America/New_York 09:30 16:00