127 tools from the Countly MCP Server, categorised by risk level.
View the Countly policy →ab_experiments_details Get full details for one A/B testing experiment via /o/ab-testing/experiment-detail (variants, goals, per-variant results, statistical significance... ab_experiments_list List A/B testing experiments for an app (names, statuses, variants, and optionally computed results). Requires the ab-testing plugin. For full per-... alerts_list List configured alerts for an app via /o/alert/list (names, monitored metrics, thresholds, delivery channels, enabled state). Requires the alerts p... app_analytics_summary Get a high-level analytics overview for a specific app (sessions, users, events, and retention for the chosen period). Use this when the user alrea... apps_get_by_name Look up a single app by its exact name (case-insensitive) and return its full record (_id, keys, category, timezone, etc.). Errors if no app matche... apps_list List every Countly application the authenticated user can access, with each app name and _id. Use this first whenever an app_id is needed but unkno... cohorts_data Get time-series membership data for a single cohort over a period (how the cohort population evolved). Requires the cohorts plugin. To list availab... cohorts_list List user cohorts (behavioral or manual user groupings) with pagination, type filter, and name search. Requires the cohorts plugin. For historical ... collections_indexes List indexes defined on a MongoDB collection (keys, options, sizes) via /o/db?action=get_indexes. Requires the dbviewer plugin. consents_history_search Search the audit trail of consent changes (each grant/revoke event with user, consent type, and timestamp) via /o/consent/search. Requires the comp... consents_list List users with their current consent status (which consent types each user has given or denied) via /o/app_users/consents. Requires the compliance... consents_stats Get aggregated consent statistics for an app (counts and trends of given/denied consents by type) via /o?method=consents. Requires the compliance-h... crash_groups_list List crash groups (deduplicated crash/error buckets) for an app with pagination and optional MongoDB filter, via /o?method=crashes. Requires the cr... crashes_get Get detailed data for a single crash group (stack trace, affected users, device/app-version breakdown, comments) via /o?method=crashes&group=. Requ... crashes_hide Hide a crash group from default listings (data is preserved) via /i/crashes/hide. Requires the crashes plugin. To reveal again use crashes_show. crashes_show Reveal a previously hidden crash group in listings via /i/crashes/show. Requires the crashes plugin. To hide again use crashes_hide. crashes_stats_get Get overall crash statistics and time-series graph data for an app via /o?method=crashes&graph=1. Requires the crashes plugin. To see individual cr... dashboard_users List every dashboard user (Countly admin/management accounts that log into the dashboard) via /o/users/all. Takes no arguments. This is NOT for app... dashboards_data Get a dashboard including its widgets and computed data for the given period via /o/dashboards. Requires the dashboards plugin. To list dashboards ... dashboards_list List custom dashboards accessible to the current user via /o/dashboards/all. Requires the dashboards plugin. For widgets and live data of one dashb... databases_document Fetch a single MongoDB document by _id from a given collection via /o/db. Requires the dbviewer plugin. For multi-document queries use databases_qu... databases_list List MongoDB databases and collections exposed by the Countly dbviewer (typically countly, countly_drill, countly_out, countly_fs) via /o/db. Requi... databases_query Run a raw MongoDB find() query on a Countly collection with filter, projection, sort, and pagination via /o/db. Requires the dbviewer plugin. For a... databases_stats Get live MongoDB process statistics ("mongotop" per-collection timings or "mongostat" server-wide counters) via /o/db/mongotop or /o/db/mongostat. ... datapoints_punch_card Get a weekday x hour punch-card of data-point volume (load distribution across the week) via /o/server-stats/punch-card. Requires the server-stats ... datapoints_stats Get data-point counts per app per datapoint type (the billing/usage metric) via /o/server-stats/data-points. Requires the server-stats plugin. For ... datapoints_top_apps Rank apps by data-point volume over a period via /o/server-stats/top. Requires the server-stats plugin. For the full per-type breakdown use datapoi... drill_bookmarks_list List saved drill bookmarks (persisted drill query definitions) for an event. Requires the drill plugin. To create one use drill_bookmarks_create; t... email_reports_list List scheduled email reports (core and dashboard) configured for an app via /o/reports/all. Requires the reports plugin. To create new reports use ... events_list List event definitions for an app: custom events (key, display name, category, segments) via /o?method=get_events, plus the built-in [CLY]_* events... filtering_rules_list List ingestion filtering (block) rules for an app via /o/blocks. Rules drop incoming requests, sessions, or events matching a MongoDB condition bef... filtering_rules_toggle_status Enable or disable one or more existing filtering rules without changing their condition, via /i/blocks/toggle_status. Requires the blocks plugin. F... formulas_list List saved calculated-metric formulas for an app (metadata and definitions) via /o/calculated_metrics/metrics. Requires the formulas plugin. To run... funnels_data Get per-step conversion data (counts, drop-off, rates) for one funnel in a period, via /o?method=funnel. Requires the funnels plugin. For the users... funnels_dropoff_users Return UIDs of users who dropped off between two steps of a funnel, via /o?method=funnel&users_between_steps=. Requires the funnels plugin. For use... funnels_list List conversion funnels with configurations and rollup metrics, paginated and optionally name-filtered, via /o?method=get_funnels. Requires the fun... funnels_step_users Return UIDs of users who reached a specific funnel step in the given period, via /o?method=funnel&users_for_step=. Requires the funnels plugin. For... get_plugins List plugins currently enabled on the Countly server via /o/system/plugins. Takes no arguments. Use this to confirm a plugin is available before ca... get_version Return the Countly server version string and edition via /o/system/version. Takes no arguments. hooks_list List hooks (triggers + effects: webhooks, emails, custom code, scheduled jobs) configured for an app via /o/hook/list. Requires the hooks plugin. T... hooks_test Dry-run a hook configuration with optional mock data via /i/hook/test (evaluates trigger match and runs effects in test mode). Requires the hooks p... live_last_30_days Get per-day online/new-user counts for the last 30 days (30 data points) via /o?method=concurrent&mode=4. Requires the concurrent_users plugin. For... live_last_day Get per-hour online/new-user counts for the last 24 hours (24 data points) via /o?method=concurrent&mode=3. Requires the concurrent_users plugin. F... live_last_hour Get per-minute online/new-user counts for the last 60 minutes (60 data points) via /o?method=concurrent&mode=2. Requires the concurrent_users plugi... live_metrics Get the country/device/carrier breakdown of users currently online via /o?method=concurrent&mode=1. Requires the concurrent_users plugin. For the s... live_overall Get the all-time peak concurrent online-users and peak new-users records for an app via /o?method=concurrent&mode=5. Requires the concurrent_users ... live_users Get the current online user count and current new-user count (a single snapshot) via /o?method=concurrent&mode=0. Requires the concurrent_users plu... metadata_get Get a consolidated metadata report for an app: custom events, built-in events ([CLY]_session, [CLY]_view, [CLY]_crash, [CLY]_push_action) with thei... notes_list List dashboard notes (annotations) for an app within a time period via /o?method=notes. String periods are converted to [start,end] millisecond ran... ping Ping the Countly server (/o/ping) to verify it is reachable and responding. Takes no arguments. Use as a quick liveness check before running other ... queriable_fields_list List queryable fields for an app: user properties (up.*), custom properties (custom.*), campaign properties (cmp.*), and (when event is supplied) t... query_data Query analytics data in one of three modes selected by query_type: "analytics" for built-in breakdowns (locations, devices, carriers, app versions,... remote_configs_list List all remote-config parameters and segment conditions defined for an app via /o?method=remote-config. Requires the remote-config plugin. Use bef... retention Compute user retention (cohort return curves) for an app via /o?method=retention. Requires the retention_segments plugin. Offers three modes: "full... sdk_config_get Get the SDK configuration object Countly serves to client SDKs for this app (feature flags, tracking toggles, rate limits) via /o?method=sdk-config... sdk_logs_list List raw incoming SDK request/response log entries for an app via /o?method=logs. Used for debugging SDK payloads (device_id, timestamp, payload). ... sdk_stats_get Get per-SDK usage statistics for an app (SDK names, versions, request-type breakdown, health checks) via /o?method=sdks. Requires the sdks plugin. ... server_logs_contents Read the tail of a Countly server log file via /o/errorlogs. Returns up to "bytes" bytes for debugging. Requires the errorlogs plugin (non-Docker d... server_logs_files_list List server-side log files available via /o/errorlogs (api, dashboard, jobs, etc.) on non-Docker Countly deployments. Requires the errorlogs plugin... session_durations Get the session-duration distribution for an app via /o/analytics/durations: counts of sessions bucketed by length (0-10s, 11-30s, 31-60s, 1-3m, 3-... session_frequency Get the session-frequency distribution for an app via /o/analytics/frequency: how many sessions occurred at each return-interval bucket (f=0 first,... slipping_users List app users who have not returned within a given inactivity window (churn-risk cohort) via /o/slipping. Use this to identify re-engagement targe... times_of_day Get a weekday x hour heatmap of user activity in users' local time for a given event via /o?method=times-of-day. Requires the times-of-day plugin. ... user_loyalty Get the user-loyalty distribution for an app via /o/app_users/loyalty: counts of users bucketed by lifetime session count (1, 2, 3-5, 6-9, 10-19, 2... user_profiles_breakdown Group app-user profiles by one or more properties and count users per bucket via /o?method=user_details&projectionKey=. Requires the users plugin. ... user_profiles_get Get the full profile of a single app-user by UID via /o?method=user_details. Requires the users plugin. For bulk listing use user_profiles_query; f... user_profiles_query Query end-user (app_user) profiles by MongoDB filter via /o?method=user_details. Requires the users plugin. Field names are used WITHOUT the "up." ... views_data Get time-series data for selected views with optional segment filter via /o?method=views. Requires the views plugin. To list views use views_table;... views_table List tracked screens/pages (views) with aggregate metrics per view via /o?method=views&action=getTable. Paginated. Requires the views plugin. For t... ab_experiments_create Create an A/B testing experiment with variants, user targeting, and optional goals. Requires the ab-testing plugin. Creates the experiment in draft... alerts_create Create or update an alert (threshold monitor on crashes, sessions, users, events, views, cohorts, NPS, ratings, revenue, etc.) via /i/alert/save. R... app_users_create Create an app-user profile (end-user tracked in the app, keyed by device ID) via /i/app_users/create. This is for end-user profiles; to create a Co... app_users_update Update app-user profiles matching a MongoDB query via /i/app_users/update, using MongoDB update operators ($set, $inc, $push, etc.). Can affect man... apps_create Create a new Countly application via /i/apps/create. Requires global admin privileges. Returns the created app including its _id and API keys. apps_update Update mutable fields of an existing Countly app (name, country, timezone, category) via /i/apps/update. Only supplied fields change. For creating ... cohorts_create Create a behavioral cohort from event-based steps plus optional user-property filters via /i/cohorts/add. Requires the cohorts plugin. For editing ... cohorts_update Update an existing cohort via /i/cohorts/edit. Only supplied fields change; others are preserved from the current cohort. Requires the cohorts plugin. crashes_comment_add Post a new comment on a crash group via /i/crashes/add_comment. Requires the crashes plugin. To change an existing comment use crashes_comment_update. crashes_comment_update Replace the text of an existing crash-group comment via /i/crashes/edit_comment. Requires the crashes plugin. To remove the comment use crashes_com... crashes_resolve Mark a crash group as resolved (it stays visible but is flagged fixed) via /i/crashes/resolve. Requires the crashes plugin. To reopen use crashes_u... dashboards_create Create an empty custom dashboard via /i/dashboards/create. Requires the dashboards plugin. Add widgets afterwards with dashboards_widget_add. dashboards_update Update settings on an existing dashboard (name, sharing, theme, refresh) via /i/dashboards/update. Only supplied fields change. Requires the dashbo... dashboards_widget_add Add a widget (analytics, events, crashes, drill, SDK, cohorts, formulas, push, funnels, revenue, times-of-day, retention, users, or note) to a dash... dashboards_widget_update Update fields on an existing dashboard widget (commonly position, size, or config) via /i/dashboards/update-widget. Requires the dashboards plugin.... drill_bookmarks_create Save a drill query as a reusable bookmark (event, filter, breakdown, visualization) via /i/drill/add_bookmark. Requires the drill plugin. To list e... email_reports_core_create Create a scheduled "core" email report covering analytics, events, crashes, and star-rating for one or more apps via /i/reports/create?report_type=... email_reports_dashboard_create Create a scheduled email report built from a specific custom dashboard via /i/reports/create?report_type=dashboards. Requires the reports plugin (a... email_reports_preview Render an email report preview without delivering it (for inspection) via /i/reports/preview. Requires the reports plugin. To actually send use ema... email_reports_send Send an email report to its configured recipients immediately (outside its normal schedule) via /i/reports/send. Requires the reports plugin. To se... email_reports_update Update fields on an existing email report (schedule, recipients, toggle enabled, etc.) via /i/reports/update. Only supplied fields change. Requires... events_create Create or update metadata (display name, description, category) for an event key via /i/events/edit_map. Segments are populated automatically by SD... filtering_rules_create Create an ingestion filter that drops incoming requests, sessions, or specific events matching a MongoDB condition, via /i/blocks/create. Requires ... filtering_rules_update Replace the configuration of an existing filtering rule (full payload: type, name, rule, key, status) via /i/blocks/update. Requires the blocks plu... formulas_save Persist a calculated-metric formula for later reuse (listable via formulas_list, runnable via formulas_run). Posts to /i/calculated_metrics/save. R... funnels_create Create a new conversion funnel (ordered steps, per-step filters, session scope) via /i/funnels/add. Requires the funnels plugin. The queries, query... funnels_update Update an existing funnel (name, description, type, steps, filters, step groups) via /i/funnels/edit. Only supplied fields change; others are prese... hooks_create Create a hook (persistent trigger + effects binding) via /i/hook/save. Requires the hooks plugin. To change an existing hook use hooks_update; to t... hooks_update Update an existing hook via /i/hook/save (the tool fetches the current hook first, merges supplied fields, and saves). Requires the hooks plugin. N... notes_create Create a timestamped note on an app (annotation that appears on dashboard graphs) via /i/notes/save. Notes are handy for marking releases, incident... remote_config_conditions_add Create a user-segmentation condition that remote-config parameters can reference to serve variant values, via /i/remote-config/add-condition. Requi... remote_config_conditions_update Replace the configuration of an existing remote-config condition via /i/remote-config/update-condition. Requires the remote-config plugin. remote_config_parameters_add Create a remote-config parameter (key + default value + per-condition overrides) that SDKs fetch to control app behavior, via /i/remote-config/add-... remote_config_parameters_update Replace an existing remote-config parameter (values, conditions, status) via /i/remote-config/update-parameter. Requires the remote-config plugin. ab_experiments_delete Delete an A/B testing experiment and all its collected data. Requires the ab-testing plugin. WARNING: irreversible. To temporarily halt without dat... alerts_delete Delete an alert configuration via /i/alert/delete. Requires the alerts plugin. WARNING: irreversible. To temporarily disable instead, update the al... app_users_delete Delete app-user profiles matching a MongoDB query via /i/app_users/delete. By default rejects multi-match deletions unless force=true. WARNING: irr... apps_delete Permanently delete a Countly app and all its data via /i/apps/delete. Requires global admin privileges. WARNING: irreversible. To wipe analytics da... apps_reset Delete all analytics data for an app (sessions, events, users, crashes, etc.) while keeping the app record and keys intact, via /i/apps/reset. Requ... cohorts_delete Delete a cohort definition via /i/cohorts/delete. Requires the cohorts plugin. WARNING: irreversible. crashes_comment_delete Delete a single comment from a crash group via /i/crashes/delete_comment. Requires the crashes plugin. WARNING: irreversible. crashes_unresolve Reopen a previously resolved crash group (clear the resolved flag) via /i/crashes/unresolve. Requires the crashes plugin. To resolve use crashes_re... dashboards_delete Delete a custom dashboard and all its widgets via /i/dashboards/delete. Requires the dashboards plugin. WARNING: irreversible. dashboards_widget_remove Remove a single widget from a dashboard via /i/dashboards/remove-widget. Requires the dashboards plugin. WARNING: irreversible. To delete the whole... drill_bookmarks_delete Delete a saved drill bookmark via /i/drill/delete_bookmark. Requires the drill plugin. WARNING: irreversible. email_reports_delete Delete an email report configuration via /i/reports/delete. Requires the reports plugin. WARNING: irreversible. To disable temporarily set enabled=... events_delete Delete one or more event definitions and all their historical data via /i/events/delete_events. WARNING: irreversible. For creating/updating defini... filtering_rules_delete Permanently delete a filtering rule via /i/blocks/delete; matching requests will no longer be dropped. Requires the blocks plugin. WARNING: irrever... formulas_delete Delete a saved calculated-metric formula by _id via /i/calculated_metrics/delete. Requires the formulas plugin. WARNING: irreversible. funnels_delete Delete a funnel definition via /i/funnels/delete. Requires the funnels plugin. WARNING: irreversible. hooks_delete Delete a hook by its _id via /i/hook/delete. Requires the hooks plugin. WARNING: irreversible. To disable without deleting set enabled=false via ho... notes_delete Delete a single note by its _id via /i/notes/delete. WARNING: irreversible. Unlike other tools in this file, this endpoint is app-agnostic and does... remote_config_conditions_delete Delete a remote-config segmentation condition via /i/remote-config/remove-condition. Fails if any parameter still references the condition. Require... remote_config_parameters_delete Delete a remote-config parameter via /i/remote-config/remove-parameter. After deletion, SDKs will stop receiving it. Requires the remote-config plu... ab_experiments_start Start a draft A/B testing experiment so variants begin serving to targeted users and data collection begins. Requires the ab-testing plugin. To hal... ab_experiments_stop Stop a running A/B testing experiment; variants stop being served but collected results remain available. Requires the ab-testing plugin. To remove... collections_aggregate Run a MongoDB aggregation pipeline on a collection via /o/db. Requires the dbviewer plugin. For simple find queries use databases_query. formulas_run Execute a calculated-metric formula combining sessions, users, events, and numeric values with filters and segments, via /o?method=calculated_metri... The Countly MCP server exposes 127 tools across 4 categories: Read, Write, Destructive, Execute.
Use Intercept, the open-source MCP proxy. Write YAML rules for each tool — rate limits, argument validation, or deny rules — then run Intercept in front of the Countly server.
Countly tools are categorised as Read (69), Write (34), Destructive (20), Execute (4). Each category has a recommended default policy.
Deterministic policy on every MCP tool call. Per-identity grants. Full audit log.