All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
MCP Resources Support: Implemented full resources capability for providing read-only context to AI assistants
resources/list: List all available resources across applicationsresources/read: Read specific resource content by URI- Resource types: app configuration (
countly://app/{id}/config), event schemas (countly://app/{id}/events), analytics overview (countly://app/{id}/overview) - Resources provide AI context without requiring tool calls, improving efficiency
-
MCP Prompts Support: Implemented full prompts capability with 8 pre-built analysis templates
prompts/list: List all available prompt templatesprompts/get: Get specific prompt with arguments- Prompt templates:
analyze_crash_trends: Analyze crash and error patterns over timegenerate_engagement_report: Comprehensive user engagement analysiscompare_app_versions: Compare performance metrics between versionsuser_retention_analysis: Analyze retention patterns and cohort behaviorfunnel_optimization: Conversion funnel analysis with optimization suggestionsevent_health_check: Event tracking implementation quality checkidentify_churn_risk: Find users showing signs of decreased engagementperformance_dashboard: Comprehensive application performance overview
- Prompts can be exposed as slash commands in MCP clients for guided workflows
-
Hooks Module (6 tools): Webhook and automation management based on
hookspluginhooks_list: List all webhooks/hooks configured for an apphooks_test: Test hook configuration with mock data before creatinghooks_create: Create webhooks with multiple trigger types (IncomingDataTrigger, APIEndPointTrigger, InternalEventTrigger, ScheduledTrigger) and effects (HTTPEffect, EmailEffect, CustomCodeEffect)hooks_update: Update existing webhook configurationshooks_delete: Delete webhooks by IDhooks_internal_triggers_get: Get list of 23 available internal Countly events for triggers
-
Times of Day Module (1 tool): User behavior pattern analysis based on
times-of-dayplugintimes_of_day: Analyze when users are most active throughout the day/week in their local time
-
Dashboards Module (8 tools): Custom dashboard management based on
dashboardsplugindashboards_list: List all available dashboardsdashboards_data: Get widgets and data for specific dashboarddashboards_create: Create dashboards with sharing, auto-refresh, and themesdashboards_update: Update dashboard configurationdashboards_delete: Delete dashboardsdashboards_widget_add: Add widgets with full configurationdashboards_update_widget: Update widget position/size in grid layoutdashboards_widget_remove: Remove widgets from dashboard
-
Email Reports Module (7 tools): Periodic email report management based on
reportspluginemail_reports_list: List all configured email reportsemail_reports_core_create: Create reports with analytics, events, crashes, and star-rating metricsemail_reports_dashboard_create: Create reports for specific dashboardsemail_reports_update: Update report configurationemail_reports_preview: Preview reports before sendingemail_reports_send: Manually trigger report sendingemail_reports_delete: Delete report configurations
-
Server Logs Module (2 tools): Server log file access based on
errorlogspluginserver_logs_files_list: List available log files (api, dashboard, jobs)server_logs_contents: View log file contents (non-Docker deployments only)
-
Datapoint Module (3 tools): Data point monitoring for billing/capacity planning based on
server-statsplugindatapoints_stats: Get overall data point collection statisticsget_top_apps_by_datapoints: Rank apps by data point usagedatapoints_punch_card: Hourly load pattern visualization
-
Filtering Rules Module (4 tools): Request blocking management based on
blockspluginfiltering_rules_list: List all configured blocking rulesfiltering_rules_create: Create rules to block requests by IP, version, or propertiesfiltering_rules_update: Update existing blocking rulesfiltering_rules_delete: Delete blocking rules
-
Compliance Hub Module (4 tools): Data consent and privacy management based on
compliance-hubpluginlist_consents: List all consent features configured for an appget_consent_history: Get change history for a specific consent featureexport_user_data: Request data export for a specific useranonymize_user: Anonymize user data while preserving analytics
-
SDKs Module (2 tools): SDK version monitoring based on
sdkspluginget_sdks_list: List SDK versions used by appsget_sdks_stats: Get detailed SDK usage statistics
-
Logger Module (1 tool): System log viewing based on
loggerpluginget_logger_data: Retrieve and filter system logs
-
AB Testing Module (8 tools): A/B test experiment management based on
ab-testingpluginlist_experiments: List all A/B testing experimentsget_experiment: Get detailed experiment informationcreate_experiment: Create new experiments with control/variant groupsupdate_experiment: Update experiment configurationstart_experiment: Start running an experimentstop_experiment: Stop a running experimentfinish_experiment: Mark experiment as finisheddelete_experiment: Delete experiments
-
Remote Config Module (8 tools): Remote configuration management based on
remote-configpluginlist_remote_config_parameters: List all parametersget_remote_config_parameter: Get specific parameter detailscreate_remote_config_parameter: Create new parametersremote_config_parameters_update: Update parametersremote_config_parameters_delete: Delete parameterslist_remote_config_conditions: List targeting conditionscreate_remote_config_condition: Create targeting conditionsremote_config_conditions_delete: Delete conditions
-
Retention Module (1 tool): User retention analysis based on
retention_segmentspluginretention_data: Analyze user retention cohorts over time
-
Live Users Module (6 tools): Real-time concurrent user monitoring based on
concurrent_userspluginlive_users: Get current concurrent usersget_live_user_details: Get detailed information about live usersget_live_cities: See cities with active usersget_live_countries: See countries with active usersget_live_durations: Analyze session durations of live usersget_live_sources: See traffic sources of live users
-
Formulas Module (6 tools): Custom metric formula management based on
formulaspluginformulas_list: List all configured formulasget_formula: Get specific formula detailscreate_formula: Create custom metric formulasupdate_formula: Update formula configurationformulas_delete: Delete formulasget_formula_data: Get calculated formula data
-
Funnels Module (7 tools): Conversion funnel analysis based on
funnelspluginfunnels_list: List all configured funnelsfunnels_data: Get funnel conversion datafunnels_step_users: Get users who reached a specific stepfunnels_dropoff_users: Get users who dropped off between stepsfunnels_create: Create conversion funnels with multiple stepsfunnels_update: Update funnel configurationfunnels_delete: Delete funnels
-
Cohorts Module (8 tools): User cohort management based on
cohortsplugincohorts_list: List all cohortscohorts_data: Get cohort data over a periodcohorts_create: Create user cohorts with conditionscohorts_update: Update cohort configurationcohorts_delete: Delete cohortscohorts_details_users: Get users in a cohortrecalculate_cohort: Trigger cohort recalculationcohorts_details_user_count: Get current user count
-
User Profiles Module (4 tools): App user profile management based on
userspluginsearch_user_profiles: Search users with filters and sortingget_user_profile: Get detailed user profileexport_user_profiles: Export user data to CSVget_user_profile_schema: Get available user properties
-
Drill Module (5 tools): Advanced query and segmentation based on
drillplugindrill_query: Execute custom drill queriesget_drill_meta: Get available drill propertiesget_drill_bookmarks: List saved drill queriesdrill_bookmarks_create: Save drill queriesdrill_bookmarks_delete: Delete saved queries
-
Core Module Enhancements (2 additional tools):
jobs_list: List background jobs with pagination and sortingjob_runs: Get execution history for specific jobs
-
Analytics Module Enhancements (4 additional tools):
user_loyalty: Analyze user loyalty and session count distributionsession_durations: Analyze session duration patternssession_frequency: Analyze time between user sessionsslipping_users: Identify users becoming inactive
- Tool Count: Expanded from 27 tools to 132 tools across 30 categories
- Plugin Coverage: Added support for 21 additional Countly plugins
- Plugin Availability: Automatically check plugin availability for specific tools, ensuring only compatible tools are exposed based on server configuration
- URL Parameter Authentication: Added support for passing Server URL and auth token as URL parameters for flexible authentication
- Analytics Tracking: Added comprehensive anonymous usage analytics with opt-out capability
- Error Handling: Improved API error messages and formatting throughout all modules
- Testing: Expanded test suite with 223 tests including analytics, transport, and tool configuration tests
- Documentation: Updated README with all new modules and tool descriptions
- Configuration: Added plugin-based tool filtering and availability checks
- Home Page: Added informational home page with basic project information and links
- Server Discovery: Added
.well-known/mcp-manifest.jsonendpoint for automated server discovery and capability detection
- Security Updates: Updated SECURITY.md with vulnerability levels and reward structure
- URL Handling: Improved URL parameter support for server URL and auth token
- Added 748 new analytics tests covering tracking, sessions, events, and error handling
- Added 141 core tools tests for new job management features
- Added 399 error handler tests for improved error scenarios
- Added comprehensive transport integration tests for stdio and HTTP/SSE modes
- Updated tool configuration tests to cover all 30 categories and 132 tools
1.0.1 - 2025-11-07
- Transport Integration Tests: Added comprehensive integration tests for both stdio and HTTP/SSE transports (
tests/transport.test.ts)- 13 new tests covering initialization, tool listing, health checks, CORS, and SSE streaming
- Tests validate both stdio and HTTP/SSE transport modes work correctly
- HTTP Header Authentication: Added support for passing Countly credentials via custom HTTP headers
X-Countly-Server-Urlheader for specifying server URLX-Countly-Auth-Tokenheader for authentication token- Headers are extracted and applied dynamically per request
- npm Publishing Workflow: Added GitHub Actions workflow for automated npm package publishing on version tags
- Upgraded Transport Layer: Migrated from deprecated
SSEServerTransportto modernStreamableHTTPServerTransport- Uses MCP protocol version 2025-03-26 (Streamable HTTP specification)
- Operates in stateless mode (
sessionIdGenerator: undefined) for better client compatibility - Eliminates "legacy SSE" warnings in VS Code and other MCP clients
- Enhanced Authentication Flexibility:
- Server URL is now optional in environment variables - can be provided via HTTP headers or client configuration
- Credentials fallback logic: metadata → args → config (from headers) → environment → file
getCredentials()method now checksthis.config.authTokenas fallback (set from HTTP headers)
- Docker Configuration Improvements:
- Updated documentation to reflect environment-based configuration
- Enhanced Dockerfile with proper build stages and health checks
- Documentation Updates:
- Updated
.env.examplewith clearer instructions for HTTP header-based authentication - Enhanced
README.mdwith transport configuration examples - Updated
DOCKER.mdwith secure configuration practices - Updated VS Code MCP integration example (
examples/vscode-mcp.md)
- Updated
- Security: ReDoS Vulnerability: Fixed Regular Expression Denial of Service (ReDoS) vulnerability in URL normalization
- Replaced regex
/\/+$/with iterativewhileloop approach - Prevents potential DoS attacks via maliciously crafted URLs
- Applied fix in both
src/index.tsandsrc/lib/config.ts
- Replaced regex
- Test Suite Improvements:
- Updated authentication tests to reflect new priority order
- Fixed test expectations for optional server URL configuration
- Updated error messages in tests to match new authentication flow
- ReDoS Mitigation: Fixed Regular Expression Denial of Service vulnerability in URL normalization (CodeQL alert)
1.0.0 - 2025-10-29
Initial release of Countly MCP Server.
- Model Context Protocol (MCP) server for Countly analytics platform
- Support for stdio and HTTP/SSE transport layers
- Comprehensive Countly API integration:
- Analytics data retrieval (sessions, users, locations, events, etc.)
- Crash analytics
- App management
- Dashboard users management
- Alerts configuration
- Notes management
- Views analytics
- Database operations
- Event management
- App user management
- Environment-based configuration
- Docker support with multi-architecture builds
- Comprehensive test suite
- GitHub Actions CI/CD integration