Skip to main content
Glama

jlcpcb_library

Check and update a local JLCPCB parts library for assembly stock and part data, with background updates that keep the current database available until the new copy is complete.

Instructions

The JLCPCB parts library on this machine: the local database of the parametric search with the source jlcpcb (JLCPCB stock for the assembly and library class). The update runs in the background: this tool answers at once, and status gives the progress. The old database stays until the new one is complete and checked. Tell the user the limits of the data that the result gives.

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": "jlcpcb_library"
  }
}

Input Schema

NameRequiredDescriptionDefault
actionNostatus: the state of the update job and of the local database. update: start the download of the JLCPCB parts library in the background (276 MB to download, 2.2 GB on the disk; 20 s on a fast connection, some minutes on a slow one), then call status until the update is done or failed. Start an update only when the user asks for it.status

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.0

TDQS

B3.3/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does meaningful work: it discloses that updates run in the background, that calls return immediately rather than blocking, and that the old database remains in place until the new one is complete and verified (an atomic-swap guarantee). The closing instruction to communicate the limits of the returned data also signals that results may be partial or stale, though permissions and failure handling are left unstated.

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

Conciseness3/5

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

The description is short in absolute terms but front-loads a definition of the data source instead of what the tool does, and the phrasing is awkward and indirect ("the local database of the parametric search with the source jlcpcb"). The final sentence about telling the user the data limits is useful but reads as an appended instruction rather than an integrated part of the definition.

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 single-parameter tool with full schema coverage and an output schema, the description covers the important operational facts: background execution, immediate return, progress checking via status, and the safe swap of the old database. The main remaining gap is sibling disambiguation against `distributor_status` and the parts-listing tools.

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 description coverage is 100% for the single `action` parameter, including the status/update enumeration, download size, disk footprint, and timing — so the schema already does the explanatory work. The description adds only a light restatement (background updates, status reports progress) and nothing about the parameter itself beyond what is already documented.

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

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the resource — the local JLCPCB parts-library database used by the parametric search — but never states an action verb for the tool itself, so the agent must read the schema's `action` parameter to learn that this tool reports status and starts updates. It also does not distinguish itself from the sibling `distributor_status`, which by name appears to play the same status role for a different data source.

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 context is implied rather than stated: "this tool answers at once, and status gives the progress" suggests calling it to check progress, and the background-update note hints that a separate update action exists. The explicit rule "Start an update only when the user asks for it" lives in the schema parameter description, not the tool description, and there is no guidance on choosing between this and `distributor_status` or `list_parts`.

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