Skip to main content
Glama

altium_library_query

Read-only

Query Altium DbLib tables or component records to resolve existing symbol and footprint files, with SQL LIKE part-number matching and optional library selection. Read-only; no database writes.

Instructions

Read the configured DbLib tables or component records and resolve existing symbol/footprint files. No database writes. Use ALTIUM_DBLIB or supply library. Part-number match supports SQL LIKE wildcards.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "altium_library_query"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
tableNo
libraryNo
matchFieldNo
partNumberNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

B3.2/5.0
Behavior3/5

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

The readOnlyHint annotation already declares the safety profile, so 'No database writes' is redundant. The description does add genuinely new context: the ALTIUM_DBLIB configuration requirement, the library override, and that part-number matching uses SQL LIKE wildcards. It says nothing about return shape, pagination, or the 20-record cap.

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?

Four short, front-loaded sentences with no filler; the core read operation comes first and the configuration note follows. Slightly fragmented phrasing but no wasted text.

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?

With no output schema and zero schema descriptions, the definition should explain the parameters and what a resolved record contains. It covers configuration and wildcard matching but leaves the enumeration field, table selection, and result shape unaddressed.

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 five parameters, so the description carries the full burden. It only clarifies library (env var or explicit) and partNumber (LIKE wildcard matching), leaving table, matchField, and limit completely undefined in both schema and prose.

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 states a specific verb and resource: it reads DbLib tables or component records and resolves symbol/footprint files. That distinguishes it from the write/validate/prepare siblings by implication, though no sibling is named explicitly.

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?

Usage is implied (looking up parts in a configured library) and it clarifies the configuration path: use the ALTIUM_DBLIB environment variable or supply the library parameter. It never says when to prefer this over altium_library_validate or altium_library_build, and gives no exclusions beyond 'no database writes'.

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