Skip to main content
Glama
Averyy

PCB Parts MCP Server

by Averyy

Find Alternative Parts

jlc_find_alternatives
Read-onlyIdempotent

Find alternative electronic components with better availability when a part has low stock or you need to compare options. Search by LCSC code and filter by stock, package size, library type, and EasyEDA footprint compatibility.

Instructions

Find alternative parts similar to a given component.

Searches the same subcategory for parts with better availability. Useful when a part has low stock or you want to compare options.

Args: lcsc: LCSC part code to find alternatives for (e.g., "C2557") min_stock: Minimum stock for alternatives (default: 10) same_package: If True, only return parts with the same package size library_type: Filter alternatives by library type: - "basic": Only basic parts (no assembly fee) - "preferred": Only preferred parts (no assembly fee) - "no_fee": Basic or preferred (no assembly fee) - best for cost optimization - "extended": Only extended parts ($3 assembly fee each) - "all" or None (default): All library types Use "no_fee" to find cheaper alternatives for an extended part. has_easyeda_footprint: Filter by EasyEDA footprint availability: - True: Only return parts WITH EasyEDA footprints (for Atopile/KiCad users) - False: Only return parts WITHOUT footprints - None (default): Don't filter by footprint (fastest) Note: Filtering by footprint is slower as it checks each alternative. limit: Maximum alternatives to return (default: 10, max: 50)

Returns: Original part info (with library_type and has_easyeda_footprint) and list of alternatives sorted by stock. Alternatives include library_type and specs for easy comparison. When filtering by footprint, alternatives also include EasyEDA UUIDs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
lcscYes
min_stockNo
same_packageNo
library_typeNo
has_easyeda_footprintNo
limitNo

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 what annotations provide. While annotations already indicate this is a read-only, non-destructive, idempotent operation, the description adds practical details about performance implications ('filtering by footprint is slower'), sorting behavior ('sorted by stock'), and response structure. It doesn't contradict annotations, which already cover the safety profile adequately.

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 efficiently organized. It starts with a clear purpose statement, provides usage context, then documents parameters in a structured format with bullet points for enum values, and concludes with return value information. Every sentence adds value without redundancy.

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 (6 parameters, 0% schema coverage) and the presence of an output schema, the description provides excellent contextual completeness. It fully documents all parameters, explains behavioral aspects, provides usage guidance, and describes the return structure. The output schema handles the formal return specification, allowing the description to focus on semantic understanding.

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 providing comprehensive parameter documentation. It explains each parameter's purpose, provides examples (e.g., 'C2557'), documents defaults, enumerates valid values for library_type and has_easyeda_footprint with clear explanations, and offers practical guidance on parameter usage. This goes well beyond what the bare schema provides.

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 with specific verbs ('find alternative parts similar to a given component') and resources ('searches the same subcategory for parts with better availability'). It distinguishes itself from siblings like 'jlc_get_part' or 'jlc_search' by focusing specifically on finding alternatives rather than retrieving or searching for parts generally.

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 guidance on when to use this tool ('useful when a part has low stock or you want to compare options'). It also offers specific usage advice within parameter descriptions, such as recommending 'no_fee' library type 'to find cheaper alternatives for an extended part' and noting that 'filtering by footprint is slower as it checks each alternative.'

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