Skip to main content
Glama

lib_dblib_get_record

Fetches every column of a database library table row by key, optionally using a specific key field, and returns values, footprint references, and lookup status.

Instructions

Every column of one row of a database library table.

The row is found by its key, the value in the table's key column (key in a lib_dblib_search result; the column is key_field in lib_dblib_info). The key is passed to the database as a parameter, never as SQL text. lookup says how the row was found: parameter when the database matched it, scan when the parameterised query could not run and the table was read and compared instead.

Args: library_path: Full path of the .DbLib file. table: A table the DbLib declares. key: The row's key value. key_field: Optional column to match instead of the DbLib's own key column; it must be a column of the table.

Returns: {"library_path", "table", "key", "key_field", "key_field_source", "lookup", "found", "match_count", "rows_scanned", "scan_capped", "symbol_ref", "symbol_library", "footprints": [{"ref", "library"}], "description", "fields": {column: value}}. found False is an answer, not an error: the key is not in that table. match_count above 1 means the key is not unique and the first row is shown.

Input Schema

NameRequiredDescriptionDefault
keyYes
tableYes
key_fieldNo
library_pathYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.5/5.0
Behavior4/5

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

With zero annotations the description carries the full burden and does so well: it discloses that the key is bound as a parameter never as SQL text, that a fallback table scan may occur, that found=false is a valid answer rather than an error, and that match_count>1 returns the first row. It leaves scan_capped and the performance/consistency tradeoffs of scan mode unexplained, keeping it from a 5.

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 action, then lookup semantics, then Args/Returns blocks — a clean structure with no filler. The Returns list is long, but since it is the only place those semantics are explained, it earns its space.

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?

Covers everything an agent needs for a 4-parameter lookup tool with no annotations: input sourcing, key-field override, SQL-safety note, lookup provenance, and the non-error not-found case. Although an output schema exists, the description still adds interpretive value about found/match_count rather than merely restating fields.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must define every parameter — and it does: library_path as the full .DbLib path, table as a declared table, key as the row's key value, and key_field as an optional alternative match column with the constraint that it must belong to the table. This is meaningfully more than the bare schema types.

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?

Opens with a precise verb+resource+scope: 'Every column of one row of a database library table.' It names the sibling tools that produce its inputs (lib_dblib_search, lib_dblib_info), which makes it clearly distinct from the search and info tools in the same family.

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?

Explains how to obtain the key and key_field from lib_dblib_search / lib_dblib_info, and when key_field is applicable (must be a column of the table). It does not state exclusions (e.g., when to prefer lib_dblib_search instead, or cost implications of scan mode), so it falls short of a full when/when-not treatment.

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

Deploy Server

Other Tools