MCP server for IPC-2581 PCB layout analysis and review
PCB Lens defines 6 tools with clear domain focus (IPC-2581 PCB analysis). Tool names follow verb_noun pattern (get_*, export_*) and are appropriately specific. Descriptions are present and domain-appropriate (avg ~120 chars), exceeding the 20-char minimum. Input schemas are visible with type declarations. However, output schemas are not documented in the provided code, parameter descriptions lack detail on formats/constraints, and error handling guidance is minimal. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Missing pagination guidance for potentially large results (e.g., get_pcb_net). Composition is sound, each tool has one responsibility and tools chain naturally (export → query). Security posture is reasonable (read-only operations, file-based I/O) but no explicit validation or error recovery patterns visible.
Export Cadence Allegro design constraints to .tcfx file (Windows only)
Export Cadence Allegro .brd file to IPC-2581 XML format (Windows only)
Read and parse design constraints from .tcfx file (trace width rules, spacing rules, net classes, stackup)
Look up a single PCB component by exact reference designator from IPC-2581 file
Query IPC-2581 PCB layout file for design metadata, layer stackup, and board dimensions
Trace a net's routing, trace widths, vias, and connected pins from IPC-2581 file
Output schemas not documented. LLMs cannot plan downstream tool calls or extract structured data without knowing what fields to expect from each tool.
Parameter descriptions lack format/constraint details. E.g., 'net_name_pattern' says 'regex pattern' but does not specify case sensitivity, anchoring behavior, or what happens if no matches found. LLMs cannot validate inputs without explicit constraints.
No tool annotations despite clear risk classifications. Tools marked READ_ONLY and WRITE should declare readOnlyHint and destructiveHint to guide agent planning and prevent accidental misuse.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
Error handling guidance missing. No indication of what errors are retryable, user-fixable, or fatal. E.g., 'file not found' vs 'invalid regex' vs 'no matches' should guide agent recovery.
Pagination not addressed. Tools like get_pcb_net may return large result sets (many nets, many vias per net). No limit, offset, or cursor parameters visible; no guidance on result caps.