Skip to main content
Glama
lucatib

kicad-mcp

by lucatib

create_pinout_schematic

Generate a KiCad schematic from a firmware pinout by mapping pin names to net names. Automatically adds wires, net labels, power symbols, and writes the .kicad_sch file without launching KiCad.

Instructions

Create a .kicad_sch from a firmware pinout by importing a symbol from a KiCad library.

assignments maps pin names or numbers to net names, e.g. {"IO4": "LED_STATUS", "GPIO_8": "SPI_MOSI"}. Matching ignores case, underscores and hyphens, so IO4/GPIO_4/io4 all work. Assigned pins get a wire and a net label; power pins get power symbols and PWR_FLAG automatically. The file is written directly and does not need KiCad running.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleNo
outputYes
footprintNo
referenceNoU1
mcu_lib_idYes
assignmentsYes
project_dirNo
connect_powerNo
Behavior5/5

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

Despite having no annotations, the description thoroughly discloses non-obvious behavior: case/underscore/hyphen-insensitive matching, automatic wire/net label creation, power symbol generation with PWR_FLAG, and direct file writing without KiCad. These details go beyond what the schema or annotations provide.

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

Conciseness5/5

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

The description is short and well-structured, with four information-dense paragraphs that front-load the purpose and then explain key behavioral nuances. There is no filler; every sentence contributes meaningful guidance.

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?

The description covers the core operation and the most complex parameter, but it omits explanations for 7 of 8 parameters and does not address return values or side effects like overwriting. Given the tool's complexity and lack of annotations, this the description is useful but leaves noticeable gaps for full autonomous use.

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?

Only the `assignments` parameter receives semantic explanation with an example and normalization rules. Other parameters like `connect_power`, `project_dir`, `footprint`, and `reference` are left entirely to the schema's sparse titles, so the description fails to compensate for the 0% schema coverage.

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?

The description explicitly states the tool's action and output: 'Create a .kicad_sch from a firmware pinout by importing a symbol from a KiCad library.' This clearly distinguishes it from the read-only sibling tools like list_symbol_libraries or export_schematic.

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?

The description implies the use case (generating a schematic from pin assignments) and notes that KiCad does not need to be running, which signals when this tool is appropriate. However, it does not explicitly name alternative tools or negative conditions, so it lacks a full exclusion list.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lucatib/kicad-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server