Skip to main content
Glama
jgravelle
by jgravelle

suggest_keys

Read-only

Identify and rank primary-key candidates for a dataset, providing confidence scores and reasons for each. Confirm the top candidate against the source system before use.

Instructions

Rank primary-key candidates for a dataset (B5). Each entry carries a confidence score plus the reasons that raised it (integer column, UUID format, no nulls, exact-count unique). Candidates are ranked from profile statistics, so confirm against the source system before treating one as the key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
datasetYesDataset identifier
Behavior4/5

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

The description adds useful context beyond the readOnlyHint annotation by explaining the output contains a confidence score and the evidence behind it (e.g., integer columns, UUID format, nulls, uniqueness). It also discloses that candidates are ranked from profile statistics rather than from an authoritative system, which is an important truth. It does not cover error cases or edge behavior, but for a read-only tool this is a meaningful and positive disclosure.

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

Conciseness5/5

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

The description is compact and begins with the core purpose, then expands to the output format and a caution. Every sentence contributes value, and there is no redundant or trailing wording that would waste an LLM's attention. Despite the include of the ambiguous 'B5' label, the overall structure remains efficient.

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

Completeness4/5

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

For a simple, read-only tool with one required parameter, the description adequately explains what output to expect (confidence score plus reasons) and the caveat that results must be confirmed. It does not describe error behavior for unknown datasets or case involving empty or malformed input, but that is a minor gap given the low complexity and presence of the annotation.

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?

With the only parameter dataset already described in the schema as a 'Dataset identifier' (100% coverage), the description does not add further meaning to the parameter itself. The extra detail about the tool's output is helpful but does not alter how the parameter should be understood. This puts the score at the baseline of 3.

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

Purpose4/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: it ranks principal-key candidates for a dataset. It uses a specific verb and resource, making it easy to distinguish from obvious alternative behaviors like joining or describing data. However, it does not explicitly compare itself with any sibling tool (e.g., suggest_joins), so the differentiation is implicit rather than stated directly.

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

Usage Guidelines2/5

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

The description provides little guidance about when to choose this tool instead of other options. It does mention that candidates are statistically derived and thus need confirmation, but that is more about interpreting the result than about when to invoke the tool. No alternative tools or use cases are mentioned, so the agent must infer the appropriate scenario.

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/jgravelle/jdatamunch-mcp'

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