Skip to main content
Glama
Averyy

PCB Parts MCP Server

by Averyy

Get Component Pinout

jlc_get_pinout
Read-onlyIdempotent

Retrieve pinout data for electronic components from EasyEDA symbols using LCSC codes or UUIDs to support PCB design and analysis.

Instructions

Get pin information for a component from EasyEDA symbol data.

Returns raw pin data exactly as EasyEDA provides it, with no interpretation or guessing. Pin names are descriptive (VCC, GND, PA0, etc.) and can be read directly by LLMs and users.

Args: lcsc: LCSC part code (e.g., "C8304"). If provided, fetches UUID automatically. uuid: EasyEDA symbol UUID directly (alternative to lcsc)

One of lcsc or uuid must be provided.

Returns: Pin mapping with: - lcsc: LCSC code (if provided) - model: Part model/name - manufacturer: Manufacturer name - package: Package type - pin_count: Total number of pins - pins: List of pins, each with: - number: Physical pin number (e.g., "1", "2") - name: Pin name exactly as in EasyEDA symbol - electrical: (rare) EasyEDA electrical type if set by symbol creator - easyeda_symbol_uuid: UUID to view symbol at easyeda.com/component/{uuid} - unverified: (only if true) "Symbol not verified by LCSC"

The electrical field is only included when the symbol creator explicitly set it in EasyEDA. Values: "input", "output", "bidirectional", "power". Most symbols don't set this field.

Example output for STM32F103CBT6: {"pin_count": 48, "pins": [ {"number": "1", "name": "VBAT"}, {"number": "2", "name": "PC13-TAMPER-RTC"}, {"number": "10", "name": "PA0_WKUPUSART2_CTSADC12_IN0TIM2_CH1_ETR"}, ... ]}

Example output for MOSFET AO3400: {"pin_count": 3, "pins": [ {"number": "1", "name": "G"}, {"number": "2", "name": "S"}, {"number": "3", "name": "D"} ]}

Example output for RP2040 (has electrical types): {"pin_count": 57, "pins": [ {"number": "1", "name": "1", "electrical": "bidirectional"}, {"number": "2", "name": "2", "electrical": "bidirectional"}, ... ]}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
lcscNo
uuidNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

The description adds valuable behavioral context beyond annotations. While annotations indicate read-only, non-destructive, and idempotent operations, the description clarifies that data is returned 'exactly as EasyEDA provides it, with no interpretation or guessing,' explains the optional 'electrical' field's rarity and possible values, and mentions the 'unverified' flag. This provides important implementation details not covered by annotations.

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 well-structured and appropriately sized. It begins with the core purpose, then explains the return format, details parameters, and provides multiple illustrative examples. Every sentence adds value - there's no redundant information, and the structure helps users quickly understand what the tool does and how to use it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (fetching and returning structured pin data), the description is complete. It explains the purpose, parameters, return format with detailed field descriptions, includes important behavioral notes about data interpretation and optional fields, and provides multiple concrete examples. The presence of an output schema reduces the need to explain return values, but the description still provides valuable context about what to expect.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates by explaining both parameters: 'lcsc: LCSC part code (e.g., "C8304"). If provided, fetches UUID automatically.' and 'uuid: EasyEDA symbol UUID directly (alternative to lcsc).' It also clarifies the relationship between them: 'One of lcsc or uuid must be provided.' This provides complete parameter semantics beyond the bare schema.

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 clearly states the tool's purpose: 'Get pin information for a component from EasyEDA symbol data.' It specifies the exact resource (component pinout) and source (EasyEDA symbol data), and distinguishes itself from siblings like 'jlc_get_part' by focusing specifically on pin information rather than general part data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'One of lcsc or uuid must be provided.' It also distinguishes this tool from alternatives by specifying it returns 'raw pin data exactly as EasyEDA provides it, with no interpretation or guessing,' which helps users understand when to use this versus other data-fetching tools.

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/Averyy/pcbparts-mcp'

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