프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

CircuitAgent

제작자: mo9652962-ai버전 0.25.0i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.mo9652962-ai/circuit-agent-client

설치

개요

제작자가 쓴 설명(영어 원문)

AI hardware synthesis: CircuitBlocks DSL, live LCSC parts, industrial DFX audit, stdio MCP server.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 기타

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 레지스트리에 입력해야 할 키가 나와 있지 않아요.

필요한 것

  • PyPIPython의 uv 설치(uvx 명령어용)

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "circuit-agent-client": {
      "command": "uvx",
      "args": [
        "circuit-agent-client"
      ]
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add circuit-agent-client -- uvx circuit-agent-client

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "circuit-agent-client": {
      "command": "uvx",
      "args": [
        "circuit-agent-client"
      ]
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "circuit-agent-client": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "circuit-agent-client"
      ]
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 mo9652962-ai 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

기타 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 18334개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 18334개 중 79%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 18334개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

CircuitAgent, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.25.0)은 10일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, ProAgentStore

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Spec Driven Development

제작자: formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

내 컴퓨터에서 실행★ 440MIT14개월 전 업데이트
설치

Remote Desktop Commander

제작자: desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

클라우드에서 실행★ 211그저께 업데이트
설치

ProAgentStore

제작자: ProAgentStore

MCP-first control plane for ProAgentStore agents and private instances.

클라우드에서 실행오늘 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

CircuitAgent · Community Edition

Prompt → Schematic → Layout → 3D Enclosure → Fabrication Bundle

🌐 在线 EDA 工作台 / Live Demo · 🇨🇳 中文说明 · 🇬🇧 English · 🔌 MCP Server · 🧩 19+ 积木清单 · 🏭 工业 DFX · 📐 KiCad/BOM 导出 · 💬 反馈

Status: alpha. This repository is the open community layer of CircuitAgent: the

hardware DSL, the LCSC live-selection client, and the data contracts that the

full compiler consumes. The block set is deliberately small and every block is

unit-tested — correctness over coverage.


为什么需要这一层 (Why this layer exists)

让大语言模型直接生成底层走线、焊盘与封装,几乎必然产出非法几何或引脚短路。 CircuitAgent 的做法是把 LLM 的输出约束在预验证的电路积木上,再用 Pydantic 契约把它变成确定性网表 —— 模型只负责"选积木",不负责"画线"。

Natural language prompt

│ ▼ ┌────────────────────────┐ │ CircuitBlocks DSL │ keyword → audited sub-circuits (deterministic) └────────────────────────┘ │ ▼ ┌────────────────────────┐ │ Netlist contract │ Pydantic / JSON Schema (SSOT) └────────────────────────┘ │ ┌────┴─────┐ ▼ ▼ ┌────────┐ ┌──────────────────┐ │ LCSC │ │ REST / MCP APIs │ │ client │ │ (community layer)│ └────────┘ └──────────────────┘


快速上手 (Quick Start)

方式 A · 从 PyPI 安装(推荐)

pip install circuit-agent-client

方式 B · 从源码使用

git clone https://github.com/mo9652962-ai/circuit-agent.git

cd circuit-agent

零运行时依赖 —— 纯 Python 标准库实现,装完即用,不拉任何第三方包。 跑测试才需要 dev extra:pip install -e ".[dev]"

1 · 一句话生成硬件网表
from client.synthesizer import synthesize_from_prompt

spec = synthesize_from_prompt( "基于 ESP32-C3 的环境监测节点,带 Type-C 供电、I2C 传感器插座、指示灯和2个按键" )

print(spec["chip_id"]) # ESP32-C3 print(len(spec["modules"])) # 元器件数 print(spec"netlist"[0]) # 第一条网络连接 print(spec["unmatched"]) # 你要求了、但 DSL 还不支持的模块(可执行信号) print(spec["not_requested"]) # 你没提到的可选模块(仅参考,非能力缺口)

映射是确定性的:同一句话永远产出逐字节相同的结果(CI 中有对应断言)。

unmatched 与 not_requested 是两个刻意分开的信号,不要混用:

字段含义例子消费方式
unmatched你明确要求、但当前 DSL 造不出来ethernet / relay / motor_driver这是能力信号,agent 应据此告知用户或换方案
not_requested可选积木,只是这句话没提到button / led / buzzer / i2c / crystal纯参考信息,不代表能力缺口

不会被静默丢弃:任何未识别的意图都会出现在 unmatched 里,而不是悄悄消失。

2 · 查询立创商城实时库存与单价
from client.lcsc_client import search_lcsc_parts

for part in search_lcsc_parts("CH340N", limit=3): print(f"[{part['lcsc_part']}] {part['part_number']} | {part['package']} | " f"库存 {part['stock']} | ${part['price_usd']} | {part['part_class']}")

[C506813] CH340N | SOP-8_L5.0-W4.0-P1.27-LS6.0-BL | 库存 196 | $0.5537 | Extended Part

客户端自带重试退避 + 硬超时 + 24 小时磁盘缓存 + 防御式解析:上游改结构不会 抛异常,断网时回落到缓存(缓存也没有则返回空列表,调用方永远不必处理传输层异常)。

3 · 直接用积木搭电路
from client.circuit_blocks import block_usb_c_power, block_power_ldo_3v3

blk = block_power_ldo_3v3() for comp in blk.components: print(comp.ref, comp.value, comp.package, comp.lcsc)


积木清单 (Block Catalogue)

Block说明关键设计点
block_usb_c_powerType-C 供电输入双 5.1k CC 下拉(sink 角色,非 56k 上拉)
block_power_ldo_3v3AMS1117-3.3V 稳压10µF 输入/输出储能电容
block_crystal_clock无源晶振 + 负载电容标记 guard_ring 属性供后端加地屏蔽环
block_button消抖按键10k 上拉 + 100nF RC,位号可参数化
block_led状态指示灯限流电阻 + 颜色/阻值可参数化
block_buzzer蜂鸣器驱动S8050 NPN + 1N4148W 反向续流二极管
block_i2c_headerI2C 扩展排针SCL/SDA 各 4.7k 上拉
block_rs485_transceiverSP3485 半双工差分串口120Ω 终端电阻 + 100nF 去耦 + 3P 排针引出
block_can_transceiverSN65HVD230 3.3V CAN 节点120Ω 终端匹配 + 10k 斜率控制 (高速模式)
block_battery_tp4056TP4056 1A 线性锂电充电1.2k 限流 + 充/满双色指示灯 + 2P 电池端子
block_sensor_aht20AHT20 温湿度传感器工业 I2C 总线 + 去耦电容 + DFN-6 封装 (C2757850)
block_sensor_mpu6050MPU-6050 6轴 IMU 运动姿态传感器3轴陀螺仪+3轴加速度计 + 旁路去耦 + QFN-24 (C24112)
block_esd_usb_tvsUSB 接口高速 TVS 静电防护USBLC6-2SC6 超低结电容 (0.6pF) + SOT-23-6
block_esd_rs485_tvsRS-485 工业双向非对称 TVSSM712 工业防雷/抗浪涌防静电二极管 (-7V~+12V)
block_esd_can_tvsCAN 总线 ESD 双路 TVS 阵列PESD1CAN 24V 车规/工控双线 TVS (SOT-23)
block_reverse_polarity_protection工业电源输入防反接保护肖特基二极管 (SS34) 或 低压降 P-MOSFET (AO3401A)
block_power_pi_filter电源输入 EMI π型 LC/RC 滤波器磁珠 (100MHz 600Ω) + 10µF 钽电容/陶瓷电容吸收纹波
block_fiducial_marksSMT 贴片光学定位点 (Mark点)3个 1.0mm 裸铜焊盘 + 2.0mm 阻焊开窗 (DFA工序必备)
block_testpoint_matrix自动化测试点矩阵 (Test Points)1.0mm SMD 测试铜焊盘 (支持电源轨、地轨、SWD、UART测试)
block_watchdog_supervisorTPS3823 看门狗/复位监控1.6s WDI 喂狗 + 推挽复位输出(工业 MCU 防跑飞,IEC 61508 实践)
block_ethernet_phy_w5500W5500 SPI 硬件 TCP/IP 以太网10/100M PHY + 集成变压器与状态灯 RJ45 (HR911105A) + 25MHz 晶振
block_isolated_adc_ina219INA219 I2C 功率/电流双向监测0.1Ω 2W 1% 精密检流电阻 + 实时电压电流遥测
block_motor_driver_drv8825DRV8825 2.5A 45V 步进电机驱动1/32 微步进 + 100µF 50V 母线高压滤波 + XH-4P 接口
block_optocoupler_isolated_ioPC817 5kV 高压光电隔离输入2.4k 限流 + 反向保护二极管,适配 24V PLC 工业自动化输入

每个积木的引脚号、LCSC 料号、封装名在冻结前均对照数据手册与立创商城列表核验过。 tests/test_circuit_blocks.py 会强制校验:位号唯一、每个元件都有封装与料号、 网络端点必须指向已声明的元件、每个积木都必须接 /GND。


MCP Server (AI Agent 工具服务)

CircuitAgent 内置标准 JSON-RPC 2.0 stdio MCP Server,基于纯 Python 标准库构建(无需任何第三方 pip 库),可无缝接入 Claude Desktop、Cursor 或 Windsurf。

当前暴露 84 个工具、8 个资源(circuit:// URI)与 4 个工程提示词(slash-command)。

协议版本:MCP 2026-07-28

服务器实现 2026-07-28 无状态协议核心,同时向后兼容到 2024-11-05 的握手客户端:

能力实现
server/discover✅ 强制方法,一次交互返回支持版本/能力/身份,也是 stdio 的向后兼容探针
无握手请求✅ 每个请求在 params._meta 自描述协议版本与客户端能力,无 initialize 也能工作
resultType✅ 所有结果携带 "complete"(或 "input_required"),旧客户端可安全忽略
缓存提示✅ tools/list / resources/list / prompts/list 返回 ttlMs + cacheScope
确定性顺序✅ 工具目录顺序稳定,客户端与上游 prompt 缓存可命中
错误码分配✅ 使用规范保留区 -32020~-32099;资源未找到改为 -32602
旧版握手✅ initialize 保留并协商版本,不断掉 2026 年前的客户端
结构化输出✅ 双通道:content 给模型读、structuredContent 给程序读,两者语义严格等价;6 个电气工具声明 outputSchema
双通道输出

MCP 2026-07-28 规定 tools/call 有两个输出通道,且同时存在时语义必须等价:

  • content — 面向模型。语言模型只读得到这一段,token 成本与可读性优先。
  • structuredContent — 面向程序。给代码生成、类型化编排与 outputSchema 严格校验用。

本服务器的做法是从同一份文档派生:工具已经返回 JSON,结构化通道由解析该文档得到, 因此两个通道不可能不一致(有测试对全部工具断言这一点)。返回文件内容的导出工具 (KiCad 网表、Gerber、IPC-2581、BOM CSV)与返回 ASCII 图的工具不声明 outputSchema —— 它们产出的是文档不是数据对象,给它写 schema 只会描述一个字符串容器。错误结果同样不带 结构化负载:失败的调用没有符合 schema 的文档,编造一个错误对象形状是没人要求的契约。

server/discover 的 instructions 字段直接写给 LLM 看:先 synthesize_circuit 出网表,再 run_erc 门禁, 然后 audit_industrial_dfx 与 validate_manufacturing_package,最后才导出。calculate_* / analyze_* 全是纯函数(无网络、无状态),可放心试探;只有 search_lcsc_parts 联网且免 Key。

运行方式
python -m client.mcp_server
Claude Desktop 配置 (claude_desktop_config.json)
{

"mcpServers": { "circuit-agent": { "command": "python", "args": ["-m", "client.mcp_server"], "cwd": "/path/to/circuit-agent" } } }

暴露的工具 (Tools)
  1. synthesize_circuit: 输入自然语言,输出确定性硬件网表与积木清单。
  2. search_lcsc_parts: 免 Key 实时查询立创商城的元器件库存、封装、阶梯单价与基础库/扩展库属性。
  3. list_circuit_blocks: 列出 DSL 中全部可用的 24 大已审计电路积木规格。
  4. validate_netlist: 根据正式 JSON Schema 校验网表数据结构合法性。
  5. calculate_trace_impedance: 基于 IPC-2141 解析公式计算微带线与差分对走线阻抗(50Ω RF / 90Ω USB / 120Ω CAN/485)。
  6. calculate_bom_cost: PCBA 成本核算器,自动精算元器件裸成本与嘉立创扩展库换料费(¥20/种)。
  7. list_supported_chips: 查询当前支持的微控制器型号及其引脚分配硬规则。
  8. register_custom_chip: 动态注册第三方 MCU 物理引脚约束与外设映射表。
  9. calculate_ipc2152_trace_current: 依据 IPC-2152 标准精确计算印制导线载流能力或反算线宽(温升 ΔT、铜厚 1oz/2oz、内层降额)。
  10. audit_industrial_dfx: 工业级 DFX (DFM/DFA/DFT/DFC) 与生产合规自动化静态审查器,输出打分评级、问题分类与 Markdown 体检报告。
  11. export_kicad_netlist: 导出标准 KiCad S-Expression 网表 (.net),支持 KiCad 6/7/8/9/10 直接导入 Pcbnew 快速布线。
  12. export_manufacturing_bom: 生成量产级嘉立创 SMT BOM CSV 表格(含位号聚合、基础库免换料费分类)。

12b. export_manufacturing_cpl: 生成嘉立创 SMT 贴片坐标文件(CPL/pos,位号 + 中心坐标 + 层 + 旋转角)。BOM 与 CPL 必须成对交付——只在 BOM 里而不在 CPL 里的器件会被采购但不会贴装,故障留到功能测试才暴露。

  1. calculate_parametric_circuit: 闭环参数化硬件设计方程(E96 标准分压电阻对求解、LDO 散热结温校核、I2C 上拉阻值及 RC 滤波)。
  2. render_circuit_topology: 生成结构化 ASCII 系统架构拓扑图(电源轨、总线、传感器与保护子系统)。
  3. run_erc: 网表级电气规则门禁(ERC)——悬空网络、缺 GND、未知位号、缺电源域、缺去耦电容、差分总线缺 120Ω 终端电阻、电容真实有效容值不足等 45+ 条规则,每条带 severity 与出处,blocking/error 阻断 BOM/CPL 交付。其中 MLCC_EFFECTIVE_CAPACITANCE_DEFICIT 会用真实降额模型复算每颗电容在额定偏置下的实际容值,跌破标称 60% 即告警;器件未带偏置数据时保持沉默而不编造。DECOUPLING_PER_IC_DEFICIT 按器件数量而非网络判断去耦是否充足——三颗 IC 共用一颗 100nF 会被拦下,因为共用意味着远端器件的瞬态电流要穿过走线电感。COMPONENT_RATING_INSUFFICIENT 从电源轨名解析电压(/+3.3V、/VMOT_24V、/VBUS),与器件声明的额定值比对,6.3V 电容接在 24V 轨上直接判 error;未声明额定值的器件跳过而不猜测。
  4. analyze_power_tree: 系统级电源树与热功耗分析器,追踪电源域负载电流、LDO 压差裕量、热耗散与结温估算 ($T_j$)。
  5. calculate_ipc2221_clearance: 基于 IPC-2221B Table 6-1 标准根据工作电压与导体类别 (B1内层/B2外层裸露/B4涂覆/A6引脚) 精确计算最小电气间隙。
  6. export_specctra_dsn: 生成通用 Specctra DSN (v15.0) 自动布线交互文件与启发式器件自动布局,支持直接送入 Freerouting / KiCad 执行 100% 自动化走线。

18b. autoroute_pcb: 运行原生 Python 零 JVM 依赖多层自动布线引擎,执行启发式布局、Specctra DSN 转换与走线求解,输出 Specctra SES 走线文件与物理布线指标(网络连通率、走线总长、过孔数)。布线结果自动过物理 DRC 门禁,引擎不合格时按 exact → room → grid 自动回退,engines_tried 记录实际采用的引擎。 18c. run_pcb_drc: 对布线结果执行物理 DRC 审计——真铜箔间距、蚀刻酸角、电源线宽、板边与禁布区、差分对偏斜,违规按网络聚合输出(错误/警告分级 + 定位坐标 + 修复建议)。 18d. analyze_ionic_contamination: 组件后清洗离子污染 (ROSE) 与离子色谱合规审计器——依据 IPC-CH-65 与 IPC-TM-650 2.3.25/2.3.28,对标 Class 1.56 / Class 3 1.20 μg/cm² NaCl 当量限值与氯 0.70 / 溴 0.54 μg/cm² 物种限值,按偏压与导体间距评分枝晶/CAF 生长风险。 18e. analyze_enig_plating: ENIG/ENEPIG 镀层厚度与黑盘 (镍晶界腐蚀) 风险审计器——依据 IPC-4552A/4556 校核金 0.05~0.20μm、镍 3.0~6.0μm、磷 7~10wt% 与钯 0.10~0.30μm 工艺窗口,综合返修次数与工艺类型评估电偶过腐蚀脆断风险,并预警金厚 >0.25μm 的 AuSn₄ 焊点脆化。 18f. estimate_solder_joint_thermal_fatigue: IPC-9701A / IPC-D-279 Engelmaier 热循环疲劳寿命估算器——按 CTE 失配剪切应变范围 (Δα·ΔT·DNP/2h)、蠕变感知循环指数 (热驻留时间与平均结温) 计算 TC1~TC4 车规/航空温度谱下焊点 63.2% 失效特征寿命 (NTC),对照服役循环数判定陶瓷大 DNP 封装是否需欠填充。 18g. plan_conformal_coating: IPC-CC-830C / IPC-A-610G §10 三防漆选型与掩膜禁涂区规划器——校核 AR/ER/UR (30~130μm)、

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기