
Official statistics for AI agents: Eurostat, World Bank, OECD, IMF and WHO data for 150+ countries.
Call this server's tools from your browser. Nothing to install.
Bearer mcpk_… key (needed for tools/call; initialize and tools/list work without it). Create at https://monit.ly/app/settings?tab=integrations&sub=mcp
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Follow a dataset by id (from search_catalog). The user gets alerts when it updates. Respects the plan's watchlist limit.
Dataset id (main.id) from search_catalog.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Follow a dataset by id (from search_catalog). The user gets alerts when it updates. Respects the plan's watchlist limit.
| Argument | Type | Description |
|---|---|---|
| dataset_id* | integer | Dataset id (main.id) from search_catalog. |
{
"type": "object",
"required": [
"dataset_id"
],
"properties": {
"dataset_id": {
"type": "integer",
"description": "Dataset id (main.id) from search_catalog."
}
}
}Follow up to 100 datasets in one call. Skips duplicates and stops at the plan limit (reported in skipped_limit).
| Argument | Type | Description |
|---|---|---|
| dataset_ids* | array | Dataset ids (main.id). |
{
"type": "object",
"required": [
"dataset_ids"
],
"properties": {
"dataset_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset ids (main.id)."
}
}
}Create a REST API key (mon_…) for /api endpoints. The raw key is returned once. Limit: 3 (Essential) / 10 (Pro).
| Argument | Type | Description |
|---|---|---|
| name | string | Label (max 100 chars). |
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Label (max 100 chars)."
}
}
}Create another MCP key (mcpk_…), e.g. for a second client. The raw key is returned once.
| Argument | Type | Description |
|---|---|---|
| name | string | Label (max 100 chars). |
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Label (max 100 chars)."
}
}
}Revoke a REST API key by id. The last remaining key cannot be deleted.
| Argument | Type | Description |
|---|---|---|
| key_id* | string | Key id (uuid) from the list call. |
{
"type": "object",
"required": [
"key_id"
],
"properties": {
"key_id": {
"type": "string",
"description": "Key id (uuid) from the list call."
}
}
}Revoke an MCP key by id. The key used for the current session cannot be revoked here.
| Argument | Type | Description |
|---|---|---|
| key_id* | string | Key id (uuid) from the list call. |
{
"type": "object",
"required": [
"key_id"
],
"properties": {
"key_id": {
"type": "string",
"description": "Key id (uuid) from the list call."
}
}
}Run a read-only SELECT (or WITH … SELECT) against tables main and data only. Use after search_catalog + inspect_dataset to pull the time series for a known data.id / main_id.
| Argument | Type | Description |
|---|---|---|
| query* | string | SQL SELECT against main / data only. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "SQL SELECT against main / data only."
}
}
}Return a CSV download URL for a dataset, optionally filtered by countries and dimension values (dim1…dim8 from inspect_dataset).
| Argument | Type | Description |
|---|---|---|
| countries | array | Country names, e.g. ['Poland','Germany']. |
| dataset_id* | integer | Dataset id (main.id) from search_catalog. |
| dimensions | object | Dimension filters, e.g. {"dim1": ["Annual"], "dim2": ["Percentage"]}. |
{
"type": "object",
"required": [
"dataset_id"
],
"properties": {
"countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Country names, e.g. ['Poland','Germany']."
},
"dataset_id": {
"type": "integer",
"description": "Dataset id (main.id) from search_catalog."
},
"dimensions": {
"type": "object",
"description": "Dimension filters, e.g. {\"dim1\": [\"Annual\"], \"dim2\": [\"Percentage\"]}."
}
}
}Get one dataset metadata row from main by id (includes dimensions, default_view, geos).
| Argument | Type | Description |
|---|---|---|
| id* | integer | Dataset id (main.id). |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Dataset id (main.id)."
}
}
}Current plan of the key owner: name, status, period end and limits (API/day, MCP/month, watchlist, API keys).
No arguments.
{
"type": "object",
"properties": {}
}MCP queries this billing period, REST API requests today and watchlist slots — used, limit, remaining.
No arguments.
{
"type": "object",
"properties": {}
}Peek one dataset by main.id: default slice, whether a country is in the series, dataId, and the last few values. Uses indexed main_id lookup — do not scan the data table yourself for discovery.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Dataset id (main.id) from search_catalog. |
| country | string | Optional country to resolve in the format header (e.g. 'Germany'). |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Dataset id (main.id) from search_catalog."
},
"country": {
"type": "string",
"description": "Optional country to resolve in the format header (e.g. 'Germany')."
}
}
}Active REST API keys (mon_…) of the account: id, name, prefix, created/last used.
No arguments.
{
"type": "object",
"properties": {}
}Active MCP keys (mcpk_…). The key used for this session is marked current=true.
No arguments.
{
"type": "object",
"properties": {}
}List Monitly plans (Essential, Pro, Enterprise) with prices and limits.
No arguments.
{
"type": "object",
"properties": {}
}Datasets the user follows (watchlist) with source, latest period and alert status. Paginate with limit/offset.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max rows (default 20). |
| offset | integer | Pagination offset (default 0). |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Max rows (default 20)."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Pagination offset (default 0)."
}
}
}Unfollow a dataset by id.
| Argument | Type | Description |
|---|---|---|
| dataset_id* | integer | Dataset id (main.id) from search_catalog. |
{
"type": "object",
"required": [
"dataset_id"
],
"properties": {
"dataset_id": {
"type": "integer",
"description": "Dataset id (main.id) from search_catalog."
}
}
}Find statistical datasets in the catalog (Eurostat, World Bank, OECD, etc.). Index-backed hybrid search (name/code + embeddings). Optional country and source_name filters. Use this instead of SELECT … FROM main ILIKE. Returns compact cards, not series values.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max cards (default 8, max 16). |
| query* | string | What to find, e.g. 'GDP annual current prices' or 'unemployment rate'. |
| country | string | Optional country name to prefer datasets that include this geo (e.g. 'Germany'). |
| source_name | string | Optional source filter, e.g. 'Eurostat', 'World Bank' (World Development Indicators), 'OECD', 'IMF'. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 16,
"minimum": 1,
"description": "Max cards (default 8, max 16)."
},
"query": {
"type": "string",
"description": "What to find, e.g. 'GDP annual current prices' or 'unemployment rate'."
},
"country": {
"type": "string",
"description": "Optional country name to prefer datasets that include this geo (e.g. 'Germany')."
},
"source_name": {
"type": "string",
"description": "Optional source filter, e.g. 'Eurostat', 'World Bank' (World Development Indicators), 'OECD', 'IMF'."
}
}
}Alias of search_catalog. Find statistical datasets by query, optional country and source_name.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max cards (default 8, max 16). |
| query* | string | What to find, e.g. 'GDP annual current prices'. |
| country | string | Optional country name (e.g. 'Germany'). |
| source_name | string | Optional source filter, e.g. 'Eurostat'. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 16,
"minimum": 1,
"description": "Max cards (default 8, max 16)."
},
"query": {
"type": "string",
"description": "What to find, e.g. 'GDP annual current prices'."
},
"country": {
"type": "string",
"description": "Optional country name (e.g. 'Germany')."
},
"source_name": {
"type": "string",
"description": "Optional source filter, e.g. 'Eurostat'."
}
}
}action='get' returns e-mail/Slack alert settings. action='set' changes email_notifications / slack_notifications, or turns alerts for one followed dataset on/off (dataset_id + dataset_notifications).
| Argument | Type | Description |
|---|---|---|
| action* | string | 'get' or 'set'. |
| dataset_id | integer | Followed dataset to change. |
| email_notifications | boolean | E-mail alerts for followed datasets. |
| slack_notifications | boolean | Slack alerts (webhook is configured in Settings). |
| dataset_notifications | boolean | Alerts for that dataset on/off. |
{
"type": "object",
"required": [
"action"
],
"properties": {
"action": {
"enum": [
"get",
"set"
],
"type": "string",
"description": "'get' or 'set'."
},
"dataset_id": {
"type": "integer",
"description": "Followed dataset to change."
},
"email_notifications": {
"type": "boolean",
"description": "E-mail alerts for followed datasets."
},
"slack_notifications": {
"type": "boolean",
"description": "Slack alerts (webhook is configured in Settings)."
},
"dataset_notifications": {
"type": "boolean",
"description": "Alerts for that dataset on/off."
}
}
}Create a Stripe Checkout session for the Pro plan and return checkout_url. Open it in the browser for the user to pay.
| Argument | Type | Description |
|---|---|---|
| plan_id | string | Target plan (default 'pro'). |
{
"type": "object",
"properties": {
"plan_id": {
"enum": [
"pro"
],
"type": "string",
"description": "Target plan (default 'pro')."
}
}
}