{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "category": "data-providers",
    "endpoint": "https://starwell.dev/api/starwell/mcp",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/starwell-world-data-statistics.json",
    "kind": "mcp",
    "listed": "indexed",
    "liveUrl": "https://www.anchorterminal.com/api/v1/live/starwell-world-data-statistics.json",
    "markdownUrl": "https://www.anchorterminal.com/tools/starwell-world-data-statistics.md",
    "mcpTools": {
      "check": {
        "checker": "anchor-check/1.0",
        "totalTokens": 2440,
        "counts": {
          "error": 1,
          "note": 1,
          "warn": 3
        },
        "findings": [
          {
            "rule": "TC05",
            "severity": "error",
            "tool": "delete_monitor",
            "message": "no description",
            "fix": "Say what it does, when to use it (and when not), what it returns, and any cost or side effect."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "answer",
            "message": "1 parameter without a description: question",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "deep_analysis",
            "message": "1 parameter without a description: question",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "get_observations",
            "message": "2 parameters without a description: seriesId, source",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC24",
            "severity": "note",
            "message": "11 of 11 tools have no outputSchema",
            "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
          }
        ]
      },
      "checkedAt": "2026-10-04T22:24:59Z",
      "count": 11,
      "schemaTokens": 2440,
      "status": "ok",
      "tools": [
        {
          "name": "list_sources",
          "title": "List data sources",
          "description": "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.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "properties": {},
            "type": "object"
          },
          "annotations": {
            "readOnlyHint": true
          }
        },
        {
          "name": "search_catalog",
          "title": "Search the series catalog",
          "description": "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.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "limit": {
                "description": "Max results (default 20)",
                "maximum": 100,
                "minimum": 1,
                "type": "integer"
              },
              "offset": {
                "description": "Skip the first N ranked hits (default 0). When hasMore is true, call again with offset = offset + limit.",
                "minimum": 0,
                "type": "integer"
              },
              "query": {
                "description": "Search terms, e.g. \"unemployment rate canada\"",
                "maxLength": 200,
                "minLength": 1,
                "type": "string"
              },
              "source": {
                "description": "Optional source slug to restrict to, e.g. 'fred'",
                "type": "string"
              }
            },
            "required": [
              "query"
            ],
            "type": "object"
          },
          "annotations": {
            "readOnlyHint": true
          }
        },
        {
          "name": "list_datasets",
          "title": "List datasets in a source",
          "description": "List the datasets (official releases/tables) available in one source, with coverage dates and links to the official table pages.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "source": {
                "description": "Source slug, e.g. 'fred' or 'statcan'",
                "type": "string"
              }
            },
            "required": [
              "source"
            ],
            "type": "object"
          },
          "annotations": {
            "readOnlyHint": true
          }
        },
        {
          "name": "get_series",
          "title": "Get series metadata + verification",
          "description": "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.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "seriesId": {
                "description": "Source-native series id, e.g. 'UNRATE' or 'v41690973'",
                "type": "string"
              },
              "source": {
                "description": "Source slug, e.g. 'fred'",
                "type": "string"
              }
            },
            "required": [
              "source",
              "seriesId"
            ],
            "type": "object"
          },
          "annotations": {
            "readOnlyHint": true
          }
        },
        {
          "name": "get_observations",
          "title": "Get observations (with provenance)",
          "description": "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.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "end": {
                "description": "YYYY-MM-DD inclusive upper bound",
                "type": "string"
              },
              "latest": {
                "description": "Return only the latest N points (default 60 when no start/end given)",
                "maximum": 2000,
                "minimum": 1,
                "type": "integer"
              },
              "seriesId": {
                "type": "string"
              },
              "source": {
                "type": "string"
              },
              "start": {
                "description": "YYYY-MM-DD inclusive lower bound",
                "type": "string"
              }
            },
            "required": [
              "source",
              "seriesId"
            ],
            "type": "object"
          },
          "annotations": {
            "readOnlyHint": true
          }
        },
        {
          "name": "get_series_stats",
          "title": "Summary statistics for a series",
          "description": "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.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "seriesId": {
                "description": "Series id, e.g. 'DGS10'",
                "type": "string"
              },
              "source": {
                "description": "Source slug, e.g. 'fred'",
                "type": "string"
              }
            },
            "required": [
              "source",
              "seriesId"
            ],
            "type": "object"
          },
          "annotations": {
            "readOnlyHint": true
          }
        },
        {
          "name": "create_monitor",
          "title": "Watch a series (webhook on movement)",
          "description": "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.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "seriesId": {
                "description": "Series id, e.g. 'DGS10'",
                "type": "string"
              },
              "source": {
                "description": "Source slug, e.g. 'fred'",
                "type": "string"
              },
              "webhookUrl": {
                "description": "https URL to receive series.updated events",
                "type": "string"
              }
            },
            "required": [
              "source",
              "seriesId",
              "webhookUrl"
            ],
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "readOnlyHint": false
          }
        },
        {
          "name": "list_monitors",
          "title": "List your monitors",
          "description": "Monitors on your API key, with delivery health (last fired, failures, active).",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "properties": {},
            "type": "object"
          },
          "annotations": {
            "readOnlyHint": true
          }
        },
        {
          "name": "delete_monitor",
          "title": "Delete one of your monitors",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "id": {
                "description": "Monitor id from list_monitors",
                "type": "string"
              }
            },
            "required": [
              "id"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": true,
            "readOnlyHint": false
          }
        },
        {
          "name": "answer",
          "title": "Answer a question from verified data",
          "description": "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.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "end": {
                "description": "YYYY-MM-DD",
                "type": "string"
              },
              "question": {
                "maxLength": 500,
                "minLength": 3,
                "type": "string"
              },
              "series": {
                "description": "Optional: pin exact series, across sources, and skip AI resolution",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "seriesId": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "source",
                    "seriesId"
                  ],
                  "type": "object"
                },
                "maxItems": 6,
                "type": "array"
              },
              "share": {
                "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",
                "type": "boolean"
              },
              "start": {
                "description": "YYYY-MM-DD",
                "type": "string"
              }
            },
            "required": [
              "question"
            ],
            "type": "object"
          },
          "annotations": {
            "readOnlyHint": false
          }
        },
        {
          "name": "deep_analysis",
          "title": "Deep multi-angle analysis from verified data",
          "description": "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.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "end": {
                "description": "YYYY-MM-DD",
                "type": "string"
              },
              "question": {
                "maxLength": 500,
                "minLength": 3,
                "type": "string"
              },
              "series": {
                "description": "Optional: pin exact series, across sources, and skip AI resolution",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "seriesId": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "source",
                    "seriesId"
                  ],
                  "type": "object"
                },
                "maxItems": 6,
                "type": "array"
              },
              "start": {
                "description": "YYYY-MM-DD",
                "type": "string"
              }
            },
            "required": [
              "question"
            ],
            "type": "object"
          },
          "annotations": {
            "readOnlyHint": false
          }
        }
      ]
    },
    "name": "Starwell: World Data \u0026 Statistics",
    "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
    "packages": [
      {
        "registryType": "npm",
        "identifier": "starwell-mcp",
        "version": "0.2.2",
        "transport": "stdio"
      }
    ],
    "pageJsonUrl": "https://www.anchorterminal.com/tools/starwell-world-data-statistics.json",
    "popularity": {
      "githubStars": 0,
      "npmWeekly": 58
    },
    "registryName": "dev.starwell/world-data-statistics",
    "remotes": [
      {
        "type": "streamable-http",
        "url": "https://starwell.dev/api/starwell/mcp"
      }
    ],
    "repository": "https://github.com/Adarsh4052/starwell-mcp",
    "reviewed": false,
    "slug": "starwell-world-data-statistics",
    "source": "the official MCP registry",
    "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=dev.starwell/world-data-statistics",
    "summary": "Statistics from 28 agencies: FRED, Eurostat, ECB, World Bank, OECD. Cited values, computed answers.",
    "updatedAt": "2026-08-13T19:52:11Z",
    "url": "https://www.anchorterminal.com/tools/starwell-world-data-statistics",
    "vendor": "starwell.dev",
    "vendorUrl": "https://starwell.dev",
    "version": "0.2.2",
    "websiteUrl": "https://starwell.dev",
    "where": "both",
    "why": [
      "vendor"
    ]
  }
}
