Skip to main content
Glama
EasyEDA Pro MCP

EasyEDA Pro MCP

List PCB components

easyeda_list_pcb_components
Read-only

Lists normalized PCB components with designators, footprints, layers, coordinates, rotation, and optional pad/property details; filter by layer or text query.

Instructions

Lists normalized PCB components with designator, footprint, placement layer, coordinates, and rotation angle.

Input Schema

NameRequiredDescriptionDefault
layerNoFilter components by placement layer.all
limitNo
queryNoOptional text filter against component designator, footprint, or value.
targetNoExpected active PCB target.
timeoutMsNo
includeRawNo
includePadsNoInclude normalized pad details for each component.
includePropertiesNoInclude custom properties and attributes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.4.1
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / properties / includePads
      Added value: +{
      +  "description": "Include normalized pad details for each component.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / includeProperties
      Added value: +{
      +  "description": "Include custom properties and attributes.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / target
      Added value: +{
      +  "description": "Expected active PCB target.",
      +  "properties": {
      +    "capturedAt": {
      +      "type": "string"
      +    },
      +    "documentId": {
      +      "type": "string"
      +    },
      +    "documentName": {
      +      "type": "string"
      +    },
      +    "documentType": {
      +      "enum": [
      +        "schematic",
      +        "pcb",
      +        "symbol",
      +        "footprint",
      +        "unknown"
      +      ],
      +      "type": "string"
      +    },
      +    "fingerprint": {
      +      "type": "string"
      +    },
      +    "pageId": {
      +      "type": "string"
      +    },
      +    "pageIndex": {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "projectId": {
      +      "type": "string"
      +    },
      +    "projectName": {
      +      "type": "string"
      +    },
      +    "tabId": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Addedv1.3.1

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=false and destructiveHint=false, so the safety profile is covered. The description adds that results are 'normalized' and lists the returned fields, which is meaningful since no output schema exists. It does not disclose the default/capped result count (limit 100, max 500) or any pagination behavior, which matters for a non-idempotent list call.

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 tight sentence with the resource and returned fields front-loaded and no filler. It is arguably too terse for an 8-parameter tool with a nested target object, but nothing in the sentence is wasted.

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

Completeness2/5

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

For a tool with no output schema, 8 parameters including a nested target object, and a broad sibling set, the description covers only the return-field list. It omits the active-document targeting requirement, result limiting, and the optional pad/property expansions, leaving an agent to infer targeting and pagination from the schema alone.

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?

Schema coverage is only 63%: layer, query, includePads and includeProperties are documented in the schema, while limit, timeoutMs, includeRaw and the nested target object are not. The description adds nothing about any parameter—no mention of layer filtering, text query, pad/property expansion, or that target identifies the expected active tab/page. It enumerates output fields rather than explaining inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Lists normalized PCB components') and enumerates exactly which attributes come back (designator, footprint, layer, coordinates, rotation). It is clear what the tool does, but it never distinguishes itself from the similarly-named easyeda_list_schematic_components or from easyeda_get_pcb_pads, so sibling differentiation is left to the PCB/schematic wording.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, no mention that the tool operates on the active PCB document, and no routing to alternatives such as easyeda_get_pcb_pads for pad-level detail or easyeda_find_component for lookup. The 'pcb' in the name implies context but the description provides none.

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