Skip to main content
Glama

Mencoro

Apply a proposed clustering

apply_auto_clustering
Destructive

Apply the grouping a completed start_auto_clustering job proposed: creates the clusters it named and moves the tracked queries into them, as the job's mode said. In "full_regroup" mode a tracked query the proposal places also leaves every cluster the proposal did not put it in; "fill_gaps" and "add_on_top" only add. No cluster or tracked query is deleted. Cluster names are lower-cased like create_clusters, and a proposed name that matches an existing cluster reuses it instead of creating a second one. The response lists each tracked query's resulting clusters, not the memberships removed, so show the proposal (get_job) to the user first. Pass a fresh requestId and reuse it if you retry, so a retry never applies twice.

Input Schema

NameRequiredDescriptionDefault
jobIdYes
projectIdYes
requestIdNoOptional idempotency key, 8-255 printable characters. Reuse it only to retry this same call.
organizationIdYes

Output Schema

NameRequiredDescriptionDefault
failedNoAlways present, empty list included: read it rather than inferring success from the status code.
clustersNoEvery cluster the assignments referred to, and whether this call created it.
successfulNoTracked queries written, each with the cluster ids it ended up with - the resulting state, not the delta.
unassignedNoTracked queries the job produced no assignment for. Nothing was written for them and they keep the clusters they already had, under every merge mode.
skippedClustersNoProposed names the store cannot hold. A tracked query whose proposed cluster was skipped ends up with fewer clusters than the proposal showed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations (which flag destructiveHint=true and idempotentHint=false), the description discloses mode-specific semantics ('full_regroup' removes memberships from other clusters; 'fill_gaps'/'add_on_top' only add), that nothing is deleted, that cluster names are lower-cased and existing names are reused, and that the response omits removed memberships. It also explains the requestId retry contract, which reconciles with the non-idempotent hint.

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?

A single dense paragraph, but every sentence carries load: mode semantics, non-deletion, naming rules, response shape, and the retry/idempotency contract. It is front-loaded with the core action, though the length is near the limit for one paragraph.

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

Completeness5/5

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

For a mutation tool with an output schema, the description covers everything an agent needs: the workflow prerequisite, per-mode effects, non-destructive guarantees, naming behavior, and the idempotency-key contract. Return values are summarized sufficiently without duplicating the output schema.

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 coverage is only 25%, so the description must compensate. It adds real meaning for jobId (a completed start_auto_clustering job) and requestId ('fresh... reuse it if you retry'), but organizationId and projectId are left entirely undocumented in both schema and description. Partial compensation merits a middle score.

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 states a specific verb and resource ('Apply the grouping a completed start_auto_clustering job proposed') and immediately names the sibling tools involved (start_auto_clustering, get_job). Its scope is clearly distinct from siblings like create_clusters, add_tracked_queries_to_clusters, and start_auto_clustering.

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?

It gives clear workflow context: this tool consumes the output of a completed start_auto_clustering job, and 'show the proposal (get_job) to the user first' tells the agent the required preceding step. It does not explicitly state when not to use it versus manually adding queries to clusters via add_tracked_queries_to_clusters, so it falls short of a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.