Starwell: World Data & Statistics
Statistics from 28 agencies: FRED, Eurostat, ECB, World Bank, OECD. Cited values, computed answers.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- LOWin delete_monitor
- LOWin delete_monitor
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"world-data-statistics": {
"command": "npx",
"args": [
"starwell-mcp"
]
}
}
}Ausführbare Pakete
0.2.2stdioRemote-Endpunkte
https://starwell.dev/api/starwell/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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).
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_monitor(id)
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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#"
}Community
Nachweis