Skip to main content
Glama

find_rings

Read-onlyIdempotent

Candidate laundering rings: communities of accounts that trade mostly among themselves, found by label propagation on the transfer graph. Cross-bank rings (members at more than one bank) come first, since no single bank can see them whole. Pass account_id to return only the ring that contains that account. FalkorDB features: algo.labelPropagation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
graphNoconsortium
limitNo
max_sizeNo
min_sizeNo
account_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: the algorithm used (algo.labelPropagation) and the ranking rule ('cross-bank rings come first, since no single bank can see them whole'). It does not disclose the return shape (does a ring include its member accounts?) or how limit interacts with ring ordering, which matters since there is 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?

Front-loaded with the core definition, then mechanism, then ranking, then the account_id filter — a sensible order. The trailing 'FalkorDB features: algo.labelPropagation' partially restates the mechanism already named in sentence one, a small redundancy, but the whole is tight and free of filler.

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?

For a 5-parameter, zero-coverage tool with no output schema and no sibling differentiation, the description covers purpose and filtering well but leaves parameter meaning and result structure underspecified. An agent can invoke it correctly with defaults, but cannot reason about what min_size/max_size do or what a returned ring looks like.

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

Parameters2/5

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

Schema description coverage is 0% across 5 parameters, so the description must compensate — and it only explains account_id. limit, max_size, min_size, and graph are left entirely to inference from their names, with no statement of what max_size/min_size bound (ring membership count?) or whether limit caps rings or accounts.

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?

States a specific verb+resource ('find rings' = communities of accounts that trade mostly among themselves) and pins down the mechanism (label propagation on the transfer graph). This distinguishes it clearly from siblings like connected_components, account_network, and similar_accounts, which an agent could otherwise confuse with ring detection.

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

Usage Guidelines3/5

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

It gives one concrete usage branch — 'Pass account_id to return only the ring that contains that account' — which is genuinely helpful. However, it never says when to prefer this over connected_components or account_network, nor whether these are candidate leads that should be confirmed via explain_claim or triage_alert. Usage is implied rather than contrasted with alternatives.

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.