Monitly
Official statistics for AI agents: Eurostat, World Bank, OECD, IMF and WHO data for 150+ countries.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- LOWen list_mcp_keys
- LOWen delete_mcp_key
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": {
"monitly": {
"url": "https://monit.ly/api/mcp"
}
}
}Puntos de conexión remotos
https://monit.ly/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (21)
🟢search_catalog(query, country, source_name, limit)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"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'."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 16,
"description": "Max cards (default 8, max 16)."
}
},
"required": [
"query"
]
}🟢search_datasets(query, country, source_name, limit)
Alias of search_catalog. Find statistical datasets by query, optional country and source_name.
Esquema de entrada
{
"type": "object",
"properties": {
"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'."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 16,
"description": "Max cards (default 8, max 16)."
}
},
"required": [
"query"
]
}🟢inspect_dataset(id, country)
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.
Esquema de entrada
{
"type": "object",
"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')."
}
},
"required": [
"id"
]
}🟢get_dataset(id)
Get one dataset metadata row from main by id (includes dimensions, default_view, geos).
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Dataset id (main.id)."
}
},
"required": [
"id"
]
}🟢execute_sql(query)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "SQL SELECT against main / data only."
}
},
"required": [
"query"
]
}🟢list_plans
List Monitly plans (Essential, Pro, Enterprise) with prices and limits.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢get_plan
Current plan of the key owner: name, status, period end and limits (API/day, MCP/month, watchlist, API keys).
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢get_usage
MCP queries this billing period, REST API requests today and watchlist slots — used, limit, remaining.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟡upgrade_plan(plan_id)
Create a Stripe Checkout session for the Pro plan and return checkout_url. Open it in the browser for the user to pay.
Esquema de entrada
{
"type": "object",
"properties": {
"plan_id": {
"type": "string",
"enum": [
"pro"
],
"description": "Target plan (default 'pro')."
}
}
}🟢list_watchlist(limit, offset)
Datasets the user follows (watchlist) with source, latest period and alert status. Paginate with limit/offset.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Max rows (default 20)."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Pagination offset (default 0)."
}
}
}🟡add_to_watchlist(dataset_id)
Follow a dataset by id (from search_catalog). The user gets alerts when it updates. Respects the plan's watchlist limit.
Esquema de entrada
{
"type": "object",
"properties": {
"dataset_id": {
"type": "integer",
"description": "Dataset id (main.id) from search_catalog."
}
},
"required": [
"dataset_id"
]
}🟡add_watchlist_batch(dataset_ids)
Follow up to 100 datasets in one call. Skips duplicates and stops at the plan limit (reported in skipped_limit).
Esquema de entrada
{
"type": "object",
"properties": {
"dataset_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset ids (main.id)."
}
},
"required": [
"dataset_ids"
]
}🔴remove_from_watchlist(dataset_id)
Unfollow a dataset by id.
Esquema de entrada
{
"type": "object",
"properties": {
"dataset_id": {
"type": "integer",
"description": "Dataset id (main.id) from search_catalog."
}
},
"required": [
"dataset_id"
]
}🟡set_notification_preferences(action, email_notifications, slack_notifications, dataset_id, dataset_notifications)
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).
Esquema de entrada
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"get",
"set"
],
"description": "'get' or 'set'."
},
"email_notifications": {
"type": "boolean",
"description": "E-mail alerts for followed datasets."
},
"slack_notifications": {
"type": "boolean",
"description": "Slack alerts (webhook is configured in Settings)."
},
"dataset_id": {
"type": "integer",
"description": "Followed dataset to change."
},
"dataset_notifications": {
"type": "boolean",
"description": "Alerts for that dataset on/off."
}
},
"required": [
"action"
]
}🟢list_api_keys
Active REST API keys (mon_…) of the account: id, name, prefix, created/last used.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟡create_api_key(name)
Create a REST API key (mon_…) for /api endpoints. The raw key is returned once. Limit: 3 (Essential) / 10 (Pro).
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Label (max 100 chars)."
}
}
}🔴delete_api_key(key_id)
Revoke a REST API key by id. The last remaining key cannot be deleted.
Esquema de entrada
{
"type": "object",
"properties": {
"key_id": {
"type": "string",
"description": "Key id (uuid) from the list call."
}
},
"required": [
"key_id"
]
}🟢list_mcp_keys
Active MCP keys (mcpk_…). The key used for this session is marked current=true.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟡create_mcp_key(name)
Create another MCP key (mcpk_…), e.g. for a second client. The raw key is returned once.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Label (max 100 chars)."
}
}
}🔴delete_mcp_key(key_id)
Revoke an MCP key by id. The key used for the current session cannot be revoked here.
Esquema de entrada
{
"type": "object",
"properties": {
"key_id": {
"type": "string",
"description": "Key id (uuid) from the list call."
}
},
"required": [
"key_id"
]
}🟢export_dataset(dataset_id, countries, dimensions)
Return a CSV download URL for a dataset, optionally filtered by countries and dimension values (dim1…dim8 from inspect_dataset).
Esquema de entrada
{
"type": "object",
"properties": {
"dataset_id": {
"type": "integer",
"description": "Dataset id (main.id) from search_catalog."
},
"countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Country names, e.g. ['Poland','Germany']."
},
"dimensions": {
"type": "object",
"description": "Dimension filters, e.g. {\"dim1\": [\"Annual\"], \"dim2\": [\"Percentage\"]}."
}
},
"required": [
"dataset_id"
]
}Comunidad
Evidencia