EasyCircuit
Server Details
Electronics prototyping: real parts and pinouts, wiring checks, and shareable circuit designs.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
get_part, get_part_capabilities, and get_part_pins all return overlapping data for the same part — get_part explicitly includes pin evidence and electrical capabilities, so an agent could reasonably pick it instead of the two specialized tools. The descriptions do differentiate scope (full record vs. focused views), which keeps it from being worse, but the boundaries are fuzzy.
All snake_case with a predictable verb_noun shape (search_parts, check_design, save_design, get_part*, catalog_summary) and the get_part family forms a coherent prefix hierarchy. Minor deviation: catalog_summary is noun-only while its siblings use verbs.
Seven tools is well-scoped for a parts-catalog-plus-design-validation server, with search, lookup, validation, and persistence each represented. The only redundancy is the get_part triplet, which is still reasonably justified by payload size concerns.
Search, lookup, capability/pin detail, validation, and save are covered, but there is no way to list or retrieve saved designs, and no update/delete for existing designs — once saved, a design is only reachable via the returned editor link. An agent cannot resume or iterate on prior work through the tool surface.
Available Tools
7 toolscatalog_summaryCatalog summaryARead-onlyIdempotentInspect
Counts catalog parts by status and role.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only the grouping dimensions; it says nothing about return shape, ordering, or whether counts cover the whole catalog.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Nothing is repeated from the title or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only aggregation tool with no output schema, the description covers the essentials. It could go one step further and state the return shape (counts keyed by status and role), since no output schema exists to document it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly does not invent parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (counts) plus resource (catalog parts) plus the aggregation dimensions (status and role), so the agent knows exactly what the tool returns conceptually. It doesn't explicitly contrast with siblings like search_parts or get_part, but the aggregate nature makes it naturally distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer it is for aggregate overviews rather than part-level lookups. There is no explicit when-to-use or when-not-to-use statement, and no pointer to a sibling for per-part detail.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_designCheck circuit designARead-onlyIdempotentInspect
Runs EasyCircuit's wiring checks on a complete circuit design without saving it. Returns status (passed or blocked), blockingIssues that prevent saving, designWarnings from general electrical rules (such as a part with no ground pin) that do not apply to every part, and reviewWarnings for pin facts that are not yet physically verified.
| Name | Required | Description | Default |
|---|---|---|---|
| design | Yes | A complete circuit. nets: {net_id: {label, color '#rrggbb'}}. components: [{id, name, type: controller|sensor|switch|power|load|bus|protection|camera|assembly|wiring, pins: [{id, label, side: left|right, net}]}]. connections: [{id, from: 'componentId.pinId', to: 'componentId.pinId', net}]. Ids are short lowercase strings and pin labels are the part's real pin labels. The wiring checks expect every wired part's power and GND pins to be wired, a common GND, VCC, GND, SDA and SCL on I2C devices, and a battery or power-supply component for motors, pumps, solenoids and heaters. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered; the description reinforces the non-persisting nature and, importantly, explains the three-tier result semantics (blocking vs. design vs. review warnings). It stops short of stating error behavior for malformed designs or the severity/ordering of issue lists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the operation and scope, followed by the return contract. Every clause carries information; there is no filler or repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly takes on the job of enumerating the return fields and what each warning class means, and the rich input schema covers the argument. What is missing is modest: how the call behaves on an invalid design and whether the check is exhaustive or heuristic.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the nested 'design' schema is unusually detailed, including the wiring expectations the checks enforce (power/GND wiring, I2C pins, power-supply for motors). The description adds nothing about the parameter beyond what the schema already states, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Runs EasyCircuit's wiring checks on a complete circuit design') and immediately scopes it with 'without saving it', which separates it from the sibling save_design. The agent knows exactly what operation occurs and that no persistence side effect follows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'on a complete circuit design without saving it' clearly frames the pre-save validation workflow, and the enumerated outputs (blockingIssues that prevent saving) reinforce that this is the check that gates saving. It never explicitly names save_design as the follow-up alternative, so it falls short of a full when/when-not/alternatives statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_partGet part detailsARead-onlyIdempotentInspect
Returns one catalog part by its catalog id, including its pin evidence and electrical capabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds only the returned scope; it says nothing about not-found behavior or whether missing parts error or return null.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with the verb, scope, and returned content. No filler to cut.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does preview the return contents, which is the main thing an agent needs. Only error/absence handling is left unexplained for an otherwise simple one-parameter read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the load for the single parameter. Calling it 'catalog id' distinguishes it from a generic internal id, but no format, example, or validation detail is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Returns') and resource ('one catalog part'), scoped by catalog id, and previews the payload (pin evidence and electrical capabilities). It implicitly overlaps with get_part_pins and get_part_capabilities but never names them for contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentioning that pin evidence and capabilities are included hints this tool can substitute for the narrower siblings, but that is inference, not instruction. There is no explicit when-to-use/when-not or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_part_capabilitiesGet part capabilitiesARead-onlyIdempotentInspect
Returns the electrical capabilities of an exact part: pin roles, drive type, voltage ranges, required terminals, protocols, and whether each fact is physically verified.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Exact part name, catalog id, or part number. | |
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds useful provenance context ('whether each fact is physically verified'), but says nothing about empty results, unresolved part names, or how limit/offset pagination affects the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the verb and resource, then the returned fields. No filler, no repetition of the title or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the necessary work of enumerating return fields including the verification flag, which is the key non-obvious payload detail. Remaining gaps are pagination behavior and no-match handling, which are minor for a read-only lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% — query is documented, but limit and offset are undocumented in both schema and description. The description reinforces the exactness constraint on query ('exact part'), which adds some value, but it does not compensate for the missing pagination semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('returns the electrical capabilities of an exact part') and enumerates the payload fields (pin roles, drive type, voltage ranges, terminals, protocols). It partially distinguishes itself from siblings by emphasizing 'exact' and electrical capability data, though pin-related overlap with get_part_pins is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'exact' implicitly routes the agent here for known part identifiers rather than search_parts, but there is no explicit statement of when to use this versus get_part, get_part_pins, or search_parts, and no mention of what happens if the exact name does not resolve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_part_pinsGet part pinoutARead-onlyIdempotentInspect
Returns the pinout of an exact part: each pin's function, voltage, direction and polarity, with the source of each fact and any conflicting sources. Long pinouts are paged; next_offset is the offset of the next page.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Exact part name, catalog id, or part number. | |
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, non-open-world, so the safety profile is covered. The description adds real behavioral context beyond that: results carry per-fact provenance, conflicts are surfaced rather than resolved silently, and responses are paged with next_offset. Missing are failure modes for a not-found part and whether provenance/conflicts can be suppressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both earning their place: the return contents come first, paging second. No restatement of the title and no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-shape burden and does so well by naming the per-pin fields and the provenance/conflict data. The paging loop is gestured at but not fully closed (how to use offset alongside next_offset), which is the only notable gap for a read-only lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 33%: only 'query' is documented in the schema, and limit/offset have no descriptions there. The description partially compensates by explaining paging and that next_offset is the next page's offset, but it never pins down what offset/limit do relative to that loop, nor the 64 cap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Returns the pinout of an exact part') and enumerates the returned facts (function, voltage, direction, polarity, sources, conflicts). The 'exact part' qualifier implicitly separates it from search_parts, but no sibling is named explicitly, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the agent learns it must already hold an exact part name, catalog id, or part number, and that it should not expect fuzzy lookup. There is no explicit when-to-use vs get_part / get_part_capabilities / search_parts, and no statement of what happens when the part is unknown.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_designSave design to EasyCircuitAInspect
Saves a circuit design that has no blocking wiring issues and returns a link that opens it in the EasyCircuit editor, with schematic, breadboard and perfboard views, editing, and parts ordering. Anyone with the link can open a copy. Designs with blocking issues are not saved.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Short project name shown in the editor. | |
| design | Yes | A complete circuit. nets: {net_id: {label, color '#rrggbb'}}. components: [{id, name, type: controller|sensor|switch|power|load|bus|protection|camera|assembly|wiring, pins: [{id, label, side: left|right, net}]}]. connections: [{id, from: 'componentId.pinId', to: 'componentId.pinId', net}]. Ids are short lowercase strings and pin labels are the part's real pin labels. The wiring checks expect every wired part's power and GND pins to be wired, a common GND, VCC, GND, SDA and SCL on I2C devices, and a battery or power-supply component for motors, pumps, solenoids and heaters. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare write, non-destructive, non-idempotent, open-world. The description adds genuinely new behavior: the tool returns a link, the link publicly exposes a copy to anyone who has it, and the save is gated on passing wiring checks. The public-sharing disclosure is important and not derivable from annotations. Minor gap: no mention that repeat saves produce distinct links.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: what it does, what you get back, and the failure condition — each front-loaded and non-redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, yet the description explains the return value and what the link enables (schematic, breadboard, perfboard, editing, ordering). Combined with a fully documented nested schema and annotations, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the nested design object is thoroughly documented in the schema itself. The description adds no parameter-level guidance beyond the preconditions, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Saves a circuit design') plus a precondition and return value (a shareable editor link). It doesn't name a sibling tool, but the 'blocking wiring issues' precondition implicitly points at check_design, making the boundary reasonably discoverable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-not condition — designs with blocking issues are not saved — which tells the agent to validate first. It stops short of naming check_design as the required prerequisite step, so the routing is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_partsSearch parts catalogARead-onlyIdempotentInspect
Searches EasyCircuit's electronics parts catalog by name, function or role (for example 'OLED display', 'temperature sensor', 'ESP32 board'). Returns matching parts with their catalog ids, interfaces, pin roles, and whether each can be ordered in a kit.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Optional circuit role, e.g. controller, sensor, load. | |
| limit | No | ||
| query | Yes | What the part is or does. | |
| availability | No | one_click limits results to parts orderable in a kit. | catalog |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnlyHint=true, idempotentHint=true, openWorldHint=false), so the bar is lower. The description adds genuine value by disclosing the return shape — catalog ids, interfaces, pin roles, and kit orderability — which matters since no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb and resource, then the return contents. No filler, no restatement of the title, and the examples earn their space by disambiguating the query format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the necessary work of telling the agent what comes back. The main residual gap is not pointing to get_part / get_part_pins for full part detail or pin-level expansion after a search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% and documents query, role, and availability directly (including the enum meaning). The description's illustrative query examples add mild interpretive value, but it says nothing about limit or the default/max behavior, so the baseline 3 holds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (searches) and resource (EasyCircuit electronics parts catalog), plus the search axes (name, function, role) with concrete examples. It does not explicitly distinguish itself from siblings like get_part or catalog_summary, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the examples ('OLED display', 'temperature sensor') and by the query-by-what-the-part-does framing, but there is no explicit when-to-use versus get_part (lookup by id) or catalog_summary (overview). The agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- First observed
catalog_summary - First observed
check_design - First observed
get_part - First observed
get_part_capabilities - First observed
get_part_pins - First observed
save_design - First observed
search_parts
Related MCP Connectors
Search real parts with datasheet-provenance specs, check compatibility and compose priced BOMs.
Design perfboard and stripboard layouts, check the wiring and get a link to open them in the editor.
AI electronics blueprint generator — BOM, wiring, firmware, renders for Arduino/ESP32/RPi.
Arduino benches simulated in the browser: sessions, sketch push, simulation, tests, challenges.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables planning Arduino/ESP32/Raspberry Pi robotics builds with correct pinouts, wiring diagrams, board references, and code skeletons based on verified component specs.MIT
- AlicenseBqualityAmaintenanceEnables building wire-connected native schematics, visually checking them, editing values, and running native frequency/transient analyses plus symbolic formulas and plots, with results saved as CSV/PNG and openable in the separately installed application.29MIT
- AlicenseNot gradedqualityAmaintenanceAI copilot for PCB design: search real JLCPCB/LCSC parts, build schematics, run ERC, auto-place and autoroute 2-layer boards with DRC, export Gerbers/BOM/pick-and-place, and generate 3D-printable enclosures. Changes appear live in the CircuitPilot browser editor.4Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables an AI model to turn a described circuit into a checked KiCad schematic and board, calculating and simulating every voltage and current with cited sources, and marking anything unverified rather than guessing.Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.