Skip to main content
Glama
mo9652962-ai

circuit-agent

by mo9652962-ai

validate_manufacturing_package

Read-onlyIdempotent

Validate PCB manufacturing packages for CI/CD by checking Gerber, drill, BOM, and CPL completeness and refDes consistency, then generating a SHA-256 tamper-proof ledger.

Instructions

Headless manufacturing package validator for automated CI/CD and developer hand-off: checks completeness and non-emptiness of 5-layer Gerbers, Excellon drill, BOM, and CPL, verifies component refDes consistency, and calculates SHA-256 cryptographic tamper-proof ledger.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modulesNoOptional component modules dict from synthesis for BOM cross-verification.
job_nameNoProject job name for manifest header (default: PCB_PROJECT).PCB_PROJECT
artifacts_dictYesDict mapping filename (e.g. 'board-Edge_Cuts.gm1', 'bom.csv') to content string or bytes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.1

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: it is headless (no UI/interactive dependency) and produces a SHA-256 tamper-proof ledger artifact, which tells the agent what the operation yields beyond a plain pass/fail.

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?

A single dense sentence with a colon-delimited list; the validating purpose is front-loaded and no clause is redundant. It is on the long side but every clause (CI/CD context, artifact list, refDes check, ledger) carries information.

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?

There is no output schema, so the description must carry return-value burden; it discloses only the SHA-256 ledger and not whether validation failures raise errors or return an issue list, nor how completeness/refDes violations are reported. For a validation tool with a required nested-object parameter, that leaves a real gap.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description goes slightly beyond by naming the artifact classes it expects in artifacts_dict (Gerbers, Excellon drill, BOM, CPL), which helps the agent decide what content to map into that required object, though it says nothing about the optional modules or job_name parameters.

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 (validates/checks) and resource (manufacturing package) and enumerates exactly what is examined: 5-layer Gerbers, Excellon drill, BOM, CPL, refDes consistency, and a SHA-256 ledger. This is clearly distinguishable from siblings like validate_netlist, audit_fab_capabilities, and export_gerber_bundle.

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 names the intended setting ('automated CI/CD and developer hand-off'), which implies when to reach for it, but never states when NOT to use it or which sibling to prefer for adjacent tasks (e.g. validate_netlist for netlist-level checks). Usage is implied rather than explicit.

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