新香料mcp
一种模型上下文协议(MCP)服务器,通过标准化的协议接口提供对ngspice电路仿真功能的访问。该服务器使AI语言模型能够以受控和结构化的方式与ngspice进行交互。
特性
- 与ngspice的共享库接口集成
- 标准化MCP协议实施
- 与结构化数据访问同步操作
- 全面的输出捕获和重定向
- 具有多种表示格式的矢量数据处理
- 支持服务器和库使用模式
- 内置测试套件
需求
- D编译器(DMD/LDC)
- ngspice共享库
- MCP服务器库(d-MCP-server)
- D构建系统(dub)
安装
- 确保已安装系统要求
- 克隆存储库
- 使用dub构建:
dub build --config=server用法
服务器可以通过以下方式启动:
./ngspice-mcp [options]命令行选项
--working-dir,-d:设置回路文件的工作目录(默认:当前目录)
可用工具
电路负载
loadCircuit:直接加载电路网表loadNetlistFromFile:从文件加载网表
网表示例:
RC Circuit
R1 in out 1k
C1 out 0 1u
.end模拟
runSimulation:执行模拟命令
常用命令:
op:直流工作点dc source start stop stepac dec points fstart fendtran step tstop
数据访问
getPlotNames:列出可用的模拟图getVectorNames:列出特定图中的向量getVectorData:使用以下选项检索矢量数据:
- 震级相位表示 - 矩形(实-虚)表示法 - 两种表述 - 可选间隔选择
资源
stdout://:ngspice的标准输出流stderr://:从ngspice输出流时出错usage://:综合使用指南
发展
项目结构
ngspice-mcp/
├── source/
│ ├── app.d # Main application
│ ├── bindings/ # ngspice C API bindings
│ ├── database/ # SQLite database handling
│ ├── parser/ # Netlist parsing
│ └── server/ # MCP server implementation
├── resources/ # Resource files
└── bin/ # Build outputs生成配置
- 服务器模式
dub build --config=server- 库模式
dub build --config=library- 单元测试
dub test --config=unittest测试
运行测试套件:
dub test测试包括:
- ngspice绑定
- 服务器功能
- 工具验证
- 资源处理
- 错误案例
技术细节
建筑
服务器实现了几个关键组件:
- NgspiceServer:核心服务器实施
- 工具登记和处理 - 资源管理 - 输出流捕获 - 矢量数据处理
- 输出系统
- Stout/stderr捕获 - 流缓冲 - 资源通知
- 矢量处理
- 复数处理 - 科学符号格式 - 间隔选择 - 多种表示格式
数据库系统
- 模型参数存储
- 高效的索引和查询
- 交易支持
- 并发访问处理
许可证
MIT许可证-请参阅 翻译.json 了解详情。
版权所有©2024,加勒特·诺布尔
贡献
欢迎投稿!请确保:
- 代码遵循项目风格和标准
- 包括新功能的测试
- 根据需要更新文档
- 提交消息清晰且具有描述性
