Skip to main content
Glama
mlei06

Elasticsearch MCP (VSee Fork)

by mlei06

find_entities_by_metric

Filter groups or accounts by performance metrics like visit counts, ratings, or call durations to identify entities meeting specific criteria.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
entityTypeYesType of entity to find: "group" to find groups, "account" to find accounts
metricNoSingle 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
minNoMinimum value when using single metric (use metrics array for multiple filters)
maxNoMaximum value when using single metric (use metrics array for multiple filters)
metricsNoArray of metric filters. Use this for filtering by multiple metrics simultaneously. Each filter requires metric and at least one of min/max.
startDateNoStart date in ISO format (YYYY-MM-DD) or date math (e.g., "now-30d", "now-1y"). Defaults to "now-1y"
endDateNoEnd date in ISO format (YYYY-MM-DD) or date math (e.g., "now"). Defaults to "now"
subscriptionNoOptional subscription tier to filter by
groupNoOptional group name to filter by (only valid when entityType="account")
limitNoMaximum number of results to return (default: 10, max: 500). Recommended: do not set over 10.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by specifying that it 'Returns entities matching ALL criteria with their metric values,' clarifying the filtering logic. However, it lacks details on performance implications (e.g., rate limits, latency), error handling, or pagination beyond the 'limit' parameter, which is a gap for a tool with 10 parameters and no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, starting with the core purpose and key usage notes. It efficiently lists metrics and clarifies filtering behavior. However, the metric list is lengthy and could be summarized more concisely, and the sentence structure is slightly dense, making it less than perfectly streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 parameters, no annotations, no output schema), the description is adequate but has gaps. It covers purpose, metrics, and filtering logic well, but lacks details on return format, error cases, or performance considerations. Without an output schema, the description should ideally hint at the response structure, which it does not, leaving the agent uncertain about what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds some value by listing available metrics and explaining the single vs. multiple metric usage, but it does not provide additional semantic context beyond what the schema offers (e.g., explaining 'account_count (groups only)' is already in the schema). Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find groups or accounts filtered by metrics.' It specifies the verb ('find'), resource ('groups or accounts'), and filtering mechanism ('by metrics'). It distinguishes itself from siblings by focusing on metric-based filtering rather than breakdowns, trends, or summaries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for usage: it explains when to use single vs. multiple metrics ('Supports single metric (legacy) or multiple metrics (recommended)'), lists available metrics, and notes that accounts can be filtered by group. However, it does not explicitly state when to use this tool versus sibling alternatives like 'get_usage_summary' or 'top_change', which might offer overlapping functionality.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mlei06/elasticsearch-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server