elasticsearch-mcp-vsee 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +2 -2
  2. package/build/elasticsearch/client.js.map +1 -1
  3. package/build/server.js +25 -25
  4. package/build/server.js.map +1 -1
  5. package/build/tools/find-entities-by-metric.d.ts +7 -0
  6. package/build/tools/find-entities-by-metric.d.ts.map +1 -1
  7. package/build/tools/find-entities-by-metric.js +121 -54
  8. package/build/tools/find-entities-by-metric.js.map +1 -1
  9. package/build/tools/get-account-summary.d.ts.map +1 -1
  10. package/build/tools/get-account-summary.js +23 -15
  11. package/build/tools/get-account-summary.js.map +1 -1
  12. package/build/tools/get-dashboard-summary.js +2 -2
  13. package/build/tools/get-dashboard-summary.js.map +1 -1
  14. package/build/tools/get-group-summary.d.ts +1 -6
  15. package/build/tools/get-group-summary.d.ts.map +1 -1
  16. package/build/tools/get-group-summary.js +103 -126
  17. package/build/tools/get-group-summary.js.map +1 -1
  18. package/build/tools/get-index-fields.js.map +1 -1
  19. package/build/tools/get-platform-breakdown.d.ts.map +1 -1
  20. package/build/tools/get-platform-breakdown.js +28 -17
  21. package/build/tools/get-platform-breakdown.js.map +1 -1
  22. package/build/tools/get-rating-distribution.d.ts.map +1 -1
  23. package/build/tools/get-rating-distribution.js +22 -13
  24. package/build/tools/get-rating-distribution.js.map +1 -1
  25. package/build/tools/get-subscription-breakdown.d.ts +36 -0
  26. package/build/tools/get-subscription-breakdown.d.ts.map +1 -0
  27. package/build/tools/get-subscription-breakdown.js +217 -0
  28. package/build/tools/get-subscription-breakdown.js.map +1 -0
  29. package/build/tools/get-summary.d.ts +52 -0
  30. package/build/tools/get-summary.d.ts.map +1 -0
  31. package/build/tools/get-summary.js +286 -0
  32. package/build/tools/get-summary.js.map +1 -0
  33. package/build/tools/get-visit-trends.d.ts.map +1 -1
  34. package/build/tools/get-visit-trends.js +74 -12
  35. package/build/tools/get-visit-trends.js.map +1 -1
  36. package/build/tools/index.d.ts +4 -4
  37. package/build/tools/index.d.ts.map +1 -1
  38. package/build/tools/index.js +4 -4
  39. package/build/tools/index.js.map +1 -1
  40. package/build/tools/period-summary.js +1 -1
  41. package/build/tools/period-summary.js.map +1 -1
  42. package/build/tools/search-elasticsearch.d.ts.map +1 -1
  43. package/build/tools/search-elasticsearch.js +3 -2
  44. package/build/tools/search-elasticsearch.js.map +1 -1
  45. package/build/tools/top-change.d.ts.map +1 -1
  46. package/build/tools/top-change.js +58 -15
  47. package/build/tools/top-change.js.map +1 -1
  48. package/build/utils/aggregation-limits.d.ts +23 -0
  49. package/build/utils/aggregation-limits.d.ts.map +1 -0
  50. package/build/utils/aggregation-limits.js +32 -0
  51. package/build/utils/aggregation-limits.js.map +1 -0
  52. package/build/utils/date-math.d.ts +25 -0
  53. package/build/utils/date-math.d.ts.map +1 -0
  54. package/build/utils/date-math.js +62 -0
  55. package/build/utils/date-math.js.map +1 -0
  56. package/build/utils/field-constants.d.ts +23 -0
  57. package/build/utils/field-constants.d.ts.map +1 -0
  58. package/build/utils/field-constants.js +26 -0
  59. package/build/utils/field-constants.js.map +1 -0
  60. package/build/validation/schemas.d.ts +2 -2
  61. package/build/validation/schemas.d.ts.map +1 -1
  62. package/build/validation/schemas.js +4 -5
  63. package/build/validation/schemas.js.map +1 -1
  64. package/package.json +1 -1
package/README.md CHANGED
@@ -95,13 +95,13 @@ After publishing a new version to npm:
95
95
  | `search_elasticsearch` | Advanced search with aggregations | Custom queries, data analysis |
96
96
  | `get_index_fields` | Discover index fields and types | Schema exploration, field discovery |
97
97
  | `top_change` | Find top accounts or groups with highest visit increase/decrease | Trend analysis, account/group monitoring |
98
- | `period_summary` | Weekly/monthly/yearly summaries by subscription | Period-based reporting |
98
+ | `get_subscription_breakdown` | Compare subscription tiers with metrics per tier | Subscription-tier analysis and comparisons |
99
99
  | `get_account_summary` | Comprehensive statistics for a specific account | Account analytics, performance review |
100
100
  | `get_group_summary` | Group statistics with account breakdown | Group management, resource allocation |
101
101
  | `get_platform_breakdown` | Platform or platform version breakdown (provider/patient, platform/version) | Platform adoption, device preferences, version analysis |
102
102
  | `get_rating_distribution` | Rating histograms with statistics | Satisfaction analysis |
103
103
  | `get_visit_trends` | Time series visit trends (daily/weekly/monthly) | Trend visualization |
104
- | `get_dashboard_summary` | High-level dashboard metrics overview | Executive dashboards, KPIs |
104
+ | `get_summary` | Comprehensive metrics summary with flexible filtering and grouping | Multi-dimensional analysis and comparisons |
105
105
 
106
106
  ## 📋 Tool Examples
107
107
 
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/elasticsearch/client.ts"],"names":[],"mappings":";;;AAAA,0DAA+D;AAY/D,MAAa,oBAAoB;IACvB,MAAM,GAAkB,IAAI,CAAC;IAC7B,MAAM,CAAgB;IACtB,MAAM,CAAS;IACf,cAAc,CAAiB;IAC/B,mBAAmB,GAA0B,IAAI,CAAC;IAE1D,YAAY,MAAqB,EAAE,MAAc;QAC/C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,GAAG;YACpB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI,IAAI,EAAE;SAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBACpD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAChD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC/B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;aAC5B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAkB;gBACnC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC1C,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;aAC/E,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxB,aAAa,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACvB,aAAa,CAAC,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtD,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5B,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACtC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACvB,aAAa,CAAC,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtD,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC5B,aAAa,CAAC,IAAI,GAAG;wBACnB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;wBACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;qBACpC,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACpB,aAAa,CAAC,GAAG,GAAG;oBAClB,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB;iBACvD,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,IAAI,sBAAM,CAAC,aAAa,CAAC,CAAC;YAExC,iFAAiF;YACjF,qEAAqE;YACrE,IAAI,CAAC,cAAc,GAAG;gBACpB,WAAW,EAAE,IAAI;gBACjB,eAAe,EAAE,IAAI,IAAI,EAAE;aAC5B,CAAC;YAEF,+DAA+D;YAC/D,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,EAAE,KAAc,CAAC,CAAC;YACnF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,cAAc,GAAG;gBACpB,WAAW,EAAE,KAAK;gBAClB,eAAe,EAAE,IAAI,IAAI,EAAE;gBAC3B,KAAK,EAAE,wBAAwB;aAChC,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,4DAA4D;QAC5D,wFAAwF;QACxF,sEAAsE;QACtE,IAAI,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,IAAI,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAE7D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,8EAA8E;QAC9E,0EAA0E;QAC1E,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,iBAAiB;QACf,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IAEO,qBAAqB;QAC3B,gEAAgE;QAChE,0EAA0E;QAC1E,4DAA4D;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAExD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,KAAK,CAAC;IAC1C,CAAC;CACF;AA9ID,oDA8IC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/elasticsearch/client.ts"],"names":[],"mappings":"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"}
package/build/server.js CHANGED
@@ -79,7 +79,7 @@ class ElasticMCPServer {
79
79
  type: 'number',
80
80
  minimum: 0,
81
81
  maximum: 10000,
82
- description: 'Number of results to return (use 0 for aggregation-only queries)',
82
+ description: 'Number of results to return (use 0 for aggregation-only queries). Recommended: do not set over 10 for optimal performance.',
83
83
  default: 10,
84
84
  },
85
85
  from: {
@@ -161,20 +161,20 @@ class ElasticMCPServer {
161
161
  minimum: 1,
162
162
  maximum: 100,
163
163
  default: 10,
164
- description: 'Number of top items to return (default: 10, max: 100)',
164
+ description: 'Number of top items to return (default: 10, max: 100). Recommended: do not set over 10.',
165
165
  },
166
166
  currentPeriodDays: {
167
167
  type: 'number',
168
168
  minimum: 1,
169
169
  maximum: 365,
170
170
  default: 30,
171
- description: 'Number of days for current period (default: 30)',
171
+ description: 'Number of days for current period (default: 30). Recommended: 30-60 days maximum to prevent data limit errors. Tool automatically caps at 60 days. Note: This tool aggregates ALL accounts before sorting, so large periods can cause memory issues.',
172
172
  },
173
173
  previousPeriodDays: {
174
174
  type: 'number',
175
175
  minimum: 1,
176
176
  maximum: 365,
177
- description: 'Number of days for previous period (defaults to same as currentPeriodDays)',
177
+ description: 'Number of days for previous period (defaults to same as currentPeriodDays). Recommended: 30-60 days maximum. Tool automatically caps at 60 days. Note: Large periods can cause memory issues as all accounts must be aggregated first.',
178
178
  },
179
179
  subscription: {
180
180
  type: 'string',
@@ -190,8 +190,8 @@ class ElasticMCPServer {
190
190
  },
191
191
  },
192
192
  {
193
- name: 'period_summary',
194
- description: 'Get weekly/monthly/yearly summary statistics grouped by subscription tier. Returns metrics per subscription including record counts, unique accounts/providers/patients, average call duration, and average ratings. Automatically filters out test visits and includes only valid meeting data.',
193
+ name: 'get_subscription_breakdown',
194
+ description: 'Compare subscription tiers (Plus, Basic, etc.) across a time period. Always returns metrics grouped by subscription tier with per-tier breakdown (visits, accounts, providers, patients, ratings, call duration) plus totals. Use predefined period types (weekly/monthly/yearly) or custom date ranges. Automatically filters out test visits. ⚠️ Data limits: Max 365 days for yearly, 90 days for other periods. Tool automatically caps time periods to prevent errors. Best for subscription-tier analysis and comparisons.',
195
195
  inputSchema: {
196
196
  type: 'object',
197
197
  properties: {
@@ -215,7 +215,7 @@ class ElasticMCPServer {
215
215
  },
216
216
  {
217
217
  name: 'get_account_summary',
218
- description: 'Get comprehensive statistics for a specific account over a time period. Returns subscription distribution, record counts, unique providers/patients, average call duration, and average ratings. Automatically filters out test visits and includes only valid meeting data. Default time period is last year.',
218
+ description: 'Get comprehensive statistics for a specific account over a time period. Returns subscription distribution, record counts, unique providers/patients, average call duration, and average ratings. Automatically filters out test visits and includes only valid meeting data. Default time period is last year. ⚠️ Data limits: Max 365 days. Tool automatically caps time periods to prevent errors.',
219
219
  inputSchema: {
220
220
  type: 'object',
221
221
  properties: {
@@ -238,7 +238,7 @@ class ElasticMCPServer {
238
238
  },
239
239
  {
240
240
  name: 'get_group_summary',
241
- description: 'Get summary statistics for a specific group over a time period, broken down by top 5 accounts plus "Other" category if needed. Returns group-level metrics and per-account breakdown for top accounts. Automatically filters out test visits and includes only valid meeting data. Default time period is last year.',
241
+ description: 'Get summary statistics for a specific group over a time period, broken down by top 5 accounts plus "Other" category if needed. Returns group-level metrics and per-account breakdown for top accounts. Automatically filters out test visits and includes only valid meeting data. Default time period is last year. ⚠️ Data limits: Max 365 days. Tool automatically caps time periods to prevent errors.',
242
242
  inputSchema: {
243
243
  type: 'object',
244
244
  properties: {
@@ -261,7 +261,7 @@ class ElasticMCPServer {
261
261
  },
262
262
  {
263
263
  name: 'get_platform_breakdown',
264
- description: 'Get breakdown of top N platforms or platform versions by usage over a time period. Supports both provider and patient roles, and both platform-level (Web/iOS/Android) and platform-version-level breakdowns. Returns top N items (default 10) plus "Other" category if needed, with metrics per item including visit counts, unique accounts/providers/patients, ratings, and call duration. Automatically filters out test visits and includes only valid meeting data. Default time period is last 30 days.',
264
+ description: 'Get breakdown of top N platforms or platform versions by usage over a time period. Supports both provider and patient roles, and both platform-level (Web/iOS/Android) and platform-version-level breakdowns. Returns top N items (default 10) plus "Other" category if needed, with metrics per item including visit counts, unique accounts/providers/patients, ratings, and call duration. Automatically filters out test visits and includes only valid meeting data. Default time period is last 14 days. Recommended: max 30 days to prevent data limit errors, especially for patient platform breakdowns which have many unique platforms.',
265
265
  inputSchema: {
266
266
  type: 'object',
267
267
  properties: {
@@ -280,15 +280,15 @@ class ElasticMCPServer {
280
280
  minimum: 1,
281
281
  maximum: 100,
282
282
  default: 10,
283
- description: 'Number of top items to return (default: 10, max: 100)',
283
+ description: 'Number of top items to return (default: 10, max: 100). Recommended: do not set over 10.',
284
284
  },
285
285
  startDate: {
286
286
  type: 'string',
287
- description: 'Start date in ISO format (YYYY-MM-DD) or date math (e.g., "now-30d", "now-1y"). Defaults to "now-30d"',
287
+ description: 'Start date. Format: ISO date (YYYY-MM-DD) or date math (now-30d, now-1y). Default: now-30d. ⚠️ Tool may cap to prevent data limits (max 90 days, 60 days when grouping).',
288
288
  },
289
289
  endDate: {
290
290
  type: 'string',
291
- description: 'End date in ISO format (YYYY-MM-DD) or date math (e.g., "now"). Defaults to "now"',
291
+ description: 'End date. Format: ISO date (YYYY-MM-DD) or date math (now). Default: now.',
292
292
  },
293
293
  },
294
294
  required: ['role', 'breakdownType'],
@@ -297,7 +297,7 @@ class ElasticMCPServer {
297
297
  },
298
298
  {
299
299
  name: 'get_rating_distribution',
300
- description: 'Get rating distribution (histogram) for provider and/or patient ratings over a time period. Returns rating buckets with counts and percentages, plus statistics (average, min, max, total count). Supports grouping by subscription, account, or group for comparative analysis. Automatically filters out test visits and includes only valid meeting data. Default time period is last 30 days.',
300
+ description: 'Get rating distribution (histogram) for provider and/or patient ratings over a time period. Returns rating buckets with counts and percentages, plus statistics (average, min, max, total count). Supports grouping by subscription, account, or group for comparative analysis. Automatically filters out test visits and includes only valid meeting data. Default time period is last 30 days. ⚠️ Data limits: Max 90 days (60 days when grouping). Tool automatically caps time periods to prevent errors.',
301
301
  inputSchema: {
302
302
  type: 'object',
303
303
  properties: {
@@ -315,11 +315,11 @@ class ElasticMCPServer {
315
315
  },
316
316
  startDate: {
317
317
  type: 'string',
318
- description: 'Start date in ISO format (YYYY-MM-DD) or date math (e.g., "now-30d", "now-1y"). Defaults to "now-30d"',
318
+ description: 'Start date. Format: ISO date (YYYY-MM-DD) or date math (now-30d, now-1y). Default: now-30d. ⚠️ Tool may cap to prevent data limits (max 90 days, 60 days when grouping).',
319
319
  },
320
320
  endDate: {
321
321
  type: 'string',
322
- description: 'End date in ISO format (YYYY-MM-DD) or date math (e.g., "now"). Defaults to "now"',
322
+ description: 'End date. Format: ISO date (YYYY-MM-DD) or date math (now). Default: now.',
323
323
  },
324
324
  account: {
325
325
  type: 'string',
@@ -346,18 +346,18 @@ class ElasticMCPServer {
346
346
  },
347
347
  {
348
348
  name: 'get_visit_trends',
349
- description: 'Get visit count trends over time (daily, weekly, or monthly intervals) with optional grouping by subscription, account, or group. Returns time series data points with visit counts and unique counts (accounts, providers, patients) per period. Automatically filters out test visits and includes only valid meeting data. Default time period is last 6 months (180 days).',
349
+ description: 'Get visit count trends over time (daily, weekly, or monthly intervals) with optional grouping by subscription, account, or group. Returns time series data points with visit counts and unique counts (accounts, providers, patients) per period. Automatically filters out test visits and includes only valid meeting data. Recommended combinations: daily interval with 7-14 days, weekly interval with 12 weeks (3 months), monthly interval with 12 months (1 year). The tool automatically adjusts time periods to prevent data limit errors. Default time period is last 6 months (180 days).',
350
350
  inputSchema: {
351
351
  type: 'object',
352
352
  properties: {
353
353
  interval: {
354
354
  type: 'string',
355
355
  enum: ['daily', 'weekly', 'monthly'],
356
- description: 'Time interval for trends: "daily", "weekly", or "monthly"',
356
+ description: 'Time interval for trends: "daily" (recommended max 14 days), "weekly" (recommended max 12 weeks), or "monthly" (recommended max 12 months)',
357
357
  },
358
358
  startDate: {
359
359
  type: 'string',
360
- description: 'Start date in ISO format (YYYY-MM-DD) or date math (e.g., "now-180d", "now-1y"). Defaults to "now-180d" (6 months)',
360
+ description: 'Start date in ISO format (YYYY-MM-DD) or date math (e.g., "now-14d", "now-12w", "now-12M"). Recommended: "now-14d" for daily, "now-12w" for weekly, "now-12M" for monthly. Defaults to "now-180d" (6 months).',
361
361
  },
362
362
  endDate: {
363
363
  type: 'string',
@@ -387,18 +387,18 @@ class ElasticMCPServer {
387
387
  },
388
388
  },
389
389
  {
390
- name: 'get_dashboard_summary',
391
- description: 'Get high-level dashboard summary metrics for a time period including total visits, unique accounts/providers/patients, ratings, call duration, and distribution breakdowns (subscription, provider platform, patient platform). Supports grouping by subscription, account, or group for comparative analysis. Automatically filters out test visits and includes only valid meeting data. Default time period is last 30 days.',
390
+ name: 'get_summary',
391
+ description: 'Get comprehensive metrics summary for a time period. Returns overall summary (visits, unique counts, ratings, call duration) plus distribution breakdowns (subscription tiers, provider platforms, patient platforms). Supports flexible filtering (by account/group/subscription) and optional grouping (by subscription/account/group) for comparative analysis. Automatically filters out test visits. Default time period is last 30 days. ⚠️ Data limits: Max 90 days (60 days when grouping). Tool automatically caps time periods to prevent errors. Best for flexible analysis and multi-dimensional summaries.',
392
392
  inputSchema: {
393
393
  type: 'object',
394
394
  properties: {
395
395
  startDate: {
396
396
  type: 'string',
397
- description: 'Start date in ISO format (YYYY-MM-DD) or date math (e.g., "now-30d", "now-1y"). Defaults to "now-30d"',
397
+ description: 'Start date. Format: ISO date (YYYY-MM-DD) or date math (now-30d, now-1y). Default: now-30d. ⚠️ Tool may cap to prevent data limits (max 90 days, 60 days when grouping).',
398
398
  },
399
399
  endDate: {
400
400
  type: 'string',
401
- description: 'End date in ISO format (YYYY-MM-DD) or date math (e.g., "now"). Defaults to "now"',
401
+ description: 'End date. Format: ISO date (YYYY-MM-DD) or date math (now). Default: now.',
402
402
  },
403
403
  account: {
404
404
  type: 'string',
@@ -492,7 +492,7 @@ class ElasticMCPServer {
492
492
  minimum: 1,
493
493
  maximum: 500,
494
494
  default: 10,
495
- description: 'Maximum number of results to return (default: 10, max: 500)',
495
+ description: 'Maximum number of results to return (default: 10, max: 500). Recommended: do not set over 10.',
496
496
  },
497
497
  },
498
498
  required: ['entityType'],
@@ -523,7 +523,7 @@ class ElasticMCPServer {
523
523
  case 'top_change':
524
524
  result = await this.topChangeTool.execute(args);
525
525
  break;
526
- case 'period_summary':
526
+ case 'get_subscription_breakdown':
527
527
  result = await this.periodSummaryTool.execute(args);
528
528
  break;
529
529
  case 'get_account_summary':
@@ -541,7 +541,7 @@ class ElasticMCPServer {
541
541
  case 'get_visit_trends':
542
542
  result = await this.getVisitTrendsTool.execute(args);
543
543
  break;
544
- case 'get_dashboard_summary':
544
+ case 'get_summary':
545
545
  result = await this.getDashboardSummaryTool.execute(args);
546
546
  break;
547
547
  case 'find_entities_by_metric':
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,13 @@ export interface EntityMetricResult {
22
22
  metric_value: number;
23
23
  visit_count?: number;
24
24
  account_count?: number;
25
+ provider_rating?: number;
26
+ patient_rating?: number;
27
+ avg_call_duration?: number;
28
+ unique_providers?: number;
29
+ unique_patients?: number;
30
+ provider_rating_count?: number;
31
+ patient_rating_count?: number;
25
32
  }
26
33
  export interface FindEntitiesByMetricResult {
27
34
  entityType: string;
@@ -1 +1 @@
1
- {"version":3,"file":"find-entities-by-metric.d.ts","sourceRoot":"","sources":["../../src/tools/find-entities-by-metric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AA8EtC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,eAAe,GAAG,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;IACjM,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,eAAe,GAAG,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;IAClM,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,MAAM,CAAS;gBAEX,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM;IAKzD,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAiRlE"}
1
+ {"version":3,"file":"find-entities-by-metric.d.ts","sourceRoot":"","sources":["../../src/tools/find-entities-by-metric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAiFtC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,eAAe,GAAG,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;IACjM,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,eAAe,GAAG,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;IAClM,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,MAAM,CAAS;gBAEX,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM;IAKzD,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,0BAA0B,CAAC;CA6VlE"}
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FindEntitiesByMetricTool = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const handlers_js_1 = require("../errors/handlers.js");
6
+ const date_math_js_1 = require("../utils/date-math.js");
7
+ const aggregation_limits_js_1 = require("../utils/aggregation-limits.js");
8
+ const field_constants_js_1 = require("../utils/field-constants.js");
6
9
  const MetricFilterSchema = zod_1.z.object({
7
10
  metric: zod_1.z.enum(['account_count', 'visit_count', 'provider_rating', 'patient_rating', 'avg_call_duration', 'unique_providers', 'unique_patients', 'provider_rating_count', 'patient_rating_count']),
8
11
  min: zod_1.z.number().optional(),
@@ -71,9 +74,15 @@ class FindEntitiesByMetricTool {
71
74
  async execute(args) {
72
75
  try {
73
76
  const validatedArgs = FindEntitiesByMetricArgsSchema.parse(args);
74
- const startDate = validatedArgs.startDate || 'now-1y';
75
- const endDate = validatedArgs.endDate || 'now';
76
- const limit = validatedArgs.limit || 10;
77
+ let startDate = validatedArgs.startDate || 'now-1y';
78
+ let endDate = validatedArgs.endDate || 'now';
79
+ // Safeguard: cap time period at 365 days (1 year) to prevent data limit errors
80
+ const { startDate: adjustedStartDate, endDate: adjustedEndDate } = (0, date_math_js_1.capTimePeriod)(startDate, endDate, 365, // Max 1 year
81
+ this.logger);
82
+ startDate = adjustedStartDate;
83
+ endDate = adjustedEndDate;
84
+ // Safeguard: cap limit at 50
85
+ const limit = Math.min(validatedArgs.limit || 10, aggregation_limits_js_1.AGGREGATION_LIMITS.MAX_LIMIT);
77
86
  // Normalize to metrics array (for backward compatibility with single metric)
78
87
  const metricsToCompute = validatedArgs.metrics || (validatedArgs.metric ? [{
79
88
  metric: validatedArgs.metric,
@@ -89,20 +98,21 @@ class FindEntitiesByMetricTool {
89
98
  subscription: validatedArgs.subscription,
90
99
  group: validatedArgs.group,
91
100
  limit,
101
+ originalLimit: validatedArgs.limit,
92
102
  });
93
103
  const client = this.elasticsearch.getClient();
94
- const index = 'stats-*';
95
- const timeField = 'createdtime';
96
- const testVisitField = 'test_visit.keyword';
97
- const accountField = 'account.keyword';
98
- const groupField = 'group.keyword';
99
- const subscriptionField = 'subscription.keyword';
100
- const providerField = 'provider0.keyword';
101
- const patientField = 'patient0.keyword';
102
- const providerRatingField = 'provider_rating';
103
- const patientRatingField = 'patient_rating';
104
- const callDurationField = 'call_duration';
105
- const meetingBasedField = 'meeting_based';
104
+ const index = field_constants_js_1.FIELD_CONSTANTS.index;
105
+ const timeField = field_constants_js_1.FIELD_CONSTANTS.timeField;
106
+ const testVisitField = field_constants_js_1.FIELD_CONSTANTS.testVisitField;
107
+ const accountField = field_constants_js_1.FIELD_CONSTANTS.accountField;
108
+ const groupField = field_constants_js_1.FIELD_CONSTANTS.groupField;
109
+ const subscriptionField = field_constants_js_1.FIELD_CONSTANTS.subscriptionField;
110
+ const providerField = field_constants_js_1.FIELD_CONSTANTS.providerField;
111
+ const patientField = field_constants_js_1.FIELD_CONSTANTS.patientField;
112
+ const providerRatingField = field_constants_js_1.FIELD_CONSTANTS.providerRatingField;
113
+ const patientRatingField = field_constants_js_1.FIELD_CONSTANTS.patientRatingField;
114
+ const callDurationField = field_constants_js_1.FIELD_CONSTANTS.callDurationField;
115
+ const meetingBasedField = field_constants_js_1.FIELD_CONSTANTS.meetingBasedField;
106
116
  // Build base filters
107
117
  const filters = [
108
118
  {
@@ -209,7 +219,7 @@ class FindEntitiesByMetricTool {
209
219
  [aggregationName]: {
210
220
  terms: {
211
221
  field: groupingField,
212
- size: Math.min(limit * 3, 500), // Get more to account for filtering
222
+ size: (0, aggregation_limits_js_1.calculateTermsSize)(limit, 3, aggregation_limits_js_1.AGGREGATION_LIMITS.MAX), // Safeguard: Get more to account for filtering
213
223
  },
214
224
  aggs: metricAggs,
215
225
  },
@@ -231,56 +241,113 @@ class FindEntitiesByMetricTool {
231
241
  const responseAggs = response.aggregations;
232
242
  // Extract results
233
243
  const buckets = responseAggs?.[aggregationName]?.buckets || [];
234
- // Determine metric value extraction based on metric type
235
- const getMetricValue = (bucket) => {
236
- if (validatedArgs.metric === 'account_count') {
237
- return bucket.unique_accounts?.value || 0;
244
+ // Helper function to extract metric value from bucket
245
+ const getMetricValueFromBucket = (bucket, metric) => {
246
+ switch (metric) {
247
+ case 'account_count':
248
+ return bucket.unique_accounts?.value ?? null;
249
+ case 'visit_count':
250
+ return bucket.visit_count?.value ?? null;
251
+ case 'provider_rating':
252
+ return bucket.avg_provider_rating?.value ?? null;
253
+ case 'patient_rating':
254
+ return bucket.avg_patient_rating?.value ?? null;
255
+ case 'avg_call_duration':
256
+ return bucket.avg_call_duration?.value ?? null;
257
+ case 'unique_providers':
258
+ return bucket.unique_providers?.value ?? null;
259
+ case 'unique_patients':
260
+ return bucket.unique_patients?.value ?? null;
261
+ case 'provider_rating_count':
262
+ return bucket.provider_rating_count?.value ?? null;
263
+ case 'patient_rating_count':
264
+ return bucket.patient_rating_count?.value ?? null;
265
+ default:
266
+ return null;
238
267
  }
239
- else if (validatedArgs.metric === 'visit_count') {
240
- return bucket.visit_count?.value || 0;
241
- }
242
- else if (validatedArgs.metric === 'provider_rating' || validatedArgs.metric === 'patient_rating') {
243
- return bucket.avg_rating?.value || 0;
244
- }
245
- return 0;
246
268
  };
247
- // Filter and map results based on min/max criteria
269
+ // Build results with all metric values
248
270
  const results = buckets
249
271
  .map((bucket) => {
250
272
  const entity = bucket.key;
251
- const metricValue = getMetricValue(bucket);
252
- return {
273
+ // Extract all metric values
274
+ const metricValues = {};
275
+ for (const metricFilter of metricsToCompute) {
276
+ const value = getMetricValueFromBucket(bucket, metricFilter.metric);
277
+ metricValues[metricFilter.metric] = value;
278
+ }
279
+ // Also extract visit_count for context
280
+ const visitCount = bucket.visit_count?.value || 0;
281
+ // Build result object
282
+ const result = {
253
283
  entity,
254
- metric_value: metricValue,
255
- visit_count: bucket.visit_count?.value || 0,
284
+ metric_value: 0, // Will be set based on first metric
285
+ visit_count: Math.round(visitCount),
256
286
  };
257
- })
258
- .filter((item) => {
259
- // Apply min/max filters
260
- if (validatedArgs.min !== undefined && item.metric_value < validatedArgs.min) {
261
- return false;
287
+ // Add all metric values to result
288
+ if (metricValues.account_count !== null) {
289
+ result.account_count = Math.round(metricValues.account_count);
262
290
  }
263
- if (validatedArgs.max !== undefined && item.metric_value > validatedArgs.max) {
264
- return false;
291
+ if (metricValues.provider_rating !== null) {
292
+ result.provider_rating = Math.round(metricValues.provider_rating * 100) / 100;
265
293
  }
266
- return true;
294
+ if (metricValues.patient_rating !== null) {
295
+ result.patient_rating = Math.round(metricValues.patient_rating * 100) / 100;
296
+ }
297
+ if (metricValues.avg_call_duration !== null) {
298
+ result.avg_call_duration = Math.round(metricValues.avg_call_duration * 100) / 100;
299
+ }
300
+ if (metricValues.unique_providers !== null) {
301
+ result.unique_providers = Math.round(metricValues.unique_providers);
302
+ }
303
+ if (metricValues.unique_patients !== null) {
304
+ result.unique_patients = Math.round(metricValues.unique_patients);
305
+ }
306
+ if (metricValues.provider_rating_count !== null) {
307
+ result.provider_rating_count = Math.round(metricValues.provider_rating_count);
308
+ }
309
+ if (metricValues.patient_rating_count !== null) {
310
+ result.patient_rating_count = Math.round(metricValues.patient_rating_count);
311
+ }
312
+ // Set metric_value to first metric's value (or visit_count as fallback)
313
+ const firstMetric = metricsToCompute[0]?.metric;
314
+ if (firstMetric && metricValues[firstMetric] !== null) {
315
+ const value = metricValues[firstMetric];
316
+ result.metric_value = (firstMetric === 'visit_count' || firstMetric === 'account_count' ||
317
+ firstMetric === 'unique_providers' || firstMetric === 'unique_patients' ||
318
+ firstMetric === 'provider_rating_count' || firstMetric === 'patient_rating_count')
319
+ ? Math.round(value)
320
+ : Math.round(value * 100) / 100;
321
+ }
322
+ else {
323
+ result.metric_value = visitCount;
324
+ }
325
+ return { result, metricValues };
267
326
  })
268
- .map((item) => {
269
- const result = {
270
- entity: item.entity,
271
- metric_value: validatedArgs.metric === 'visit_count' || validatedArgs.metric === 'account_count'
272
- ? Math.round(item.metric_value) // Round counts to integers
273
- : Math.round(item.metric_value * 100) / 100, // Round ratings to 2 decimal places
274
- visit_count: item.visit_count,
275
- };
276
- if (validatedArgs.metric === 'account_count') {
277
- result.account_count = Math.round(item.metric_value);
327
+ .filter(({ metricValues }) => {
328
+ // Apply multi-metric filtering: all metrics must pass their min/max criteria
329
+ for (const metricFilter of metricsToCompute) {
330
+ const value = metricValues[metricFilter.metric];
331
+ if (value === null || value === undefined) {
332
+ return false; // Skip if metric value is missing
333
+ }
334
+ if (metricFilter.min !== undefined && value < metricFilter.min) {
335
+ return false;
336
+ }
337
+ if (metricFilter.max !== undefined && value > metricFilter.max) {
338
+ return false;
339
+ }
278
340
  }
279
- return result;
280
- });
281
- // Sort by metric value (descending for counts, ascending for ratings to show worst first)
341
+ return true;
342
+ })
343
+ .map(({ result }) => result);
344
+ // Sort by first metric value (descending for counts, ascending for ratings to show worst first)
345
+ const firstMetric = metricsToCompute[0]?.metric;
346
+ const isCountMetric = firstMetric === 'account_count' || firstMetric === 'visit_count' ||
347
+ firstMetric === 'unique_providers' || firstMetric === 'unique_patients' ||
348
+ firstMetric === 'provider_rating_count' || firstMetric === 'patient_rating_count';
282
349
  results.sort((a, b) => {
283
- if (validatedArgs.metric === 'account_count' || validatedArgs.metric === 'visit_count') {
350
+ if (isCountMetric) {
284
351
  return b.metric_value - a.metric_value; // Descending for counts (highest first)
285
352
  }
286
353
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"find-entities-by-metric.js","sourceRoot":"","sources":["../../src/tools/find-entities-by-metric.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-entities-by-metric.js","sourceRoot":"","sources":["../../src/tools/find-entities-by-metric.ts"],"names":[],"mappings":"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"}