Schemdraw MCP服务器
  
电路图绘制库 schemdraw 为了Model Context Protocol (MCP) 服务器。Claude 或者其他AI 助手可以制作、编辑电子电路图。
🌟 机能
- 回路図作成:基本电子电路元件(电阻、电容器、二极管等)的配置
- 自动布局:组件之间的连接和最佳部署
- 多种输出格式: PNG、SVG、PDF 形式电路图输出
- 柔軟な構成:从简单的电路到循环电路
- 实时编辑:动态更改和更新电路
📋 必要条件
- Python 3.10+
- uv (建议)或pip
🚀 安装
uv 使用(推荐)
# プロジェクトのクローン
git clone https://github.com/fukayatti/schemdraw-mcp-server.git
cd schemdraw-mcp-server
# 依存関係のインストール
uv sync
# 開発用依存関係も含める場合
uv sync --all-extraspip 使用
# プロジェクトのクローン
git clone https://github.com/fukayatti/schemdraw-mcp-server.git
cd schemdraw-mcp-server
# インストール
pip install -e .
# 開発用依存関係も含める場合
pip install -e ".[dev]"🔧 使用方法
1. MCP 启动为服务器
# 標準入出力で MCP サーバーを起動
uv run python server.py
# または JSON-RPC over stdio で起動
python server.py --stdio2. Claude Desktop 中的设置
claude_desktop_config.json 在文件中添加:
{
"mcpServers": {
"schemdraw": {
"command": "uv",
"args": ["run", "python", "/path/to/schemdraw-mcp-server/server.py"],
"cwd": "/path/to/schemdraw-mcp-server"
}
}
}3.基本使用示例
Claude 的要求:
电阻和电容器LED 来定义自定义外观
🛠️ 开発
开发环境设置
# 開発用依存関係のインストール
uv sync --all-extras
# コードフォーマット
uv run black .
uv run isort .
# リントチェック
uv run flake8 .
uv run mypy .
# テスト実行
uv run pytest📚 支持的电路元件
基本素子
resistor- 抵抗器capacitor-电容器inductor-电感器diode二极管
电源
voltage_source-电圧源current_source-电流源battery-电池
半導体
bjt_npn- NPN 双极晶体管bjt_pnp- PNP 双极晶体管mosfet_n-N沟道MOSFETmosfet_p-P沟道MOSFET
演算増幅器
opamp-运算放大器
逻辑门
and_gate- AND 浇口or_gate- OR 浇口not_gate- NOT 浇口nand_gate- NAND 浇口nor_gate- NOR 浇口xor_gate- XOR 浇口
其他
ground-操场vdd-电源vss-负电源label-标签
🔌 提供MCP 工具
create_circuit
创建新电路图。
参数:
title(可选):电路图标题size(可选):“宽度,高度”阵列
add_component
在电路中添加元件。
参数:
component_type(必需):元件类型component_id(必需):元件标识符label(可选):元件标签value(可选):元件值direction(可选):放置方向(right,left,up,down)position(可选):\[x,y\]坐标
connect_components
连接元件之间。
参数:
from_component(必需):连接源元件IDto_component(必需):连接目标元件IDconnection_type(可选):连接类型(wire,dot)
create_loop_circuit
创建循环电路。
参数:
components(必需):组件列表size(可选):电路边长
save_circuit
保存电路图。
参数:
filename(必需):保存文件名format(可选):输出格式(png,svg,pdf)dpi(可选):分辨率
get_circuit_info
获取当前电路图的信息。
list_available_components
获取可用元件类型的列表。
add_spacer
在组件之间添加空间。
optimize_layout
优化电路图布局。
📸 使用例
简单的RC 回路
Claude 示例说明:
电阻(1kΩ)和电容器(100µF)串联RC 请制作电路
此说明将生成以下电路图:
[電源] ――[R1: 1kΩ]――[C1: 100µF]――[GND]⚙️ 设定
环境变数
SCHEMDRAW_DPI:默认输出分辨率(默认值:150)SCHEMDRAW_FORMAT:默认输出格式(默认值:svg)
🤝 分发
- 分叉此存储库
- 创建特征分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 创建拉式请求
📝 许可证
这个项目MIT 在许可证下公开。了解更多信息 许可证 请参见文件。
🙏 谢辞
- schemdraw 的 -优秀的绘图库
- 模型上下文协议 - AI 允许与集成的协议
📞 支持
如果有问题或问题问题 请通知我。
