{"name":"io.github.ContentWriterco/monitly","slug":"contentwriterco-monitly","title":"Monitly","description":"Official statistics for AI agents: Eurostat, World Bank, OECD, IMF and WHO data for 150+ countries.","url":"https://mcp.market/server/contentwriterco-monitly","rating":null,"grade":"A","score":89,"certified":false,"status":"active","category":"finance","tags":["finance"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-09T15:38:56.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-02T10:01:04.611Z","last_ok_at":"2026-11-02T10:01:04.611Z","latency_ms":50},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/ContentWriterco/Monitly-MCP","website":"https://monit.ly/mcp-docs","version":"1.2.0","remotes":[{"type":"streamable-http","url":"https://monit.ly/api/mcp","headers":[{"description":"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","format":"string","isSecret":true,"placeholder":"Bearer mcpk_YOUR_KEY_HERE","name":"Authorization"}]}],"packages":[],"tools":[{"name":"add_to_watchlist","description":"Follow a dataset by id (from search_catalog). The user gets alerts when it updates. Respects the plan's watchlist limit.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"dataset_id":{"type":"integer","description":"Dataset id (main.id) from search_catalog."}},"required":["dataset_id"]}},{"name":"add_watchlist_batch","description":"Follow up to 100 datasets in one call. Skips duplicates and stops at the plan limit (reported in skipped_limit).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"dataset_ids":{"type":"array","items":{"type":"integer"},"description":"Dataset ids (main.id)."}},"required":["dataset_ids"]}},{"name":"create_api_key","description":"Create a REST API key (mon_…) for /api endpoints. The raw key is returned once. Limit: 3 (Essential) / 10 (Pro).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","description":"Label (max 100 chars)."}}}},{"name":"create_mcp_key","description":"Create another MCP key (mcpk_…), e.g. for a second client. The raw key is returned once.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","description":"Label (max 100 chars)."}}}},{"name":"delete_api_key","description":"Revoke a REST API key by id. The last remaining key cannot be deleted.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"key_id":{"type":"string","description":"Key id (uuid) from the list call."}},"required":["key_id"]}},{"name":"delete_mcp_key","description":"Revoke an MCP key by id. The key used for the current session cannot be revoked here.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"key_id":{"type":"string","description":"Key id (uuid) from the list call."}},"required":["key_id"]}},{"name":"execute_sql","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","description":"SQL SELECT against main / data only."}},"required":["query"]}},{"name":"export_dataset","description":"Return a CSV download URL for a dataset, optionally filtered by countries and dimension values (dim1…dim8 from inspect_dataset).","write_action":false,"price_micros":0,"input_schema":{"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"]}},{"name":"get_dataset","description":"Get one dataset metadata row from main by id (includes dimensions, default_view, geos).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"integer","description":"Dataset id (main.id)."}},"required":["id"]}},{"name":"get_plan","description":"Current plan of the key owner: name, status, period end and limits (API/day, MCP/month, watchlist, API keys).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get_usage","description":"MCP queries this billing period, REST API requests today and watchlist slots — used, limit, remaining.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"inspect_dataset","description":"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.","write_action":false,"price_micros":0,"input_schema":{"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"]}},{"name":"list_api_keys","description":"Active REST API keys (mon_…) of the account: id, name, prefix, created/last used.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_mcp_keys","description":"Active MCP keys (mcpk_…). The key used for this session is marked current=true.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_plans","description":"List Monitly plans (Essential, Pro, Enterprise) with prices and limits.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_watchlist","description":"Datasets the user follows (watchlist) with source, latest period and alert status. Paginate with limit/offset.","write_action":false,"price_micros":0,"input_schema":{"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)."}}}},{"name":"remove_from_watchlist","description":"Unfollow a dataset by id.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"dataset_id":{"type":"integer","description":"Dataset id (main.id) from search_catalog."}},"required":["dataset_id"]}},{"name":"search_catalog","description":"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.","write_action":false,"price_micros":0,"input_schema":{"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"]}},{"name":"search_datasets","description":"Alias of search_catalog. Find statistical datasets by query, optional country and source_name.","write_action":false,"price_micros":0,"input_schema":{"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"]}},{"name":"set_notification_preferences","description":"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).","write_action":false,"price_micros":0,"input_schema":{"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"]}},{"name":"upgrade_plan","description":"Create a Stripe Checkout session for the Pro plan and return checkout_url. Open it in the browser for the user to pay.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"plan_id":{"type":"string","enum":["pro"],"description":"Target plan (default 'pro')."}}}}],"scan":{"score":89,"grade":"A","scanned_at":"2026-10-13T23:18:43.036Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-13T23:18:43.006Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1625ms"]},"poisoning":{"score":15,"max":15,"notes":["21 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"probes":[{"url":"https://monit.ly/api/mcp","reachable":true,"authRequired":false,"latencyMs":1625,"serverInfo":{"name":"monitly","version":"1.2.0"}}],"packages":[],"repo":{"found":true,"owner":"ContentWriterco","repo":"Monitly-MCP","archived":false,"pushedAt":"2026-10-09T15:38:56Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/210391651?v=4","ownerCreatedAt":"2025-05-05T14:58:52Z","license":"MIT"},"icon":{"url":"https://monit.ly/logo1000px.png","source":"registry","width":1000,"height":1000},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-10-09T15:38:56.000Z","score":23}}}},"grade_history":[],"reviews":[]}