Skip to main content
Glama
sheares

easyeda-mcp-fix

by sheares

lib_device_modify

Idempotent

Update an EasyEDA library device by changing its name, description, properties, or re-binding its symbol, footprint, or 3D model. Pass only the fields you want to change.

Instructions

Modify a library device — re-bind its symbol/footprint, or change name/classification/description/properties. Pass only the fields you want to change. Pass null to clear an optional field. Use the association arg to swap to a different symbol or footprint UUID.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
propertyNo
deviceNameNoNew device name
deviceUuidYesDevice UUID
associationNoRe-bind symbol/footprint/3D model. Each is { uuid, libraryUuid }.
descriptionNoNew description (null to clear)
instance_idNoTarget EasyEDA instance ID (8-char hex). Required when multiple instances are connected. Omit when only one instance is connected (auto-selected). Use list_instances to see connected instances.
libraryUuidYesLibrary UUID containing the device

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.6.5

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false. The description adds genuinely useful behavioral context beyond that: partial-update semantics and the null-clears-a-field convention. It stops short of permission requirements or failure behavior, but with annotations carrying the safety profile this is a meaningful gain.

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?

Three short sentences, front-loaded with the highest-value info (what can be changed), then patch semantics, then association details. Slight redundancy between 're-bind its symbol/footprint' and the later association sentence, but no filler.

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

Completeness4/5

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

For a complex tool with nested objects and no output schema, the description covers the essential calling semantics: partial updates, null clearing, and association swapping. It omits any statement of return value (acceptable with no output schema) and defers instance selection to the schema, but nothing critical for correct invocation is missing.

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

Parameters4/5

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

Schema coverage is high (86%), so the baseline is 3, but the description adds real meaning: it clarifies that nullable optional fields are cleared by passing null, and it explains the purpose of the nested association object (swap symbol/footprint UUIDs), which the schema only labels tersely. That goes beyond what the schema conveys.

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 names a specific verb (modify) and resource (library device), then enumerates the mutable facets: symbol/footprint re-binding, name, classification, description, and properties. This distinguishes it clearly from its siblings lib_device_delete, lib_device_copy, and lib_get_device.

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

Usage Guidelines3/5

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

It gives solid patch-semantics guidance ('Pass only the fields you want to change', 'Pass null to clear an optional field'), which tells the agent how to invoke it. However, it never states when to prefer this over alternatives like lib_device_copy or lib_device_delete, so usage is only implied.

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