Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

EasyGerber: AI PCB design, layout, and routing

REMOTE · WWW.EASYGERBER.COM

AI PCB design, layout, and routing

−3 this week 67 Trust /100

Last scanned (19 hours ago)

Scores higher than 53% of remote servers

Reachable. Last reached 4 Nov 2026.

Category IoT and Hardware

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability62
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 5255 tokens (~350/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management19
  • Stability check failed: schema churn in the 18 days we've observed: 2 tool removals, 8 breaking changes, 0 auth/transport breaks, 2 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Nov 26 −5
    • Stability: 0.53 → fail ▼ security
    • A breaking change shipped without a version bump: still 0.1.0 ▼ security
    • Tool “claim_guest_board” was removed ▼ security
    • Tool “start_guest_session” was removed ▼ security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “check_board_layout” rewrote its description, which is the text the model reads security
    • Tool “create_board” rewrote its description, which is the text the model reads security
    • Tool “export_board” rewrote its description, which is the text the model reads security
    • Tool “generate_layout” rewrote its description, which is the text the model reads security
    • Tool “get_board” rewrote its description, which is the text the model reads security
    • Tool “get_generation” rewrote its description, which is the text the model reads security
    • Tool “get_part” rewrote its description, which is the text the model reads security
    • Tool “get_profile” rewrote its description, which is the text the model reads security
    • Tool “list_boards” rewrote its description, which is the text the model reads security
    • Tool “search_parts” rewrote its description, which is the text the model reads security
    • Tool “stop_generation” rewrote its description, which is the text the model reads security
    • Tool “update_board” rewrote its description, which is the text the model reads security
    • Tool “get_board” is now declared destructive security
    • Schema quality: 290 → 350 ▼ functional
    • “check_board_layout” added a required parameter “boardRef”, so existing callers break ▼ functional
    • “create_board” added a required parameter “boardRef”, so existing callers break ▼ functional
    • “delete_board” added a required parameter “boardRef”, so existing callers break ▼ functional
    • “export_board” added a required parameter “boardRef”, so existing callers break ▼ functional
    • “generate_layout” added a required parameter “boardRef”, so existing callers break ▼ functional
    • “get_board” added a required parameter “boardRef”, so existing callers break ▼ functional
    • “get_generation” added a required parameter “boardRef”, so existing callers break ▼ functional
    • “stop_generation” added a required parameter “boardRef”, so existing callers break ▼ functional
    • “update_board” added a required parameter “boardRef”, so existing callers break ▼ functional
    • “check_board_layout” dropped the required parameter “boardId” ▼ functional
    • “delete_board” dropped the required parameter “boardId” ▼ functional
    • “export_board” dropped the required parameter “boardId” ▼ functional
    • “generate_layout” dropped the required parameter “boardId” ▼ functional
    • “get_board” dropped the required parameter “boardId” ▼ functional
    • “get_generation” dropped the required parameter “boardId” ▼ functional
    • “stop_generation” dropped the required parameter “boardId” ▼ functional
    • “update_board” dropped the required parameter “boardId” ▼ functional
    • “get_part” added an optional parameter “boardRef” cosmetic
    • “list_boards” added an optional parameter “boardRef” cosmetic
    • “search_parts” added an optional parameter “boardRef” cosmetic
    • “check_board_layout” dropped the optional parameter “guestToken” cosmetic
    • “create_board” dropped the optional parameter “guestToken” cosmetic
    • “export_board” dropped the optional parameter “guestToken” cosmetic
    • “generate_layout” dropped the optional parameter “guestToken” cosmetic
    • “get_board” dropped the optional parameter “guestToken” cosmetic
    • “get_generation” dropped the optional parameter “guestToken” cosmetic
    • “get_part” dropped the optional parameter “boardId” cosmetic
    • “get_part” dropped the optional parameter “guestToken” cosmetic
    • “list_boards” dropped the optional parameter “guestToken” cosmetic
    • “search_parts” dropped the optional parameter “boardId” cosmetic
    • “search_parts” dropped the optional parameter “guestToken” cosmetic
    • “stop_generation” dropped the optional parameter “guestToken” cosmetic
    • “update_board” dropped the optional parameter “guestToken” cosmetic
    • “get_generation” made “generationId” optional cosmetic
  • 2 Nov 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “check_board_layout” rewrote its description, which is the text the model reads security
    • Tool “export_board” rewrote its description, which is the text the model reads security
    • Tool “start_guest_session” rewrote its description, which is the text the model reads security
  • 1 Nov 26 +1
    • Tool “create_board” rewrote its description, which is the text the model reads security
    • Tool “export_board” rewrote its description, which is the text the model reads security
    • Tool “update_board” rewrote its description, which is the text the model reads security
    • “create_board” reworded the description of “boardEdits” cosmetic
    • “get_part” reworded the description of “factOffset” cosmetic
    • “get_part” reworded the description of “factQuery” cosmetic
    • “get_part” reworded the description of “id” cosmetic
    • “search_parts” reworded the description of “capacitance” cosmetic
    • “search_parts” reworded the description of “category” cosmetic
    • “search_parts” reworded the description of “frequency” cosmetic
    • “search_parts” reworded the description of “inductance” cosmetic
    • “search_parts” reworded the description of “jlcpcbBasic” cosmetic
    • “search_parts” reworded the description of “resistance” cosmetic
    • “search_parts” reworded the description of “subcategory” cosmetic
    • “search_parts” reworded the description of “voltageRating” cosmetic
    • “update_board” reworded the description of “boardEdits” cosmetic
  • 30 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 25 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 24 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “create_board” rewrote its description, which is the text the model reads security
    • Tool “generate_layout” rewrote its description, which is the text the model reads security
    • Tool “get_part” rewrote its description, which is the text the model reads security
    • Tool “search_parts” rewrote its description, which is the text the model reads security
    • Tool “start_guest_session” rewrote its description, which is the text the model reads security
    • Tool “update_board” rewrote its description, which is the text the model reads security
    • Schema quality: 249 → 275 ▼ functional
    • “check_board_layout” reworded the description of “expectedRevision” cosmetic
    • “delete_board” reworded the description of “expectedRevision” cosmetic
    • “generate_layout” reworded the description of “expectedRevision” cosmetic
    • “update_board” reworded the description of “expectedRevision” cosmetic
  • 23 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Probed https://www.easygerber.com/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=*.easygerber.com CN=YR2,O=Let's Encrypt,C=US 7 Sept 2026 6 Dec 2026 RSA 2048 SHA256-RSA 50391ba71006f8070f98a22f699ce1a8864
SANs: *.easygerber.com, easygerber.com
CN=YR2,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA 4ebd24947e24d394802d84a52fd5b319
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of www.easygerber.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
easygerber.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000
x-content-type-options nosniff

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://www.easygerber.com/api/mcp Verified 200
http (plaintext) http://www.easygerber.com/api/mcp HTTPS enforced 308 https://www.easygerber.com/api/mcp
MCP tools · 15 exposed · ~4,662 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
check_board_layout ~242

Checks a saved PCB layout at expectedRevision for manufacturing or layout review. Its geometry and applied electrical requirements must both be current. A missing or stale layout requires generate_layout and completion first; electrical_requirements_not_applied also requires regeneration before checking or manufacturing export. Reuses a current assessment or computes and saves one, which requires write access and normal compute capacity. If the board changes during the check, read get_board again. Returns hasBlockingIssues and actionable blockingIssues; no numeric score or deductions.

NameTypeReqDescription
boardRefstringyesPrivate board reference. For a new board generate 32 random bytes, encode as unpadded base64url, and prepend egbr1_. Keep this same value for creation retries and every later board operation. Copy re…
expectedRevisionintegeryesLatest saved revision from create_board, update_board or get_board. Reuse it if no intervening change is known. A mismatch returns revision_conflict; read the board again before preparing a new opera…
NameTypeReqDescription
dataobjectyes–

No examples provided.

create_board ~824

Creates a saved schematic from published catalog parts and verified pins. Supply a fresh private boardRef, name, requestId and intent. To make boardRef, generate 32 random bytes locally, encode as unpadded base64url and prepend egbr1_. The server uses the connected account when available; otherwise it establishes private board access automatically. Keep this SAME boardRef for all later reads, edits, status and export calls. Store it in this conversation or supported private execution state before submitting; do not discard it between isolated calls. Identical retries with the same boardRef, requestId and arguments recover the original creation. Do not use a new reference to recover existing work. Return the complete private board link to this user after creation so later turns can continue it; never log private references or put them in source files. Omit boardEdits unless physical customization is requested; server defaults supply settings, footprints, models and manufacturing limits. Account boards are personal unless organizationId is specified. Use returned revision as expectedRevision when starting layout. Use update_board for existing work. Thin intent format: each parts entry is an array of strings [id, dbId, value], with an optional fourth designator. Choose id as the design-local part ID; copy dbId from the catalog result's id; value is the required value/display label. Omit the fourth designator when it matches id. Each connections entry is {net, class, pins}; class is power, signal, or ground. Each pins entry is [partId, padId]: use the design-local part ID and copy padId from the catalog result's pins[].number, both as strings. Optional pinCurrentRequirements uses those same partId and padId identities with requiredCurrentA in amperes and direction into, out, or bidirectional relative to the net. Omit the list to retain existing values; a supplied list replaces it, and [] clears it. If validation rejects the proposal, preserve the schematic and valid ca…

NameTypeReqDescription
boardEditsobject–Physical patch; omitted fields retain existing values. settings changes only supplied app-supported settings (dimensions in mm). outline replaces the outline with a library choice or complete generat…
boardRefstringyesPrivate board reference. For a new board generate 32 random bytes, encode as unpadded base64url, and prepend egbr1_. Keep this same value for creation retries and every later board operation. Copy re…
intentobjectyesComplete initial schematic using published catalog IDs and verified pins. Parts and connections use the thin intent format described by this tool.
namestringyesDisplay name for the board.
organizationIdstring–Organization ID from list_organizations. Omit for personal account boards; guest sessions cannot use organizations.
requestIdstringyesNew UUID for this operation. Reuse it with identical arguments when retrying an uncertain result; use a new UUID for a different operation.
NameTypeReqDescription
dataobjectyes–

No examples provided.

delete_board ~240

Permanently deletes the specified saved account board when the user requests its removal. Requires explicit boards:delete authorization and personal ownership or organization owner/admin access; guest boards are unsupported. Read get_board first and pass its current revision. Deletion cancels active generation jobs and cannot be undone. A revision conflict requires reading the board again. Missing, already deleted or inaccessible boards return the same not_found error; this does not confirm that an earlier request succeeded. No requestId or replay receipt is supported.

NameTypeReqDescription
boardRefstringyesPrivate board reference. For a new board generate 32 random bytes, encode as unpadded base64url, and prepend egbr1_. Keep this same value for creation retries and every later board operation. Copy re…
expectedRevisionintegeryesLatest saved revision from create_board, update_board or get_board. Reuse it if no intervening change is known. A mismatch returns revision_conflict; read the board again before preparing a new opera…
NameTypeReqDescription
dataobjectyes–

No examples provided.

export_board ~332

Creates a stable private download of a saved board as a manufacturing ZIP or editable .egb project backup. Read get_board for expectedRevision. Use format egb directly for project backups, including empty or incomplete projects and unapplied geometry or electrical changes; no layout generation or check is required. Manufacturing ZIPs require a current saved layout with applied electrical requirements; generate and wait for completion when needed, then read the new revision. Inherited licensing requires changeNote. New exports require current board access. Issued download links have no automatic expiry and retain this exact export after board edits, deletion, guest claim or cleanup. Only explicit download-link revocation or deletion of the exported file ends access. Keep each complete private URL unchanged, including its fragment; anyone with it can download the file.

NameTypeReqDescription
boardRefstringyesPrivate board reference. For a new board generate 32 random bytes, encode as unpadded base64url, and prepend egbr1_. Keep this same value for creation retries and every later board operation. Copy re…
changeNotestring–Description of modifications, required when get_board returns inherited licensing. Added to the exported license notices.
expectedRevisionintegeryesRevision from get_board. A mismatch returns revision_conflict; read the board again before exporting.
formatstringyesmanufacturing: ZIP with Gerber, drill, BOM and placement files. egb: editable EasyGerber board file.
NameTypeReqDescription
dataobjectyes–

No examples provided.

generate_layout ~283

Starts one durable layout job for boardRef at expectedRevision and returns generation.id and generation.status without waiting. Use the latest revision from create_board, update_board or get_board. Read status with get_generation using the same boardRef; do not regenerate to inspect progress. Successful completion replaces the saved layout. A requestId supports IDENTICAL retries only; changed arguments need a new requestId. revision_conflict requires get_board; board_busy identifies the existing job to poll. Subject to normal compute capacity and board complexity limits, without AI credits.

NameTypeReqDescription
boardRefstringyesPrivate board reference. For a new board generate 32 random bytes, encode as unpadded base64url, and prepend egbr1_. Keep this same value for creation retries and every later board operation. Copy re…
expectedRevisionintegeryesLatest saved revision from create_board, update_board or get_board. Reuse it if no intervening change is known. A mismatch returns revision_conflict; read the board again before preparing a new opera…
requestIdstringyesNew UUID for this operation. Reuse it with identical arguments when retrying an uncertain result; use a new UUID for a different operation.
NameTypeReqDescription
dataobjectyes–

No examples provided.

get_board ~262

Reads the current revision, thin schematic, supported settings, physical context, layout freshness and latest layout job from one saved-state snapshot. Use the same boardRef before editing, checking or exporting. A completed older job does not imply a current layout. Use get_generation with boardRef for status, never generate_layout as a status probe. After account connection this read saves private work to the account when permitted; keep the same reference and use the returned revision. includePreview optionally adds a saved-layout image. Account cache misses render and store a private image; guest previews render per request without an image cache. Previewing does not change the board design or revision. Normal compute capacity limits apply.

NameTypeReqDescription
boardRefstringyesPrivate board reference. For a new board generate 32 random bytes, encode as unpadded base64url, and prepend egbr1_. Keep this same value for creation retries and every later board operation. Copy re…
includePreviewboolean–Include an image of the current saved layout; omitted or false skips rendering. Returns preview: null when no current layout is available.
NameTypeReqDescription
dataobjectyes–

No examples provided.

get_generation ~214

Reads stored layout generation status using the same boardRef. Omit generationId to read the active/latest layout job; supply it only to inspect that exact job. Returns generation:null if no layout job exists. While queued or running, wait pollAfterSeconds; stop polling at completed, failed or cancelled. Read get_board for current saved layout and revision after completion. Never call generate_layout to inspect status. Polling does not save private work to an account.

NameTypeReqDescription
boardRefstringyesPrivate board reference. For a new board generate 32 random bytes, encode as unpadded base64url, and prepend egbr1_. Keep this same value for creation retries and every later board operation. Copy re…
generationIdstring–Layout generation ID returned by generate_layout for this same board. Use the exact job ID when polling or stopping it.
NameTypeReqDescription
dataobjectyes–

No examples provided.

get_part ~221

Returns a published catalog part and verified pins. Skip this call when search_parts already supplied the needed pins and facts. Use the selected catalog result’s id; returned pins[].number is the padId used in board connections. Use search_parts to find alternatives. factQuery and factOffset select or page cached datasheet facts. An optional boardRef applies that board’s strict Part List restriction, when enabled.

NameTypeReqDescription
boardRefstring–Private board reference. For a new board generate 32 random bytes, encode as unpadded base64url, and prepend egbr1_. Keep this same value for creation retries and every later board operation. Copy re…
factOffsetinteger–Continue at nextFactOffset with the same factQuery.
factQuerystring–Terms for relevant facts omitted from the supplied bundle.
idstringyesCatalog ID returned by search_parts.
NameTypeReqDescription
dataobjectyes–

No examples provided.

get_profile ~40

Returns the connected account identity. Requires account authorization; unauthenticated calls request OAuth. Public catalog browsing and creating a new board do not require probing account identity.

Input schema present but exposes no named parameters.

NameTypeReqDescription
dataobjectyes–

No examples provided.

list_boards ~242

Lists accessible boards with their private boardRef, most recently updated first. A supplied boardRef selects only that board. Account access returns personal boards unless organizationId is specified. Without access, returns guidance, not a claim that an account has no boards. Continue existing work using its original boardRef or owning account. Continue with nextOffset until null, then use get_board for the selected board.

NameTypeReqDescription
boardRefstring–Private board reference. For a new board generate 32 random bytes, encode as unpadded base64url, and prepend egbr1_. Keep this same value for creation retries and every later board operation. Copy re…
limitinteger–Maximum boards to return; defaults to 20.
offsetinteger–Zero-based offset; defaults to 0. Continue with returned nextOffset; null means no further page.
organizationIdstring–Organization ID from list_organizations. Omit for personal account boards; guest sessions cannot use organizations.
NameTypeReqDescription
dataobjectyes–

No examples provided.

list_organizations ~46

Returns the connected account’s organizations and membership roles. Requires account authorization. Use the returned organizationId with list_boards or create_board for organization work; omit organizationId for personal boards.

Input schema present but exposes no named parameters.

NameTypeReqDescription
dataobjectyes–

No examples provided.

search_parts ~527

Searches published catalog components. The first candidate includes verified pins when available; other candidates may omit them. Reuse returned IDs, pins and facts; call get_part only when the selected candidate lacks needed pins or facts. Supplied filters apply together; query ranks matching candidates, while factQuery only selects cached facts for those candidates. An optional boardRef applies that board’s strict Part List restriction, when enabled. Check candidates against the requested component type and specifications. If results are unrelated, make at most two retries for that part using a simpler component name or a relevant category from the input schema. Preserve required specifications and explicit restrictions, including any boardRef Part List restriction, on every retry. If no suitable part is found, report that you could not find a suitable part rather than claiming the catalog lacks it.

NameTypeReqDescription
boardRefstring–Private board reference. For a new board generate 32 random bytes, encode as unpadded base64url, and prepend egbr1_. Keep this same value for creation retries and every later board operation. Copy re…
capacitancenumber–Exact farads (1e-7 = 100 nF).
categorystring–Catalog category.
factQuerystring–Cached-fact terms only; requires query. Omit for filter-only searches. It never changes which parts match.
frequencynumber–Hertz (8e6 = 8 MHz).
inductancenumber–Exact henries.
jlcpcbBasicboolean–Basic-only when true; otherwise leave unset.
limitinteger–Maximum catalog candidates to return, from 1 to 20; defaults to 3.
mountingTypestring–smt: surface mount; tht: through-hole; mixed: both.
packagestring–Exact catalog label; use query for package families.
querystring–PCB selection terms: MPN, manufacturer, description or package family. For exact MPNs omit unverified categories unless user-required. Preserve explicit filters and Part Lists; factQuery does not sel…
resistancenumber–Exact ohms (10000 = 10 kΩ).
subcategorystring–Subcategory, e.g. chip_resistor, mlcc, ldo.
voltageRatingnumber–Rated volts.
NameTypeReqDescription
dataarrayyes–

No examples provided.

stop_generation ~192

Cancels a queued or running layout generation belonging to the specified board; use get_generation when only checking progress. A completed, failed or already cancelled job retains its terminal status. Cancellation cannot be undone; starting again requires a new job. It can update the saved board revision, so read get_board before further edits. A later job is unaffected.

NameTypeReqDescription
boardRefstringyesPrivate board reference. For a new board generate 32 random bytes, encode as unpadded base64url, and prepend egbr1_. Keep this same value for creation retries and every later board operation. Copy re…
generationIdstringyesLayout generation ID returned by generate_layout for this same board. Use the exact job ID when polling or stopping it.
NameTypeReqDescription
dataobjectyes–

No examples provided.

submit_feedback ~281

Sends a bug report, feature request or general feedback to EasyGerber only when the user asks or agrees to report it. Send only the approved message; never automatically attach private board content, raw diagnostics, transcripts or exports. No account, board or guest session is required. A connected account attributes the report to that account; otherwise an optional existing guestToken attributes it to that guest. Reuse requestId with the identical category and message on retries. Returns a submission receipt, without promising a response. Account feedback is limited to 10/hour and 50/day; guest and anonymous feedback share those limits by network.

NameTypeReqDescription
categorystringyesbug reports a problem; feature_request proposes a change; general shares other EasyGerber feedback.
guestTokenstring–Optional existing guest-session capability for attribution when no account is connected. Omit for anonymous or account feedback; never start a session solely to submit feedback or print this token. I…
messagestringyesUser-approved feedback, 10–2000 Unicode characters after trimming. Include only what the user agreed to send; do not automatically include private board content, credentials, transcripts or diagnosti…
requestIdstringyesUnique UUID for this report. Reuse it with the identical category and message after an uncertain result; use a new UUID for a different report.
NameTypeReqDescription
dataobjectyes–

No examples provided.

update_board ~716

Edits a saved board at expectedRevision; supply at least one of name, intent or boardEdits. Read get_board first. Omitted fields are preserved; schematic edits require the complete replacement thin intent, while boardEdits is a physical patch. Schematic changes can discard an old layout; physical changes can make it stale. Use generate_layout if a current layout is needed afterward. A stale expectedRevision requires a fresh get_board. Thin intent format: each parts entry is an array of strings [id, dbId, value], with an optional fourth designator. Choose id as the design-local part ID; copy dbId from the catalog result's id; value is the required value/display label. Omit the fourth designator when it matches id. Each connections entry is {net, class, pins}; class is power, signal, or ground. Each pins entry is [partId, padId]: use the design-local part ID and copy padId from the catalog result's pins[].number, both as strings. Optional pinCurrentRequirements uses those same partId and padId identities with requiredCurrentA in amperes and direction into, out, or bidirectional relative to the net. Omit the list to retain existing values; a supplied list replaces it, and [] clears it. If validation rejects the proposal, preserve the schematic and valid catalog parts, correct the returned detailed issues, and keep the same boardRef. Use a new requestId when input changes; reuse the same requestId and arguments for an unchanged retry. Research again only when an issue needs missing part or pin information.

NameTypeReqDescription
boardEditsobject–Physical patch; omitted fields retain existing values. settings changes only supplied app-supported settings (dimensions in mm). outline replaces the outline with a library choice or complete generat…
boardRefstringyesPrivate board reference. For a new board generate 32 random bytes, encode as unpadded base64url, and prepend egbr1_. Keep this same value for creation retries and every later board operation. Copy re…
expectedRevisionintegeryesLatest saved revision from create_board, update_board or get_board. Reuse it if no intervening change is known. A mismatch returns revision_conflict; read the board again before preparing a new opera…
intentobject–Complete replacement schematic, including every part and connection to retain. Omit for name-only or physical-only edits.
namestring–Display name for the board.
requestIdstringyesNew UUID for this operation. Reuse it with identical arguments when retrying an uncertain result; use a new UUID for a different operation.
NameTypeReqDescription
dataobjectyes–

No examples provided.

Install

How do I install the EasyGerber: AI PCB design, layout, and routing MCP server?

EasyGerber: AI PCB design, layout, and routing is a hosted endpoint at https://www.easygerber.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · www.easygerber.com

# add to Claude Code
claude mcp add --transport http easygerber-easygerber 'https://www.easygerber.com/api/mcp'
Common questions

What is the EasyGerber: AI PCB design, layout, and routing MCP server?

EasyGerber: AI PCB design, layout, and routing is an MCP server listed in the public MCP registry as io.github.EasyGerber/easygerber. AI PCB design, layout, and routing. This page covers its hosted endpoint (https://www.easygerber.com/api/mcp).

Is the EasyGerber: AI PCB design, layout, and routing MCP server safe to use?

EasyGerber: AI PCB design, layout, and routing scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the EasyGerber: AI PCB design, layout, and routing MCP server expose?

EasyGerber: AI PCB design, layout, and routing exposes 15 tools: submit_feedback, get_profile, list_organizations, search_parts, get_part, and 10 more. Their descriptions and schemas cost roughly 4,662 tokens of context every time the server is loaded.

Does the EasyGerber: AI PCB design, layout, and routing MCP server require authentication?

No. We connected to EasyGerber: AI PCB design, layout, and routing without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the EasyGerber: AI PCB design, layout, and routing MCP server still maintained?

EasyGerber: AI PCB design, layout, and routing is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.