Skip to main content
Glama
lyq11

果子狸MCP服务

by lyq11

果子狸MCP服务

果子狸MCP服务把嘉立创 EDA / EasyEDA 专业版原理图连接到支持 MCP 的 AI 客户端。项目由两部分组成:

  • easyeda-extension/:安装在嘉立创 EDA 专业版中的扩展,只执行明确列入白名单的结构化操作。

  • src/server.mjs:运行在本机的 MCP stdio 服务,同时监听 127.0.0.1:49620-49629,供扩展自动发现和连接。

它不依赖 Run API Gateway,不开放 HTTP 代码执行接口,也不使用 evalFunctionAsyncFunction 执行外部代码。

主要功能

  • 无需先打开图页即可列出当前工程中的全部原理图和图页。

  • 读取页面、器件、PIN、导线和网络信息。

  • 创建、批量移动、旋转、删除原理图器件及图元,并可将选定器件与完整导线折线作为一组平移。

  • 创建导线、网络端口和网络标识,并提供按 PIN 方向放置端口的高层工具。

  • 执行原理图 DRC,并原样返回当前 EasyEDA 版本提供的结果。

  • 分析器件密度、交叉连线、网络端口方向等可读性问题。

  • 每次 MCP 进程首次修改一份原理图前自动创建一次完整备份;同一会话后续操作复用该安全点。

  • 在编辑器中显示连接状态悬浮框。

完整工具列表见 docs/EASYEDA_MCP_TOOLS.md,实现与协议见 docs/EASYEDA_MCP_ARCHITECTURE.md

Related MCP server: a2n-easyeda-mcp

环境要求

  • 嘉立创 EDA / EasyEDA 专业版 3.2.x

  • Node.js 20 或更高版本。

  • 支持本地 stdio MCP 服务的客户端,例如 Codex。

安装扩展

  1. 从 GitHub Releases 下载最新版 guozili-mcp-service_v*.eext,或按“从源码构建”生成安装包。

  2. 打开嘉立创 EDA 专业版的扩展管理器。

  3. 导入 .eext 文件并启用“果子狸MCP服务”。

  4. 停用 Run API Gateway,刷新一次编辑器页面。

  5. 顶部菜单进入“果子狸MCP服务”,可查看状态悬浮框、重新连接或停止连接。

安装本地 MCP 服务

git clone https://github.com/lyq11/guozili-mcp-service.git
cd guozili-mcp-service
npm install

服务入口是 src/server.mjs。MCP 客户端应以 stdio 方式启动它;直接调试时也可以运行:

npm start

以 Codex 的 config.toml 为例,将绝对路径替换为实际克隆位置:

[mcp_servers.guozili_easyeda]
command = "node"
args = ["C:\\path\\to\\guozili-mcp-service\\src\\server.mjs"]
startup_timeout_sec = 20
tool_timeout_sec = 120

保存配置后重启 MCP 客户端或新开一个任务。打开原理图后调用 easyeda_health,应能看到 MCP、WebSocket RPC 和 EasyEDA 当前上下文。

连接方式

扩展启动后会自动扫描 49620-49629,找到协议匹配的本机 MCP 服务后注册。默认仅监听环回地址,不接受局域网或公网连接。

可用环境变量:

变量

作用

EASYEDA_MCP_PORT_START

扫描端口范围起点,默认 49620

EASYEDA_MCP_PORT_END

扫描端口范围终点,默认 49629

EASYEDA_MCP_TOKEN

覆盖 MCP 服务端认证令牌;必须与自行构建的扩展保持一致

EASYEDA_MCP_SESSION_ID

固定会话 ID,通常无需设置

EASYEDA_MCP_DEBUG=1

向 stderr 输出 RPC 调试日志

发布包中的扩展使用内置的本机握手令牌。若要轮换令牌,请同时修改 easyeda-extension/src/protocol.ts 或通过自己的构建流程注入相同值。

从源码构建

npm install
npm run check
npm run test:pin-layout
npm run test:rpc

cd easyeda-extension
npm install
npm run check
npm run build

生成的扩展包位于:

easyeda-extension/dist/guozili-mcp-service_v0.2.2.eext

扩展安装并打开原理图后,可在仓库根目录执行联机冒烟测试:

npm run test:smoke

安全边界

  • WebSocket 仅绑定 127.0.0.1

  • MCP 和扩展通过 RPC v1 与令牌握手。

  • 插件只接受固定能力清单内的结构化方法。

  • 请求体最大 2 MiB,认证及 RPC 均设有超时。

  • 写操作串行执行,但一组 EasyEDA API 操作不是数据库事务;失败时可使用自动备份恢复。

许可证

本项目使用 Apache License 2.0,详见 LICENSE。果子狸图标为本项目生成的原创资产,可随本项目在同一许可证下使用。

Available Tools

10 tools
schematic_create_net_flagsC

Create standard power, ground, analog-ground, or protection-ground flags.

ParametersJSON Schema
NameRequiredDescriptionDefault
flagsYes
reasonNo创建标准网络标志
pageUuidYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided; description only says 'create' but omits behavioral details like side effects, permissions needed, or whether existing flags are affected. Very minimal.

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?

Single sentence with no extraneous words. Efficiently conveys the core purpose.

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?

No output schema, nested flags array with required fields, and optional reason parameter are not explained. Insufficient for a tool with complex inputs.

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 description coverage is 0%. The description mentions the identification enum values but does not explain other parameters like net, x, y, rotation, or reason. Adds little beyond the schema.

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?

The description clearly states the tool creates net flags (power, ground, analog-ground, protection-ground). It specifies the resource and action, but does not explicitly differentiate from sibling create tools like schematic_create_texts or schematic_create_wires.

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?

No guidance on when to use this tool, prerequisites (e.g., page existence), or when not to use it. Alternatives are not mentioned.

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

schematic_create_textsC

Create one or more human-readable schematic annotations.

ParametersJSON Schema
NameRequiredDescriptionDefault
textsYes
reasonNo创建原理图文字标注
pageUuidYes

TDQS

C2.7/5.0
Behavior2/5

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

The description does not disclose behavioral traits such as mutation effects, reversibility, or side effects. Without annotations, the agent lacks insight into what the tool does beyond the basic action.

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

Conciseness3/5

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

The description is a single sentence with no redundancy, but it is too sparse to be effective—it sacrifices completeness for brevity.

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?

Given the complexity (3 parameters, nested array, no output schema, no sibling differentiation), the description is insufficient for correct tool invocation. Missing details on return behavior, error cases, and parameter semantics.

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

Parameters1/5

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

The description adds no meaning beyond the input schema. Schema has 0% description coverage, so parameters like 'reason', 'pageUuid', and the 'texts' array are left entirely unexplained.

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 action ('Create') and the resource ('human-readable schematic annotations'), which effectively distinguishes it from sibling tools like schematic_create_wires or schematic_create_net_flags.

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?

No guidance is provided on when to use this tool versus alternatives, no prerequisites, and no mention of context or intended use cases.

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

schematic_create_wiresA

Create direct named wires. A net name can be assigned without placing a net port or label first.

ParametersJSON Schema
NameRequiredDescriptionDefault
wiresYes
reasonNo创建原理图直接导线
pageUuidYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the key behavior of assigning net names directly but lacks details on side effects, required permissions, or what happens if a net name already exists.

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?

Two short, front-loaded sentences with no fluff. Every word adds value.

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?

Given the complexity of nested 'wires' array and lack of output schema, the description is too brief. It does not cover parameter details, coordinate format, or behavioral implications, leaving the agent underinformed.

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

Parameters1/5

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

With 0% schema description coverage and no parameter explanations in the description, the tool adds no semantic value for the 3 parameters ('wires', 'reason', 'pageUuid'). The description does not clarify the structure of 'wires' or the meaning of 'line'.

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 creates direct named wires and distinguishes it from sibling tools like schematic_create_net_flags by noting that a net name can be assigned without placing a net port or label first.

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?

It implies when to use (when you want to assign a net name without a port/label) but does not explicitly state when not to use or provide alternative tools.

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

schematic_delete_pageB

Delete one schematic page; the only remaining page cannot be deleted.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo删除原理图页
pageUuidYes

TDQS

B3.3/5.0
Behavior3/5

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

Without annotations, the description carries the full burden. It discloses the destructive nature and the constraint about the last page, but does not cover other behavioral aspects such as permission requirements, reversibility, or side effects on related elements.

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?

The description is a single sentence, front-loading the action and constraint. It is concise but lacks details about parameters and usage, which is appropriate for a simple tool but could be more informative.

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?

Given the tool has two parameters, no output schema, and no annotations, the description is minimally adequate. It covers the core operation and a key constraint, but it does not explain return values, error cases, or parameter details, leaving gaps for an agent.

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?

The schema has 0% description coverage for parameters, and the description does not explain the purpose of 'pageUuid' or 'reason' beyond the schema structure. The description adds no meaningful guidance on how to obtain the UUID or how the reason parameter is used.

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 action 'Delete' and the resource 'schematic page', and includes a specific constraint about the last remaining page, which distinguishes it from sibling tools that deal with other schematic operations.

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?

The description does not provide explicit guidance on when to use this tool versus alternatives like 'schematic_rename_page' or 'schematic_move_components'. It only mentions a constraint (cannot delete the last page), but no when-to-use or when-not-to-use advice.

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

schematic_delete_primitivesC

Delete components and wires by primitive ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo删除原理图图元
wireIdsNo
pageUuidYes
componentIdsNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations exist, so the description bears full burden. It only states the basic operation without disclosing behavioral traits such as permanence, undo support, or constraints (e.g., cannot delete primitives if referenced elsewhere).

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?

The description is a single concise sentence with no wasted words. However, it could benefit from slightly more detail without losing conciseness.

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?

Given the complexity (4 parameters, no output schema), the description is insufficient. It does not explain the effect of deleting primitives, what happens with empty arrays, or how the tool integrates with other schematic operations.

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

Parameters1/5

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

Schema description coverage is 0%, requiring the description to explain parameters. It only mentions 'by primitive ID', but fails to clarify the 'reason' field, 'pageUuid' required parameter, or the default empty arrays for wireIds/componentIds.

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 action ('Delete'), the resources ('components and wires'), and the method ('by primitive ID'), distinguishing it from siblings like schematic_delete_page which deletes the entire page.

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?

No guidance is provided on when to use this tool versus alternatives (e.g., schematic_delete_page or other deletion tools). The description does not mention prerequisites or context.

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

schematic_inspect_regionB

Read components and wires that touch a rectangular schematic region.

ParametersJSON Schema
NameRequiredDescriptionDefault
topYes
leftYes
rightYes
bottomYes
pageUuidYes
includeWiresNo
includeComponentsNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states 'Read components and wires that touch a rectangular schematic region', leaving out critical behavioral details such as whether 'touch' means intersect or fully contain, coordinate system or units, return format, or performance implications for large regions.

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

Conciseness3/5

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

The description is a single short sentence, which is concise. However, it is too sparse to cover the tool's semantics. Conciseness is not synonymous with brevity when critical information is missing.

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?

Given 7 parameters (5 required), no output schema, and no annotations, the description is far from complete. It fails to specify what the output looks like, how coordinates are interpreted, or the meaning of 'touch'. Essential context is missing for an agent to use the tool correctly.

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 description coverage is 0%, so the description must explain parameters. It mentions only 'rectangular schematic region' but does not define left, top, right, bottom (units, coordinate system) nor explain the boolean flags includeWires and includeComponents. The parameter names are self-explanatory, but the description adds no extra value.

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 uses the specific verb 'Read' and resource 'components and wires touching a rectangular schematic region'. It clearly distinguishes from sibling tools, which are mostly creation/deletion operations (e.g., schematic_create_wires, schematic_delete_primitives) or search (component_search). The tool's read-only intent is immediately clear.

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?

The description implies the tool is for inspecting a region, but it does not provide explicit guidance on when to use it versus alternatives (e.g., component_search for non-region searches). There is no mention of prerequisites, limitations, or scenarios where this tool is preferred.

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

schematic_move_componentsA

Move one or more existing part components to absolute schematic coordinates. Inspect the page first to obtain primitive IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo移动既有原理图器件
pageUuidYes
movementsYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It discloses the action and prerequisite but lacks details on behavioral traits such as permanence, error handling, constraints (e.g., snapping), or side effects. The description is minimal for a mutation tool.

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 two concise sentences, front-loading the main action and then providing a prerequisite. There is no fluff; every word contributes useful information.

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?

Given the tool's complexity (3 parameters, no output schema, no annotations), the description covers the core action and a key prerequisite. However, it lacks information about return values, error scenarios, and whether the operation is reversible. It is adequate but not thorough.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It adds meaning by stating 'absolute schematic coordinates' for x/y and 'primitive IDs' for componentId. However, it does not explain the optional 'reason' parameter or provide full details on the pageUuid. It partially clarifies the parameters but is not comprehensive.

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 verb 'move' and the resource 'existing part components' with the scope 'to absolute schematic coordinates'. It distinguishes this tool from siblings (e.g., create, delete, inspect) by specifying the action and providing a prerequisite hint.

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 includes a clear prerequisite: 'Inspect the page first to obtain primitive IDs', guiding the agent on the necessary step before using this tool. It does not explicitly list alternatives or when not to use, but the context is sufficient for a straightforward move operation.

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

schematic_rename_pageC

Rename one schematic page directly.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
reasonNo重命名原理图页
pageUuidYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It only says 'directly,' which is vague. It does not mention side effects, required permissions, or impact on references.

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

Conciseness3/5

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

The description is very short (5 words), but lacks structure such as parameter details or usage notes. It is concise but under-specified.

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

Completeness1/5

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

Given three parameters (two required), no output schema, and no annotations, the description is grossly incomplete. It does not mention return values, error conditions, or preconditions.

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

Parameters1/5

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

Schema description coverage is 0%, but the description adds no meaning to the parameters (pageUuid, name, reason). It does not explain what any parameter does or how to use them.

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?

The description clearly states the action (rename) and the resource (schematic page), with a specific verb and directness. It distinguishes from siblings like schematic_delete_page, but could elaborate on what a schematic page is.

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?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It only states the action without context.

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

schematic_run_drcB

Run strict schematic DRC on a page. EasyEDA may return only aggregate counts in some versions.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageUuidYes

TDQS

B3.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It does disclose a behavioral nuance: 'EasyEDA may return only aggregate counts in some versions.' However, it omits whether the operation is destructive, requires special permissions, or has side effects. Partially transparent.

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?

Two concise sentences with no extraneous information. The first sentence states the core purpose, the second adds a valuable caveat. Well-structured and efficient.

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?

For a simple tool with one parameter and no output schema, the description covers the basic purpose and a notable version-specific behavior. However, it lacks details about what DRC checks are performed, expected output format, and any prerequisites like having a valid schematic page. Adequate but could be more complete.

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

Parameters1/5

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

Schema description coverage is 0% and the description does not explain the sole parameter 'pageUuid' beyond what the schema's name and type imply. The description adds no semantic value to help the agent construct correct input.

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?

Clearly states the action ('Run strict schematic DRC') and resource ('on a page'). The verb is specific and the resource is well-defined, distinguishing it from sibling tools like schematic_create_texts or schematic_delete_page.

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?

No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, when-not to use, or reference other tools. The caveat about aggregate counts is a behavioral note, not a usage guideline.

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

TDQS

B3.3/5.0
Disambiguation5/5

Each tool targets a distinct schematic operation, from library search to creating annotations, deleting, moving, inspecting, and running DRC. No two tools have overlapping purposes.

Naming Consistency5/5

All tools follow a consistent prefix (component_ or schematic_) followed by clear snake_case action names, making the pattern predictable and easy to navigate.

Tool Count5/5

With 10 tools covering essential schematic editing tasks, the count is well-scoped for a focused MCP server without unnecessary bloat.

Completeness3/5

The toolset covers basic schematic operations but lacks a tool to actually place a component from the library (only search is provided) and no update capability for existing primitives, leaving notable gaps for common workflows.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Enables MCP clients to control EasyEDA Pro for schematic and PCB design through natural language, bridging the EasyEDA API without external AI or API keys.
    49
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP clients like Claude Code to control a running EasyEDA Pro instance for PCB design automation, including DRC checks, project management, and script execution via a bridge server.
    49
    MIT

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/lyq11/guozili-mcp-service'

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