Starwell: World Data & Statistics
Statistics from 28 agencies: FRED, Eurostat, ECB, World Bank, OECD. Cited values, computed answers.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- LOWen delete_monitor
- LOWen delete_monitor
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": {
"world-data-statistics": {
"command": "npx",
"args": [
"starwell-mcp"
]
}
}
}Paquetes ejecutables
0.2.2stdioPuntos de conexión remotos
https://starwell.dev/api/starwell/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (11)
🟢list_sources
List the official statistical sources served by this data layer (e.g. Statistics Canada, FRED), with dataset/series counts, cadence notes, and terms links. Start here to see what exists.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_catalog(query, source, limit, offset)
Find series across ALL sources in one call: case-insensitive search over series ids, indicator names, geographies, and dataset titles (e.g. "unemployment canada", "10-year treasury", "CPI"). Returns candidate series with units, coverage, verification status, and license, plus datasetMatches from the wider dataset index — datasets whose series can be requested by source-native id and are fetched from the official source on first call. The fastest path from a question to the exact series id to fetch or pin in the answer tool.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Search terms, e.g. \"unemployment rate canada\""
},
"source": {
"type": "string",
"description": "Optional source slug to restrict to, e.g. 'fred'"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Max results (default 20)"
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Skip the first N ranked hits (default 0). When hasMore is true, call again with offset = offset + limit."
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_datasets(source)
List the datasets (official releases/tables) available in one source, with coverage dates and links to the official table pages.
Esquema de entrada
{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Source slug, e.g. 'fred' or 'statcan'"
}
},
"required": [
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_series(source, seriesId)
Full metadata for one series: indicator, unit, frequency, geography, coverage, its VERIFICATION STATUS (passing/stale/failing/unverified from golden-value + freshness checks against the live source), recent check records, and the citation to the official table.
Esquema de entrada
{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Source slug, e.g. 'fred'"
},
"seriesId": {
"type": "string",
"description": "Source-native series id, e.g. 'UNRATE' or 'v41690973'"
}
},
"required": [
"source",
"seriesId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_observations(source, seriesId, start, end, latest)
Observation values for one series. Every value carries provenance (the exact source URL it came from, retrieval time, connector version) and the envelope carries the series verification status + citation. Defaults to the latest 60 points; use start/end (YYYY-MM-DD) or latest to control the window.
Esquema de entrada
{
"type": "object",
"properties": {
"source": {
"type": "string"
},
"seriesId": {
"type": "string"
},
"start": {
"type": "string",
"description": "YYYY-MM-DD inclusive lower bound"
},
"end": {
"type": "string",
"description": "YYYY-MM-DD inclusive upper bound"
},
"latest": {
"type": "integer",
"minimum": 1,
"maximum": 2000,
"description": "Return only the latest N points (default 60 when no start/end given)"
}
},
"required": [
"source",
"seriesId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_series_stats(source, seriesId)
Latest value, previous, all-time min/max, mean, and change vs the previous period and vs a year ago — computed over the verified store, with the citation attached. The cheap way to answer "what is it now and how has it moved" without a full analysis run.
Esquema de entrada
{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Source slug, e.g. 'fred'"
},
"seriesId": {
"type": "string",
"description": "Series id, e.g. 'DGS10'"
}
},
"required": [
"source",
"seriesId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴create_monitor(source, seriesId, webhookUrl)
Create a monitor: when the store's refresh lands a new period or a revised value for the series, a series.updated webhook fires to your URL with the new value, verification status, and citation. Requires an API key (free with an account at /account); webhook must be https. Manage with list_monitors / delete_monitor.
Esquema de entrada
{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Source slug, e.g. 'fred'"
},
"seriesId": {
"type": "string",
"description": "Series id, e.g. 'DGS10'"
},
"webhookUrl": {
"type": "string",
"description": "https URL to receive series.updated events"
}
},
"required": [
"source",
"seriesId",
"webhookUrl"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_monitors
Monitors on your API key, with delivery health (last fired, failures, active).
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_monitor(id)
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Monitor id from list_monitors"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡answer(question, series, start, end, share)
The flagship: ask a natural-language question about the served official statistics. Returns a COMPUTED answer (real Python runs in a sandbox over the verified store, nothing is estimated by a model), the Plotly chart, the Python code, citations to the official tables, and a verification badge per series. CROSS-SOURCE: one question may join series from DIFFERENT agencies, e.g. unemployment from the US BLS, Statistics Canada and the UK ONS in a single call, for correlations, ratios, and like-for-like comparison. How many series one question may join is set by the caller's plan; asking for more returns a series_limit error naming that cap. Returns a refusal when no served series can answer. Takes 10-40 seconds. Requires a free API key (create at /account on the Starwell host; pass Authorization: Bearer dlk_... or set STARWELL_API_KEY on the starwell-mcp bridge). Keyless calls return key_required.
Esquema de entrada
{
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 3,
"maxLength": 500
},
"series": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"seriesId": {
"type": "string"
}
},
"required": [
"source",
"seriesId"
],
"additionalProperties": false
},
"maxItems": 6,
"description": "Optional: pin exact series, across sources, and skip AI resolution"
},
"start": {
"type": "string",
"description": "YYYY-MM-DD"
},
"end": {
"type": "string",
"description": "YYYY-MM-DD"
},
"share": {
"type": "boolean",
"description": "When true, the answer becomes a permanent public page and meta.permalink carries its URL — hand it to the user as a citable link"
}
},
"required": [
"question"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡deep_analysis(question, series, start, end)
The moat: a PLANNED multi-section report on a question. The engine designs 3-4 orthogonal analyses (trend, statistics, outliers, cross-series relationships), runs real Python for each in the sandbox over the verified store, and synthesizes one decision-ready report. Every number computed, every series cited and verification-badged. Sections can join series from DIFFERENT agencies in one report, up to the caller's plan width; over it, the call returns a series_limit error naming that cap. Slower than answer (60-180 seconds), so use it for "analyze", "break down", "give me a full picture" asks; use the answer tool for a single direct question. Requires a free API key (create at /account on the Starwell host; pass Authorization: Bearer dlk_... or set STARWELL_API_KEY on the starwell-mcp bridge). Keyless calls return key_required.
Esquema de entrada
{
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 3,
"maxLength": 500
},
"series": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"seriesId": {
"type": "string"
}
},
"required": [
"source",
"seriesId"
],
"additionalProperties": false
},
"maxItems": 6,
"description": "Optional: pin exact series, across sources, and skip AI resolution"
},
"start": {
"type": "string",
"description": "YYYY-MM-DD"
},
"end": {
"type": "string",
"description": "YYYY-MM-DD"
}
},
"required": [
"question"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia