Monitly
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Official statistics for AI agents: Eurostat, World Bank, OECD, IMF and WHO data for 150+ countries.
| Author | io.github.ContentWriterco |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2805 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Monitly": {
"url": "https://monit.ly/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (21)
search_catalogread-onlyFind 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.
Parameters:
query(required) — string — What to find, e.g. 'GDP annual current prices' or 'unemployment rate'.limit— integer — Max cards (default 8, max 16).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'.
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_datasetsread-onlyAlias of search_catalog. Find statistical datasets by query, optional country and source_name.
Parameters:
query(required) — string — What to find, e.g. 'GDP annual current prices'.limit— integer — Max cards (default 8, max 16).country— string — Optional country name (e.g. 'Germany').source_name— string — Optional source filter, e.g. 'Eurostat'.
Hints: read-only yes · destructive no · idempotent yes · open-world no
inspect_datasetread-onlyPeek 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.
Parameters:
id(required) — integer — Dataset id (main.id) from search_catalog.country— string — Optional country to resolve in the format header (e.g. 'Germany').
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_datasetread-onlyGet one dataset metadata row from main by id (includes dimensions, default_view, geos).
Parameters:
id(required) — integer — Dataset id (main.id).
Hints: read-only yes · destructive no · idempotent yes · open-world no
execute_sqlread-onlyRun 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.
Parameters:
query(required) — string — SQL SELECT against main / data only.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_plansread-onlyList Monitly plans (Essential, Pro, Enterprise) with prices and limits.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_planread-onlyCurrent plan of the key owner: name, status, period end and limits (API/day, MCP/month, watchlist, API keys).
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_usageread-onlyMCP queries this billing period, REST API requests today and watchlist slots — used, limit, remaining.
Hints: read-only yes · destructive no · idempotent yes · open-world no
upgrade_planCreate a Stripe Checkout session for the Pro plan and return checkout_url. Open it in the browser for the user to pay.
Parameters:
plan_id— string — Target plan (default 'pro').
Hints: read-only no · destructive no · idempotent no · open-world yes
list_watchlistread-onlyDatasets the user follows (watchlist) with source, latest period and alert status. Paginate with limit/offset.
Parameters:
limit— integer — Max rows (default 20).offset— integer — Pagination offset (default 0).
Hints: read-only yes · destructive no · idempotent yes · open-world no
add_to_watchlistFollow a dataset by id (from search_catalog). The user gets alerts when it updates. Respects the plan's watchlist limit.
Parameters:
dataset_id(required) — integer — Dataset id (main.id) from search_catalog.
Hints: read-only no · destructive no · idempotent yes · open-world no
add_watchlist_batchFollow up to 100 datasets in one call. Skips duplicates and stops at the plan limit (reported in skipped_limit).
Parameters:
dataset_ids(required) — array — Dataset ids (main.id).
Hints: read-only no · destructive no · idempotent yes · open-world no
remove_from_watchlistdestructiveUnfollow a dataset by id.
Parameters:
dataset_id(required) — integer — Dataset id (main.id) from search_catalog.
Hints: read-only no · destructive yes · idempotent yes · open-world no
set_notification_preferencesaction='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).
Parameters:
action(required) — 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.
Hints: read-only no · destructive no · idempotent yes · open-world no
list_api_keysread-onlyActive REST API keys (mon_…) of the account: id, name, prefix, created/last used.
Hints: read-only yes · destructive no · idempotent yes · open-world no
create_api_keyCreate a REST API key (mon_…) for /api endpoints. The raw key is returned once. Limit: 3 (Essential) / 10 (Pro).
Parameters:
name— string — Label (max 100 chars).
Hints: read-only no · destructive no · idempotent no · open-world no
delete_api_keydestructiveRevoke a REST API key by id. The last remaining key cannot be deleted.
Parameters:
key_id(required) — string — Key id (uuid) from the list call.
Hints: read-only no · destructive yes · idempotent yes · open-world no
list_mcp_keysread-onlyActive MCP keys (mcpk_…). The key used for this session is marked current=true.
Hints: read-only yes · destructive no · idempotent yes · open-world no
create_mcp_keyCreate another MCP key (mcpk_…), e.g. for a second client. The raw key is returned once.
Parameters:
name— string — Label (max 100 chars).
Hints: read-only no · destructive no · idempotent no · open-world no
delete_mcp_keydestructiveRevoke an MCP key by id. The key used for the current session cannot be revoked here.
Parameters:
key_id(required) — string — Key id (uuid) from the list call.
Hints: read-only no · destructive yes · idempotent yes · open-world no
export_datasetread-onlyReturn a CSV download URL for a dataset, optionally filtered by countries and dimension values (dim1…dim8 from inspect_dataset).
Parameters:
dataset_id(required) — integer — Dataset id (main.id) from search_catalog.countries— array — Country names, e.g. ['Poland','Germany'].dimensions— object — Dimension filters, e.g. {"dim1": ["Annual"], "dim2": ["Percentage"]}.
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.