elasticsearch-mcp-vsee 0.4.0 → 0.5.1

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 (42) hide show
  1. package/README.md +84 -89
  2. package/build/elasticsearch/client.js.map +1 -1
  3. package/build/server.d.ts +1 -0
  4. package/build/server.d.ts.map +1 -1
  5. package/build/server.js +99 -18
  6. package/build/server.js.map +1 -1
  7. package/build/tools/find-entities-by-metric.d.ts +51 -0
  8. package/build/tools/find-entities-by-metric.d.ts.map +1 -0
  9. package/build/tools/find-entities-by-metric.js +384 -0
  10. package/build/tools/find-entities-by-metric.js.map +1 -0
  11. package/build/tools/get-dashboard-summary.d.ts +1 -2
  12. package/build/tools/get-dashboard-summary.d.ts.map +1 -1
  13. package/build/tools/get-dashboard-summary.js +5 -3
  14. package/build/tools/get-dashboard-summary.js.map +1 -1
  15. package/build/tools/get-group-summary.d.ts +1 -6
  16. package/build/tools/get-group-summary.d.ts.map +1 -1
  17. package/build/tools/get-group-summary.js +80 -111
  18. package/build/tools/get-group-summary.js.map +1 -1
  19. package/build/tools/get-platform-breakdown.d.ts.map +1 -1
  20. package/build/tools/get-platform-breakdown.js +4 -2
  21. package/build/tools/get-platform-breakdown.js.map +1 -1
  22. package/build/tools/get-rating-distribution.d.ts +1 -2
  23. package/build/tools/get-rating-distribution.d.ts.map +1 -1
  24. package/build/tools/get-rating-distribution.js +4 -2
  25. package/build/tools/get-rating-distribution.js.map +1 -1
  26. package/build/tools/get-visit-trends.d.ts +1 -2
  27. package/build/tools/get-visit-trends.d.ts.map +1 -1
  28. package/build/tools/get-visit-trends.js +66 -4
  29. package/build/tools/get-visit-trends.js.map +1 -1
  30. package/build/tools/index.d.ts +2 -0
  31. package/build/tools/index.d.ts.map +1 -1
  32. package/build/tools/index.js +3 -1
  33. package/build/tools/index.js.map +1 -1
  34. package/build/tools/period-summary.js +1 -1
  35. package/build/tools/period-summary.js.map +1 -1
  36. package/build/tools/search-elasticsearch.d.ts.map +1 -1
  37. package/build/tools/search-elasticsearch.js +3 -2
  38. package/build/tools/search-elasticsearch.js.map +1 -1
  39. package/build/tools/top-change.d.ts.map +1 -1
  40. package/build/tools/top-change.js +49 -7
  41. package/build/tools/top-change.js.map +1 -1
  42. package/package.json +3 -12
package/README.md CHANGED
@@ -14,57 +14,79 @@
14
14
  - **🔐 Secure by Design**: Input validation, script sanitization, injection prevention
15
15
  - **☁️ Elastic Cloud Ready**: Native support for cloud ID and API key authentication
16
16
  - **⚡ High Performance**: Connection pooling, optimized query execution, efficient aggregations
17
- - **🛠️ Comprehensive Tools**: 10 specialized tools for analytics, summaries, and data exploration
17
+ - **🛠️ Comprehensive Tools**: 11 specialized tools for analytics, summaries, and data exploration
18
18
  - **📊 Advanced Querying**: Full Elasticsearch DSL support with aggregations and highlighting
19
19
  - **🔍 Smart Validation**: Zod-based schemas with security-first validation
20
20
  - **📝 Full TypeScript**: Complete type safety with strict null checks
21
21
 
22
- ## 📦 Installation
22
+ ## 🎯 Purpose
23
23
 
24
- ```bash
25
- npm install elasticsearch-mcp-vsee
26
- ```
24
+ This MCP server is designed for **VSee's Open WebUI deployment** to provide specialized analytics tools for querying VSee's Elasticsearch `stats-*` indices. It integrates with VSee's Open WebUI infrastructure via MCPO (MCP OpenAPI bridge) to expose Elasticsearch analytics capabilities to LLMs.
27
25
 
28
- ## 🏃‍♂️ Quick Start
26
+ ## 📦 Usage with VSee's Open WebUI Deployment
29
27
 
30
- ### 1. Basic Setup
28
+ This MCP server is automatically loaded by VSee's Open WebUI deployment through the MCP configuration. It connects to VSee's Elasticsearch deployment to provide analytics on visit statistics, account/group metrics, platform breakdowns, and more.
31
29
 
32
- ```bash
33
- # Set your Elasticsearch credentials
34
- export ELASTIC_CLOUD_ID="your-cloud-id"
35
- export ELASTIC_API_KEY="your-api-key"
30
+ ### Configuration
36
31
 
37
- # Start the MCP server
38
- npx elasticsearch-mcp-vsee
39
- ```
40
-
41
- ### 2. Using with Claude Desktop
42
-
43
- Add to your Claude Desktop MCP configuration:
32
+ The MCP server is configured in `vsee/mcp/config.json`:
44
33
 
45
34
  ```json
46
35
  {
47
36
  "mcpServers": {
48
- "elasticsearch-mcp-vsee": {
37
+ "elasticsearch": {
49
38
  "command": "npx",
50
- "args": ["elasticsearch-mcp-vsee"],
39
+ "args": ["-y", "elasticsearch-mcp-vsee"],
51
40
  "env": {
52
- "ELASTIC_CLOUD_ID": "your-cloud-id",
53
- "ELASTIC_API_KEY": "your-api-key"
41
+ "ELASTIC_NODE": "https://omtm.es.us-east-1.aws.found.io",
42
+ "ELASTIC_USERNAME": "your-username",
43
+ "ELASTIC_PASSWORD": "your-password",
44
+ "NODE_TLS_REJECT_UNAUTHORIZED": "0"
54
45
  }
55
46
  }
56
47
  }
57
48
  }
58
49
  ```
59
50
 
60
- ### 3. Using with any MCP Client
51
+ The Open WebUI deployment automatically loads this configuration and starts the MCP server via MCPO, making all 11 tools available to the LLM for querying Elasticsearch data.
61
52
 
62
- ```typescript
63
- import { ElasticMCPServer } from 'elasticsearch-mcp-vsee';
53
+ ## 🔄 Updating and Publishing
64
54
 
65
- const server = new ElasticMCPServer();
66
- await server.start();
67
- ```
55
+ ### Making Changes
56
+
57
+ 1. **Develop locally**: Make changes to the code in `elasticsearch-mcp/`
58
+ 2. **Test your changes**: Use `npm run test:tools` to test against your Elasticsearch instance
59
+ 3. **Build**: Run `npm run build` to compile TypeScript
60
+ 4. **Publish**: Publish to npm with `npm publish --access public`
61
+ - Make sure to increment the version in `package.json` first
62
+
63
+ ### Updating VSee's Deployment
64
+
65
+ After publishing a new version to npm:
66
+
67
+ 1. **Update `vsee/mcp/config.json`**: Change the package version in the `args` array:
68
+ ```json
69
+ {
70
+ "mcpServers": {
71
+ "elasticsearch": {
72
+ "command": "npx",
73
+ "args": ["-y", "elasticsearch-mcp-vsee@0.5.0"], // Update version here
74
+ "env": {
75
+ ...
76
+ }
77
+ }
78
+ }
79
+ }
80
+ ```
81
+
82
+ 2. **Restart the MCPO service**: The MCPO container will automatically download and use the new version on restart:
83
+ ```bash
84
+ docker compose -f docker-compose.vsee.yaml restart mcpo
85
+ ```
86
+
87
+ 3. **Verify**: Check that the new version is loaded by examining the MCPO logs or testing the tools in Open WebUI.
88
+
89
+ **Note**: You can also use `@latest` to always pull the latest version, but specifying a version number is recommended for production stability.
68
90
 
69
91
  ## 🛠️ Available Tools
70
92
 
@@ -73,13 +95,13 @@ await server.start();
73
95
  | `search_elasticsearch` | Advanced search with aggregations | Custom queries, data analysis |
74
96
  | `get_index_fields` | Discover index fields and types | Schema exploration, field discovery |
75
97
  | `top_change` | Find top accounts or groups with highest visit increase/decrease | Trend analysis, account/group monitoring |
76
- | `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 |
77
99
  | `get_account_summary` | Comprehensive statistics for a specific account | Account analytics, performance review |
78
100
  | `get_group_summary` | Group statistics with account breakdown | Group management, resource allocation |
79
101
  | `get_platform_breakdown` | Platform or platform version breakdown (provider/patient, platform/version) | Platform adoption, device preferences, version analysis |
80
102
  | `get_rating_distribution` | Rating histograms with statistics | Satisfaction analysis |
81
103
  | `get_visit_trends` | Time series visit trends (daily/weekly/monthly) | Trend visualization |
82
- | `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 |
83
105
 
84
106
  ## 📋 Tool Examples
85
107
 
@@ -176,36 +198,25 @@ await server.start();
176
198
 
177
199
  ### Environment Variables
178
200
 
201
+ The MCP server reads configuration from environment variables. These are set in `vsee/mcp/config.json` under the `env` section:
202
+
179
203
  | Variable | Description | Required | Example |
180
204
  |----------|-------------|----------|---------|
181
- | `ELASTIC_CLOUD_ID` | Elastic Cloud deployment ID | Yes* | `deployment:dXMtY2VudHJhbDE=` |
182
- | `ELASTIC_API_KEY` | Elasticsearch API key | Yes* | `VnVhQ2ZHY0JDZGJrU...` |
183
- | `ELASTIC_NODE` | Self-hosted Elasticsearch URL | Yes* | `https://localhost:9200` |
184
- | `ELASTIC_USERNAME` | Basic auth username | No | `elastic` |
185
- | `ELASTIC_PASSWORD` | Basic auth password | No | `changeme` |
186
- | `LOG_LEVEL` | Logging level | No | `info` |
187
- | `LOG_FORMAT` | Log output format | No | `text` |
188
- | `MAX_CONCURRENT_REQUESTS` | Request concurrency limit | No | `10` |
189
-
190
- *Either `ELASTIC_CLOUD_ID` or `ELASTIC_NODE` is required
205
+ | `ELASTIC_NODE` | Elasticsearch URL | Yes | `https://omtm.es.us-east-1.aws.found.io` |
206
+ | `ELASTIC_USERNAME` | Basic auth username | Yes | `your-username` |
207
+ | `ELASTIC_PASSWORD` | Basic auth password | Yes | `your-password` |
208
+ | `NODE_TLS_REJECT_UNAUTHORIZED` | Disable TLS verification (for self-signed certs) | No | `"0"` |
191
209
 
192
- ### Configuration File
210
+ ### Alternative: Elastic Cloud Authentication
193
211
 
194
- Create `.env` file:
212
+ If using Elastic Cloud with cloud ID and API key:
195
213
 
196
- ```bash
197
- # Elastic Cloud (recommended)
198
- ELASTIC_CLOUD_ID=your-deployment-id
199
- ELASTIC_API_KEY=your-api-key
200
-
201
- # Logging
202
- LOG_LEVEL=info
203
- LOG_FORMAT=json
214
+ | Variable | Description | Required |
215
+ |----------|-------------|----------|
216
+ | `ELASTIC_CLOUD_ID` | Elastic Cloud deployment ID | Yes* |
217
+ | `ELASTIC_API_KEY` | Elasticsearch API key | Yes* |
204
218
 
205
- # Performance
206
- MAX_CONCURRENT_REQUESTS=10
207
- REQUEST_TIMEOUT_MS=30000
208
- ```
219
+ *Either `ELASTIC_CLOUD_ID` + `ELASTIC_API_KEY` OR `ELASTIC_NODE` + `ELASTIC_USERNAME` + `ELASTIC_PASSWORD` is required
209
220
 
210
221
  ## 🔒 Security Features
211
222
 
@@ -268,25 +279,26 @@ REQUEST_TIMEOUT_MS=30000
268
279
  ### Setup Development Environment
269
280
 
270
281
  ```bash
271
- # Clone repository
272
- git clone https://github.com/RajwardhanShinde/elk-mcp.git
273
- cd elk-mcp
274
-
275
282
  # Install dependencies
276
283
  npm install
277
284
 
278
- # Set up environment
279
- cp .env.example .env
280
- # Edit .env with your Elasticsearch credentials
285
+ # Set up environment variables
286
+ export ELASTIC_NODE="https://your-elasticsearch-url"
287
+ export ELASTIC_USERNAME="your-username"
288
+ export ELASTIC_PASSWORD="your-password"
289
+ export NODE_TLS_REJECT_UNAUTHORIZED="0" # If needed for self-signed certs
281
290
 
282
291
  # Run in development mode
283
292
  npm run dev
284
293
 
285
- # Run tests
286
- npm test
294
+ # Test tools against live Elasticsearch
295
+ npm run test:tools
287
296
 
288
297
  # Build for production
289
298
  npm run build
299
+
300
+ # Publish new version (after incrementing version in package.json)
301
+ npm publish --access public
290
302
  ```
291
303
 
292
304
  ### Project Structure
@@ -301,30 +313,16 @@ elasticsearch-mcp/
301
313
  │ ├── config.ts # Configuration management
302
314
  │ ├── logger.ts # Structured logging
303
315
  │ └── server.ts # Main MCP server
304
- ├── tests/ # Comprehensive test suite
305
- ├── docs/ # Documentation
316
+ ├── tests/ # Test suite
317
+ ├── TEST_GUIDE.md # Testing guide
318
+ ├── OPENWEBUI_TEST_PROMPTS.md # Example prompts for Open WebUI
306
319
  └── build/ # Compiled output
307
320
  ```
308
321
 
309
- ## 🤝 Contributing
310
-
311
- We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
312
-
313
- ### Development Workflow
314
- 1. Fork the repository
315
- 2. Create a feature branch
316
- 3. Make your changes with tests
317
- 4. Ensure all tests pass
318
- 5. Submit a pull request
319
-
320
322
  ## 📚 Documentation
321
323
 
322
- - [Quick Start Guide](docs/guides/quick-start.md)
323
- - [API Reference](docs/api/tools.md)
324
- - [Configuration Guide](docs/api/configuration.md)
325
- - [Elastic Cloud Setup](docs/guides/elastic-cloud-setup.md)
326
- - [Troubleshooting](docs/guides/troubleshooting.md)
327
- - [Examples](docs/examples/)
324
+ - [Testing Guide](TEST_GUIDE.md) - How to test all tools
325
+ - [Open WebUI Test Prompts](OPENWEBUI_TEST_PROMPTS.md) - Example prompts for testing in Open WebUI
328
326
 
329
327
  ## 🐛 Troubleshooting
330
328
 
@@ -351,26 +349,23 @@ curl -H "Authorization: ApiKey $ELASTIC_API_KEY" \\
351
349
  - Validate required fields
352
350
  - Review field name restrictions
353
351
 
354
- See [Troubleshooting Guide](docs/guides/troubleshooting.md) for more details.
355
-
356
352
  ## 📄 License
357
353
 
358
354
  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
359
355
 
360
356
  ## 🏷️ Version History
361
357
 
362
- - **v0.3.0** - Specialized analytics tools for stats-* indices (14 tools)
363
- - **v0.1.0** - Initial release
358
+ - **v0.5.0** - Added `find_entities_by_metric` tool with multi-metric filtering support, updated default limits
359
+ - **v0.4.0** - Tool consolidation: merged 14 tools into 11 specialized analytics tools
360
+ - **v0.3.0** - Specialized analytics tools for stats-* indices
364
361
  - Full changelog: [CHANGELOG.md](CHANGELOG.md)
365
362
 
366
363
  ## 🔗 Links
367
364
 
368
365
  - [npm Package](https://www.npmjs.com/package/elasticsearch-mcp-vsee)
369
- - [GitHub Repository](https://github.com/RajwardhanShinde/elk-mcp)
370
- - [Issue Tracker](https://github.com/RajwardhanShinde/elk-mcp/issues)
371
366
  - [Elasticsearch Documentation](https://www.elastic.co/guide/)
372
367
  - [Model Context Protocol](https://modelcontextprotocol.io/)
373
368
 
374
369
  ---
375
370
 
376
- **Built with ❤️ for the Elasticsearch and MCP communities**
371
+ **Built for VSee by VSee**
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/elasticsearch/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/elasticsearch/client.ts"],"names":[],"mappings":"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"}
package/build/server.d.ts CHANGED
@@ -15,6 +15,7 @@ export declare class ElasticMCPServer {
15
15
  private getRatingDistributionTool;
16
16
  private getVisitTrendsTool;
17
17
  private getDashboardSummaryTool;
18
+ private findEntitiesByMetricTool;
18
19
  constructor();
19
20
  private setupHandlers;
20
21
  private setupGracefulShutdown;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAqBA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,uBAAuB,CAA0B;IACzD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,yBAAyB,CAA4B;IAC7D,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,uBAAuB,CAA0B;;IAoCzD,OAAO,CAAC,aAAa;IAkcrB,OAAO,CAAC,qBAAqB;IAoCvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB7B;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAsBA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,uBAAuB,CAA0B;IACzD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,yBAAyB,CAA4B;IAC7D,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,uBAAuB,CAA0B;IACzD,OAAO,CAAC,wBAAwB,CAA2B;;IAqC3D,OAAO,CAAC,aAAa;IAihBrB,OAAO,CAAC,qBAAqB;IAoCvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB7B;AAED,eAAe,gBAAgB,CAAC"}
package/build/server.js CHANGED
@@ -27,6 +27,7 @@ class ElasticMCPServer {
27
27
  getRatingDistributionTool;
28
28
  getVisitTrendsTool;
29
29
  getDashboardSummaryTool;
30
+ findEntitiesByMetricTool;
30
31
  constructor() {
31
32
  this.config = (0, config_js_1.loadConfig)();
32
33
  this.logger = new logger_js_1.Logger(this.config.logging.level, this.config.logging.format);
@@ -51,6 +52,7 @@ class ElasticMCPServer {
51
52
  this.getRatingDistributionTool = new index_js_2.GetRatingDistributionTool(this.elasticsearch, this.logger);
52
53
  this.getVisitTrendsTool = new index_js_2.GetVisitTrendsTool(this.elasticsearch, this.logger);
53
54
  this.getDashboardSummaryTool = new index_js_2.GetDashboardSummaryTool(this.elasticsearch, this.logger);
55
+ this.findEntitiesByMetricTool = new index_js_2.FindEntitiesByMetricTool(this.elasticsearch, this.logger);
54
56
  this.setupHandlers();
55
57
  this.setupGracefulShutdown();
56
58
  }
@@ -77,7 +79,7 @@ class ElasticMCPServer {
77
79
  type: 'number',
78
80
  minimum: 0,
79
81
  maximum: 10000,
80
- 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.',
81
83
  default: 10,
82
84
  },
83
85
  from: {
@@ -159,20 +161,20 @@ class ElasticMCPServer {
159
161
  minimum: 1,
160
162
  maximum: 100,
161
163
  default: 10,
162
- 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.',
163
165
  },
164
166
  currentPeriodDays: {
165
167
  type: 'number',
166
168
  minimum: 1,
167
169
  maximum: 365,
168
170
  default: 30,
169
- 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.',
170
172
  },
171
173
  previousPeriodDays: {
172
174
  type: 'number',
173
175
  minimum: 1,
174
176
  maximum: 365,
175
- 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.',
176
178
  },
177
179
  subscription: {
178
180
  type: 'string',
@@ -188,8 +190,8 @@ class ElasticMCPServer {
188
190
  },
189
191
  },
190
192
  {
191
- name: 'period_summary',
192
- 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. Best for subscription-tier analysis and comparisons.',
193
195
  inputSchema: {
194
196
  type: 'object',
195
197
  properties: {
@@ -278,7 +280,7 @@ class ElasticMCPServer {
278
280
  minimum: 1,
279
281
  maximum: 100,
280
282
  default: 10,
281
- 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.',
282
284
  },
283
285
  startDate: {
284
286
  type: 'string',
@@ -344,18 +346,18 @@ class ElasticMCPServer {
344
346
  },
345
347
  {
346
348
  name: 'get_visit_trends',
347
- 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 30 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).',
348
350
  inputSchema: {
349
351
  type: 'object',
350
352
  properties: {
351
353
  interval: {
352
354
  type: 'string',
353
355
  enum: ['daily', 'weekly', 'monthly'],
354
- 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)',
355
357
  },
356
358
  startDate: {
357
359
  type: 'string',
358
- description: 'Start date in ISO format (YYYY-MM-DD) or date math (e.g., "now-30d", "now-1y"). Defaults to "now-30d"',
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).',
359
361
  },
360
362
  endDate: {
361
363
  type: 'string',
@@ -385,8 +387,8 @@ class ElasticMCPServer {
385
387
  },
386
388
  },
387
389
  {
388
- name: 'get_dashboard_summary',
389
- 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. Best for flexible analysis and multi-dimensional summaries.',
390
392
  inputSchema: {
391
393
  type: 'object',
392
394
  properties: {
@@ -400,27 +402,103 @@ class ElasticMCPServer {
400
402
  },
401
403
  account: {
402
404
  type: 'string',
403
- description: 'Optional account name to filter by',
405
+ description: 'FILTER: Optional account name to filter data to',
404
406
  },
405
407
  group: {
406
408
  type: 'string',
407
- description: 'Optional group name to filter by',
409
+ description: 'FILTER: Optional group name to filter data to',
408
410
  },
409
411
  subscription: {
410
412
  type: 'string',
411
- description: 'Optional subscription tier to filter by',
413
+ description: 'FILTER: Optional subscription tier to filter data to',
412
414
  },
413
415
  groupBy: {
414
416
  type: 'string',
415
417
  enum: ['none', 'subscription', 'account', 'group'],
416
418
  default: 'none',
417
- description: 'Optional grouping dimension (default: none). When set, returns separate summaries for each group value.',
419
+ description: 'GROUP: Dimension to split/group results by (e.g., "account" to see summaries per account, "group" to see per group)',
418
420
  },
419
421
  },
420
422
  required: [],
421
423
  additionalProperties: false,
422
424
  },
423
425
  },
426
+ {
427
+ name: 'find_entities_by_metric',
428
+ description: 'Find groups or accounts filtered by metrics. Supports single metric (legacy) or multiple metrics (recommended). Available metrics: account_count (groups only), visit_count, provider_rating, patient_rating, avg_call_duration, unique_providers, unique_patients, provider_rating_count, patient_rating_count. Can filter accounts by group. Returns entities matching ALL criteria with their metric values. Automatically filters out test visits. Default time period is last year.',
429
+ inputSchema: {
430
+ type: 'object',
431
+ properties: {
432
+ entityType: {
433
+ type: 'string',
434
+ enum: ['group', 'account'],
435
+ description: 'Type of entity to find: "group" to find groups, "account" to find accounts',
436
+ },
437
+ metric: {
438
+ type: 'string',
439
+ enum: ['account_count', 'visit_count', 'provider_rating', 'patient_rating', 'avg_call_duration', 'unique_providers', 'unique_patients', 'provider_rating_count', 'patient_rating_count'],
440
+ description: 'Single metric to filter by (use metrics array for multiple filters). Available: account_count (groups only), visit_count, provider_rating, patient_rating, avg_call_duration, unique_providers, unique_patients, provider_rating_count, patient_rating_count',
441
+ },
442
+ min: {
443
+ type: 'number',
444
+ description: 'Minimum value when using single metric (use metrics array for multiple filters)',
445
+ },
446
+ max: {
447
+ type: 'number',
448
+ description: 'Maximum value when using single metric (use metrics array for multiple filters)',
449
+ },
450
+ metrics: {
451
+ type: 'array',
452
+ items: {
453
+ type: 'object',
454
+ properties: {
455
+ metric: {
456
+ type: 'string',
457
+ enum: ['account_count', 'visit_count', 'provider_rating', 'patient_rating', 'avg_call_duration', 'unique_providers', 'unique_patients', 'provider_rating_count', 'patient_rating_count'],
458
+ description: 'Metric name',
459
+ },
460
+ min: {
461
+ type: 'number',
462
+ description: 'Minimum value (inclusive)',
463
+ },
464
+ max: {
465
+ type: 'number',
466
+ description: 'Maximum value (inclusive)',
467
+ },
468
+ },
469
+ required: ['metric'],
470
+ additionalProperties: false,
471
+ },
472
+ description: 'Array of metric filters. Use this for filtering by multiple metrics simultaneously. Each filter requires metric and at least one of min/max.',
473
+ },
474
+ startDate: {
475
+ type: 'string',
476
+ description: 'Start date in ISO format (YYYY-MM-DD) or date math (e.g., "now-30d", "now-1y"). Defaults to "now-1y"',
477
+ },
478
+ endDate: {
479
+ type: 'string',
480
+ description: 'End date in ISO format (YYYY-MM-DD) or date math (e.g., "now"). Defaults to "now"',
481
+ },
482
+ subscription: {
483
+ type: 'string',
484
+ description: 'Optional subscription tier to filter by',
485
+ },
486
+ group: {
487
+ type: 'string',
488
+ description: 'Optional group name to filter by (only valid when entityType="account")',
489
+ },
490
+ limit: {
491
+ type: 'number',
492
+ minimum: 1,
493
+ maximum: 500,
494
+ default: 10,
495
+ description: 'Maximum number of results to return (default: 10, max: 500). Recommended: do not set over 10.',
496
+ },
497
+ },
498
+ required: ['entityType'],
499
+ additionalProperties: false,
500
+ },
501
+ },
424
502
  ],
425
503
  };
426
504
  });
@@ -445,7 +523,7 @@ class ElasticMCPServer {
445
523
  case 'top_change':
446
524
  result = await this.topChangeTool.execute(args);
447
525
  break;
448
- case 'period_summary':
526
+ case 'get_subscription_breakdown':
449
527
  result = await this.periodSummaryTool.execute(args);
450
528
  break;
451
529
  case 'get_account_summary':
@@ -463,9 +541,12 @@ class ElasticMCPServer {
463
541
  case 'get_visit_trends':
464
542
  result = await this.getVisitTrendsTool.execute(args);
465
543
  break;
466
- case 'get_dashboard_summary':
544
+ case 'get_summary':
467
545
  result = await this.getDashboardSummaryTool.execute(args);
468
546
  break;
547
+ case 'find_entities_by_metric':
548
+ result = await this.findEntitiesByMetricTool.execute(args);
549
+ break;
469
550
  default:
470
551
  throw new Error(`Unknown tool: ${name}`);
471
552
  }
@@ -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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"}