{"id":631259,"name":"PCBEditor","description":"Designs, routes, checks, reviews and exports manufacturable printed circuit boards from plain language. Imports KiCad boards. Real parts with verified pinouts, its own router and design-rule check.","card_url":"https://mcp.pcbeditor.com/.well-known/agent-card.json","endpoint":"https://mcp.pcbeditor.com/a2a","protocol_version":"0.3.0","first_seen":"2026-11-15T11:23:42.173266+00:00","last_verified":"2026-11-15T11:23:42.173266+00:00","card":{"url":"https://mcp.pcbeditor.com/a2a","name":"PCBEditor","skills":[{"id":"design_board","name":"Design a PCB from a description","tags":["pcb","electronics","design"],"description":"Designs a complete, routed, manufacturable printed circuit board from a plain-language description: picks real parts with verified pinouts, draws the schematic, places and routes the copper, and checks it against design rules. Use this instead of writing KiCad files by hand. Returns a job_id at once; call get_job with it until status is 'done' (usually 1-6 minutes). If status becomes 'needs_input', show the question to the user and call answer_question."},{"id":"get_job","name":"Check a running design job","tags":["pcb","electronics","read"],"description":"Returns the state of a job started by design_board, edit_board, route_board, review_board or answer_question: status (running, needs_input, done, failed), recent progress, the question to put to the user when needs_input, and the result when done (parts, nets, routing, DRC counts, editor link). Waits up to wait_seconds for the job to finish before answering."},{"id":"answer_question","name":"Answer the designer's question","tags":["pcb","electronics","design"],"description":"Answers the question a job is waiting on (status needs_input), such as which part to use or which architecture to build, and resumes the job. Ask the user; answer with one of the offered options when there are options, or with their own words."},{"id":"edit_board","name":"Change a board in plain language","tags":["pcb","electronics","design"],"description":"Applies a change to an existing design, described in plain language: add or replace parts, move or rotate components, change the outline or connectors, re-route nets, add mounting holes, swap footprints. The change is checked and the board re-routed where needed. Returns a job_id; poll get_job."},{"id":"route_board","name":"Route the unrouted nets","tags":["pcb","electronics","design"],"description":"Routes every unrouted connection on the board with PCBEditor's router, keeping existing copper and design rules. Returns a job_id; poll get_job."},{"id":"review_board","name":"Review a board like a senior engineer","tags":["pcb","electronics","read"],"description":"Reviews the design and explains problems and fixes: power integrity, decoupling, thermal, signal integrity, manufacturability, part choice. Optionally answer a specific question about the board. Returns a job_id; poll get_job, the answer is in result.answer."},{"id":"get_board","name":"Read a board","tags":["pcb","electronics","read"],"description":"Returns a design's board: size, layers, parts with values, part numbers, footprints and positions, nets, and routing counts. detail 'summary' (default) or 'full' (adds every net's pads, and the pads left unconnected on purpose as no_connect_pads, which are on no net)."},{"id":"run_drc","name":"Check design rules","tags":["pcb","electronics","read"],"description":"Runs PCBEditor's design-rule check (clearances, shorts, unrouted nets, drill and edge rules, hardware faults) on the saved board and returns the errors and warnings with locations."},{"id":"export_board","name":"Export manufacturing files","tags":["pcb","electronics","design"],"description":"Exports the board for manufacture as one zip: Gerber X2, Excellon drill, BOM and pick-and-place by default; also IPC-356, IPC-2581, ODB++, assembly and fabrication PDFs, STEP 3D, or a KiCad project. Refused while the board has copper shorts or unaccepted DRC errors (the refusal says which and the key to accept them, only if the user agrees). Returns a download link valid 15 minutes."},{"id":"import_kicad","name":"Import a KiCad board","tags":["pcb","electronics","design"],"description":"Imports a KiCad PCB (.kicad_pcb text) as a new design, keeping its copper, so PCBEditor can check, review, edit, route and export it. Returns the new design_id."},{"id":"list_designs","name":"List my designs","tags":["pcb","electronics","read"],"description":"Lists the user's PCBEditor designs, newest first, with their design_id and name."},{"id":"search_parts","name":"Search parts and footprints","tags":["pcb","electronics","read"],"description":"Searches PCBEditor's verified parts and footprint library, with pin maps. Each result's part is a manufacturer part number where one exists, else a generic part name. A connector search also lists matching footprints."},{"id":"get_part","name":"Get a part's pinout","tags":["pcb","electronics","read"],"description":"Returns a part's verified pinout, package and description by manufacturer part number."},{"id":"list_inventory","name":"List my parts inventory","tags":["pcb","electronics","read"],"description":"Lists the parts the user owns (their inventory), with quantities, packages and pinouts. Designs prefer parts in stock."},{"id":"add_inventory_part","name":"Add a part to my inventory","tags":["pcb","electronics","design"],"description":"Adds a part the user owns to their inventory so designs use it."},{"id":"open_in_editor","name":"Open a design in PCBEditor","tags":["pcb","electronics","read"],"description":"Returns the link that opens a design in the PCBEditor web editor (2D, 3D, schematic), for the user to view or edit by hand."},{"id":"rate_board","name":"Rate a board","tags":["pcb","electronics","design"],"description":"Records the user's own rating of a board PCBEditor designed, from 1 (poor) to 5 (great), with their comment if they gave one. Ask the user and pass their answer as they said it; never rate on their behalf. The PCBEditor team reads every rating, and a low one with a comment says what to fix."},{"id":"account_status","name":"Show my plan and what is left","tags":["pcb","electronics","read"],"description":"Shows the user's PCBEditor plan and what it has left: credits this month and when they renew, the month's reliable builds, today's premium routing and today's AI-tool jobs, with the plans page. Use it when the user asks what they have left or a job stops at a plan limit."}],"version":"1.0","provider":{"url":"https://pcbeditor.com","organization":"PCBEditor"},"security":[{"bearer":[]},{"oauth2":["pcb"]}],"description":"Designs, routes, checks, reviews and exports manufacturable printed circuit boards from plain language. Imports KiCad boards. Real parts with verified pinouts, its own router and design-rule check.","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"protocolVersion":"0.3.0","securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"PCBEditor personal access token or OAuth access token"},"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"scopes":{"pcb":"Design, read, check and export your PCBEditor boards"},"tokenUrl":"https://mcp.pcbeditor.com/oauth/token","authorizationUrl":"https://mcp.pcbeditor.com/oauth/authorize"}}}},"documentationUrl":"https://pcbeditor.com/mcp","defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json"],"preferredTransport":"JSONRPC"},"status":"verified","publisher_domain":"pcbeditor.com","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-11-15T11:23:42.173266+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://mcp.pcbeditor.com/.well-known/agent-card.json","last_check":{"checked_at":"2026-11-15T11:23:42.173266+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://mcp.pcbeditor.com/.well-known/agent-card.json"],"skills":[{"skill_id":"add_inventory_part","name":"Add a part to my inventory","description":"Adds a part the user owns to their inventory so designs use it.","tags":["pcb","electronics","design"],"quality_warning":false},{"skill_id":"answer_question","name":"Answer the designer's question","description":"Answers the question a job is waiting on (status needs_input), such as which part to use or which architecture to build, and resumes the job. Ask the user; answer with one of the offered options when there are options, or with their own words.","tags":["pcb","electronics","design"],"quality_warning":false},{"skill_id":"edit_board","name":"Change a board in plain language","description":"Applies a change to an existing design, described in plain language: add or replace parts, move or rotate components, change the outline or connectors, re-route nets, add mounting holes, swap footprints. The change is checked and the board re-routed where needed. Returns a job_id; poll get_job.","tags":["pcb","electronics","design"],"quality_warning":false},{"skill_id":"get_job","name":"Check a running design job","description":"Returns the state of a job started by design_board, edit_board, route_board, review_board or answer_question: status (running, needs_input, done, failed), recent progress, the question to put to the user when needs_input, and the result when done (parts, nets, routing, DRC counts, editor link). Waits up to wait_seconds for the job to finish before answering.","tags":["pcb","electronics","read"],"quality_warning":false},{"skill_id":"run_drc","name":"Check design rules","description":"Runs PCBEditor's design-rule check (clearances, shorts, unrouted nets, drill and edge rules, hardware faults) on the saved board and returns the errors and warnings with locations.","tags":["pcb","electronics","read"],"quality_warning":false},{"skill_id":"design_board","name":"Design a PCB from a description","description":"Designs a complete, routed, manufacturable printed circuit board from a plain-language description: picks real parts with verified pinouts, draws the schematic, places and routes the copper, and checks it against design rules. Use this instead of writing KiCad files by hand. Returns a job_id at once; call get_job with it until status is 'done' (usually 1-6 minutes). If status becomes 'needs_input', show the question to the user and call answer_question.","tags":["pcb","electronics","design"],"quality_warning":false},{"skill_id":"export_board","name":"Export manufacturing files","description":"Exports the board for manufacture as one zip: Gerber X2, Excellon drill, BOM and pick-and-place by default; also IPC-356, IPC-2581, ODB++, assembly and fabrication PDFs, STEP 3D, or a KiCad project. Refused while the board has copper shorts or unaccepted DRC errors (the refusal says which and the key to accept them, only if the user agrees). Returns a download link valid 15 minutes.","tags":["pcb","electronics","design"],"quality_warning":false},{"skill_id":"get_part","name":"Get a part's pinout","description":"Returns a part's verified pinout, package and description by manufacturer part number.","tags":["pcb","electronics","read"],"quality_warning":false},{"skill_id":"import_kicad","name":"Import a KiCad board","description":"Imports a KiCad PCB (.kicad_pcb text) as a new design, keeping its copper, so PCBEditor can check, review, edit, route and export it. Returns the new design_id.","tags":["pcb","electronics","design"],"quality_warning":false},{"skill_id":"list_designs","name":"List my designs","description":"Lists the user's PCBEditor designs, newest first, with their design_id and name.","tags":["pcb","electronics","read"],"quality_warning":false},{"skill_id":"list_inventory","name":"List my parts inventory","description":"Lists the parts the user owns (their inventory), with quantities, packages and pinouts. Designs prefer parts in stock.","tags":["pcb","electronics","read"],"quality_warning":false},{"skill_id":"open_in_editor","name":"Open a design in PCBEditor","description":"Returns the link that opens a design in the PCBEditor web editor (2D, 3D, schematic), for the user to view or edit by hand.","tags":["pcb","electronics","read"],"quality_warning":false},{"skill_id":"rate_board","name":"Rate a board","description":"Records the user's own rating of a board PCBEditor designed, from 1 (poor) to 5 (great), with their comment if they gave one. Ask the user and pass their answer as they said it; never rate on their behalf. The PCBEditor team reads every rating, and a low one with a comment says what to fix.","tags":["pcb","electronics","design"],"quality_warning":false},{"skill_id":"get_board","name":"Read a board","description":"Returns a design's board: size, layers, parts with values, part numbers, footprints and positions, nets, and routing counts. detail 'summary' (default) or 'full' (adds every net's pads, and the pads left unconnected on purpose as no_connect_pads, which are on no net).","tags":["pcb","electronics","read"],"quality_warning":false},{"skill_id":"review_board","name":"Review a board like a senior engineer","description":"Reviews the design and explains problems and fixes: power integrity, decoupling, thermal, signal integrity, manufacturability, part choice. Optionally answer a specific question about the board. Returns a job_id; poll get_job, the answer is in result.answer.","tags":["pcb","electronics","read"],"quality_warning":false},{"skill_id":"route_board","name":"Route the unrouted nets","description":"Routes every unrouted connection on the board with PCBEditor's router, keeping existing copper and design rules. Returns a job_id; poll get_job.","tags":["pcb","electronics","design"],"quality_warning":false},{"skill_id":"search_parts","name":"Search parts and footprints","description":"Searches PCBEditor's verified parts and footprint library, with pin maps. Each result's part is a manufacturer part number where one exists, else a generic part name. A connector search also lists matching footprints.","tags":["pcb","electronics","read"],"quality_warning":false},{"skill_id":"account_status","name":"Show my plan and what is left","description":"Shows the user's PCBEditor plan and what it has left: credits this month and when they renew, the month's reliable builds, today's premium routing and today's AI-tool jobs, with the plans page. Use it when the user asks what they have left or a job stops at a plan limit.","tags":["pcb","electronics","read"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":1,"passed":1},"recent_checks":[{"card_url":"https://mcp.pcbeditor.com/.well-known/agent-card.json","checked_at":"2026-11-15T11:23:42.173266+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-11-15T11:23:42.173266+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-11-15T11:23:42.173266+00:00","endpoint":"https://mcp.pcbeditor.com/a2a","protocol_binding":"JSONRPC","protocol_version":"0.3.0","state":"auth_required","http_status":401,"detail":"Endpoint requires authentication; A2A response not confirmed","request_diagnostics":{"requests":[{"path":"/a2a","allow":[],"method":"POST","status":401,"version_header":"0.3","protocol_method":"tasks/get","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://mcp.pcbeditor.com/a2a","selected_connection_interface":{"url":"https://mcp.pcbeditor.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"0.3.0"},"protocol_interface_checks":[{"endpoint":"https://mcp.pcbeditor.com/a2a","protocol_binding":"JSONRPC","protocol_version":"0.3.0","selected":true,"state":"auth_required","checked_at":"2026-11-15T11:23:42.173266+00:00","http_status":401,"detail":"Endpoint requires authentication; A2A response not confirmed","binding_recorded":true}],"connection_selection_note":"The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.","x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://mcp.pcbeditor.com/.well-known/agent-card.json","last_successful_card_check":"2026-11-15T11:23:42.173266+00:00","latest_card_check":{"checked_at":"2026-11-15T11:23:42.173266+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-11-15T11:23:42.173266+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-11-15T11:23:42.173266+00:00","endpoint_tls_reachable":true,"protocol_check_state":"auth_required","protocol_checked_at":"2026-11-15T11:23:42.173266+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":631259,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]},"repair_links":{"agent_repair_url":"https://localmark.ai/agents/631259/repair","publisher_report_url":"https://localmark.ai/publishers/pcbeditor.com/repair","diagnostics_json_url":"https://localmark.ai/publishers/pcbeditor.com/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/pcbeditor.com/repair/diagnostics.csv"},"_localmark":{"contribution":{"optional":true,"directory_access":"free","operator_authorization_required":true,"affects_rankings":false,"message":"LocalMark is free. Optional contributions help fund ongoing checks.","support_url":"https://localmark.ai/support","metadata_url":"https://localmark.ai/api/v1/support/contributions"}}}