elasticsearch-mcp-vsee 0.4.0 → 0.5.0

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 (32) hide show
  1. package/README.md +82 -87
  2. package/build/server.d.ts +1 -0
  3. package/build/server.d.ts.map +1 -1
  4. package/build/server.js +87 -6
  5. package/build/server.js.map +1 -1
  6. package/build/tools/find-entities-by-metric.d.ts +44 -0
  7. package/build/tools/find-entities-by-metric.d.ts.map +1 -0
  8. package/build/tools/find-entities-by-metric.js +325 -0
  9. package/build/tools/find-entities-by-metric.js.map +1 -0
  10. package/build/tools/get-dashboard-summary.d.ts +1 -2
  11. package/build/tools/get-dashboard-summary.d.ts.map +1 -1
  12. package/build/tools/get-dashboard-summary.js +3 -1
  13. package/build/tools/get-dashboard-summary.js.map +1 -1
  14. package/build/tools/get-group-summary.js +1 -1
  15. package/build/tools/get-group-summary.js.map +1 -1
  16. package/build/tools/get-platform-breakdown.js +1 -1
  17. package/build/tools/get-platform-breakdown.js.map +1 -1
  18. package/build/tools/get-rating-distribution.d.ts +1 -2
  19. package/build/tools/get-rating-distribution.d.ts.map +1 -1
  20. package/build/tools/get-rating-distribution.js +3 -1
  21. package/build/tools/get-rating-distribution.js.map +1 -1
  22. package/build/tools/get-visit-trends.d.ts +1 -2
  23. package/build/tools/get-visit-trends.d.ts.map +1 -1
  24. package/build/tools/get-visit-trends.js +5 -3
  25. package/build/tools/get-visit-trends.js.map +1 -1
  26. package/build/tools/index.d.ts +2 -0
  27. package/build/tools/index.d.ts.map +1 -1
  28. package/build/tools/index.js +3 -1
  29. package/build/tools/index.js.map +1 -1
  30. package/build/tools/top-change.js +1 -1
  31. package/build/tools/top-change.js.map +1 -1
  32. 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
 
@@ -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**
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
  }
@@ -344,7 +346,7 @@ 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. Default time period is last 6 months (180 days).',
348
350
  inputSchema: {
349
351
  type: 'object',
350
352
  properties: {
@@ -355,7 +357,7 @@ class ElasticMCPServer {
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-180d", "now-1y"). Defaults to "now-180d" (6 months)',
359
361
  },
360
362
  endDate: {
361
363
  type: 'string',
@@ -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)',
496
+ },
497
+ },
498
+ required: ['entityType'],
499
+ additionalProperties: false,
500
+ },
501
+ },
424
502
  ],
425
503
  };
426
504
  });
@@ -466,6 +544,9 @@ class ElasticMCPServer {
466
544
  case 'get_dashboard_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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"}
@@ -0,0 +1,44 @@
1
+ import { ElasticsearchManager } from '../elasticsearch/client.js';
2
+ import { Logger } from '../logger.js';
3
+ export interface MetricFilter {
4
+ metric: 'account_count' | 'visit_count' | 'provider_rating' | 'patient_rating' | 'avg_call_duration' | 'unique_providers' | 'unique_patients' | 'provider_rating_count' | 'patient_rating_count';
5
+ min?: number;
6
+ max?: number;
7
+ }
8
+ export interface FindEntitiesByMetricArgs {
9
+ entityType: 'group' | 'account';
10
+ metric?: 'account_count' | 'visit_count' | 'provider_rating' | 'patient_rating' | 'avg_call_duration' | 'unique_providers' | 'unique_patients' | 'provider_rating_count' | 'patient_rating_count';
11
+ min?: number;
12
+ max?: number;
13
+ metrics?: MetricFilter[];
14
+ startDate?: string;
15
+ endDate?: string;
16
+ subscription?: string;
17
+ group?: string;
18
+ limit?: number;
19
+ }
20
+ export interface EntityMetricResult {
21
+ entity: string;
22
+ metric_value: number;
23
+ visit_count?: number;
24
+ account_count?: number;
25
+ }
26
+ export interface FindEntitiesByMetricResult {
27
+ entityType: string;
28
+ metric: string;
29
+ min?: number;
30
+ max?: number;
31
+ metrics?: MetricFilter[];
32
+ period: string;
33
+ startDate: string;
34
+ endDate: string;
35
+ results: EntityMetricResult[];
36
+ total_found: number;
37
+ }
38
+ export declare class FindEntitiesByMetricTool {
39
+ private elasticsearch;
40
+ private logger;
41
+ constructor(elasticsearch: ElasticsearchManager, logger: Logger);
42
+ execute(args: unknown): Promise<FindEntitiesByMetricResult>;
43
+ }
44
+ //# sourceMappingURL=find-entities-by-metric.d.ts.map
@@ -0,0 +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"}