TILLA - market data on one clock
Aligned market data for AI agents: crypto, stocks, FX and macro on one clock. Local or hosted.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (4)
- LOWen tilla_tiers
- LOWen tilla_latest
- LOWen tilla_markets
- LOWen tilla_health
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"tilla-mcp": {
"command": "uvx",
"args": [
"tilla-mcp"
]
}
}
}Paquetes ejecutables
2.0.2stdioPuntos de conexión remotos
https://mcp.tillacrypto.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (14)
🟢tilla_about
What TILLA is, who it's for, and how to start. No API key needed.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "tilla_aboutArguments"
}🟢tilla_status
The newest 1-minute bar and the tiers served. No API key needed.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "tilla_statusArguments"
}🟢tilla_tiers
The public plans: price, history cap, request limits and size. No API key needed.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "tilla_tiersArguments"
}🟢tilla_inventory(layer, lane)
Exactly what the caller's key holds. No arguments: every lane per layer with its series count. layer=raw|derived|node and lane=1min|hour|daily|...: every series name there. Call this before tilla_latest / tilla_window and use the names it returns. Needs TILLA_API_KEY.
Esquema de entrada
{
"type": "object",
"properties": {
"layer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Layer"
},
"lane": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Lane"
}
},
"title": "tilla_inventoryArguments"
}🟢tilla_window(series, layer, lane, start, end, ...)
A window of bars. Name exactly what you want, one of: `series` = comma-separated names (at most 200) from tilla_inventory, or a pattern like 'btc_*' / '*_close'; or `markets` + `fields` ('btc,eth' + 'close,volume' -> btc_close, btc_volume, eth_close, eth_volume). layer = raw | derived | node | deep; lane = 1min, 5min, hour, daily, ... start/end = 'YYYY-MM-DD[ HH:MM[:SS]]' UTC inclusive, or period = 30d 2m 6m 1y all; no start = the newest bars. limit <= 50000. When `more` is true, call again with start = `next_start`. Needs TILLA_API_KEY.
Esquema de entrada
{
"type": "object",
"properties": {
"series": {
"default": null,
"title": "series",
"type": "string"
},
"layer": {
"default": "raw",
"title": "Layer",
"type": "string"
},
"lane": {
"default": "1min",
"title": "Lane",
"type": "string"
},
"start": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Start"
},
"end": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "End"
},
"limit": {
"default": 1000,
"title": "Limit",
"type": "integer"
},
"period": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Period"
},
"markets": {
"default": null,
"title": "markets",
"type": "string"
},
"fields": {
"default": null,
"title": "fields",
"type": "string"
}
},
"title": "tilla_windowArguments"
}🟢tilla_latest(series, layer, lane)
The newest bar of the named series on one lane. Needs TILLA_API_KEY.
Esquema de entrada
{
"type": "object",
"properties": {
"series": {
"title": "series",
"type": "string"
},
"layer": {
"default": "raw",
"title": "Layer",
"type": "string"
},
"lane": {
"default": "1min",
"title": "Lane",
"type": "string"
}
},
"required": [
"series"
],
"title": "tilla_latestArguments"
}🟢tilla_usage
The caller's plan and budget right now: tier, history days, limits, used today. Needs TILLA_API_KEY.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "tilla_usageArguments"
}🟢tilla_markets
Every market TILLA carries - crypto, US stocks and ETFs, FX, macro - with its category, its related markets, how many series each plan holds of it, and its lanes. No API key needed. Use the `id` with tilla_market.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "tilla_marketsArguments"
}🟢tilla_market(market, lane, layer, related, period, ...)
One market in one call: every series of `market` (an id from tilla_markets, e.g. btc, nvda, eurusd, gold) the key holds on `lane`, on one clock. layer = raw | derived | node | deep | all. related=True adds its connected markets (btc: its ETFs and miners). period = 1d 7d 30d 2m 3m 6m 1y 2y 3y all. At most 200 columns an answer: `series_next_offset` names the next page. Needs TILLA_API_KEY.
Esquema de entrada
{
"type": "object",
"properties": {
"market": {
"title": "Market",
"type": "string"
},
"lane": {
"default": "1min",
"title": "Lane",
"type": "string"
},
"layer": {
"default": "raw",
"title": "Layer",
"type": "string"
},
"related": {
"default": false,
"title": "Related",
"type": "boolean"
},
"period": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Period"
},
"limit": {
"default": 500,
"title": "Limit",
"type": "integer"
}
},
"required": [
"market"
],
"title": "tilla_marketArguments"
}🟢tilla_sample(tier)
The free sample of one plan (free, builder, pro or max), no key needed: how many series it holds on every lane, and one aligned 1-minute row of real values. The full one-tick files are at /v1/sample/<tier>.csv and .db (named in the answer's `files`).
Esquema de entrada
{
"type": "object",
"properties": {
"tier": {
"default": "free",
"title": "Tier",
"type": "string"
}
},
"title": "tilla_sampleArguments"
}🟢tilla_health
The newest bar of every lane on every layer - is the data current? No API key needed.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "tilla_healthArguments"
}🟢tilla_docs
The whole API manual in one call, no key needed: every call, every parameter, every plan, how paging, tick, resume, changes and bulk work. Read this first when you need to know how to do anything.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "tilla_docsArguments"
}🟢tilla_tick(at, lanes)
Your whole plan, live, in one call: every series the key holds on every lane that closed at a boundary (`at` = 'YYYY-MM-DD HH:MM', default the minute just closed). Per lane: bar, complete, series, values. Needs a key.
Esquema de entrada
{
"type": "object",
"properties": {
"at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "At"
},
"lanes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Lanes"
}
},
"title": "tilla_tickArguments"
}🟢tilla_changes(since)
Every value our checks repaired since `since` ('YYYY-MM-DD HH:MM:SS') that the key holds, with its value now - apply them and a kept copy stays correct. Pass the answer's `until` as the next since. Needs a key.
Esquema de entrada
{
"type": "object",
"properties": {
"since": {
"title": "Since",
"type": "string"
}
},
"required": [
"since"
],
"title": "tilla_changesArguments"
}Comunidad
Evidencia