Skip to content

[Bug]: update MCP tool descriptions all up. #3281

@JerryNixon

Description

@JerryNixon
JSON Path Current description Updated description
tools[0].description Computes aggregations (count, avg, sum, min, max) on entity data. WORKFLOW: 1) Call describe_entities first to get entity names and field names. 2) Call this tool with entity, function, and field from step 1. RULES: field '' is ONLY valid with count. orderby, having, first, and after ONLY apply when groupby is provided. RESPONSE: Result is aliased as '{function}_{field}' (e.g. avg_unitPrice). For count(), the alias is 'count'. With groupby and first, response includes items, endCursor, and hasNextPage for pagination. Computes aggregations (count, avg, sum, min, max) on entity data. Prerequisite: 1) Call describe_entities in the current session to discover valid entity names and field names. 2) Call this tool using only names returned by that call. Do not use entity or field names from memory, prior conversations, or assumptions. count supports field * to count all rows. avg, sum, min, and max must reference a field with a numeric data type as returned by describe_entities. distinct removes duplicate values before aggregation and is not valid with field *. filter applies an OData WHERE clause before aggregation. Supported operators: eq, ne, gt, ge, lt, le, and, or, not. String pattern operators such as startswith, endswith, contains, and regex are NOT supported. Use groupby to compute aggregated rows per group. All groupby fields must exist on the entity and must be discovered through describe_entities. Grouped results include the groupby fields and the aggregated value. orderby, having, first, and after apply only when groupby is present. orderby sorts groups by the aggregation result alias (example: avg_unitPrice). It cannot sort by entity fields. having filters groups based on the aggregated value produced by the function. Supported operators: eq, neq, gt, gte, lt, lte, in. When groupby and first are used together, the response includes items, endCursor, and hasNextPage. To retrieve the next page, pass the returned endCursor value as the after parameter in a subsequent call with the same inputs. Aggregated values are aliased as {function}_{field} (example: avg_unitPrice). count(*) is the sole exception to this pattern and returns the alias count, not count_*. If the call fails due to an unrecognized entity or field name, call describe_entities again to verify valid names, then retry with corrected inputs.
tools[0].inputSchema.properties.field.description Field name to aggregate, or '*' with count to count all rows. Field name to aggregate, or * with count to count all rows.
tools[0].inputSchema.properties.distinct.description Remove duplicate values before aggregating. Not valid with field '*'. Remove duplicate values before aggregating. Not valid with field *.
tools[0].inputSchema.properties.filter.description OData WHERE clause applied before aggregating. Operators: eq, ne, gt, ge, lt, le, and, or, not. Example: 'unitPrice lt 10'. OData WHERE clause applied before aggregating. Operators: eq, ne, gt, ge, lt, le, and, or, not. String pattern operators such as startswith, endswith, contains, and regex are not supported. Example: unitPrice lt 10.
tools[0].inputSchema.properties.groupby.description Field names to group by. Each unique combination produces one aggregated row. Enables orderby, having, first, and after. Field names to group by. Each unique combination produces one aggregated row that includes the group fields and the aggregated value. Enables orderby, having, first, and after.
tools[0].inputSchema.properties.orderby.description Sort grouped results by the aggregated value. Requires groupby. Sort grouped results by the aggregation result alias (example avg_unitPrice). Requires groupby. Cannot sort by entity fields.
tools[0].inputSchema.properties.having.description Filter groups by the aggregated value (HAVING clause). Requires groupby. Multiple operators are AND-ed. Filter groups by the aggregated value (HAVING clause). Supported operators: eq, neq, gt, gte, lt, lte, in. Requires groupby. Multiple operators are AND-ed.
tools[0].inputSchema.properties.first.description Max grouped results to return. Requires groupby. Enables paginated response with endCursor and hasNextPage. Max grouped results to return. Requires groupby. Enables cursor pagination with endCursor and hasNextPage.
tools[0].inputSchema.properties.after.description Opaque cursor from a previous endCursor for next-page retrieval. Requires groupby and first. Do not construct manually. Opaque cursor from a previous endCursor for next-page retrieval. Requires groupby and first. Do not construct manually.

Metadata

Metadata

Assignees

Type

Projects

Status

Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions