mcpField
N
ngspice-mcp

ngspice-mcp

本地服务
github.com/gtnoble科研与教育1980 周前更新

关于 ngspice-mcp

ngspice-mcp 通过 MCP 服务向 AI 大模型及其他 MCP 客户端提供 ngspice 电路仿真功能,支持加载网表、运行仿真和获取绘图矢量数据。

主要功能

  1. 01加载电路和网表
  2. 02运行 ngspice 仿真
  3. 03列出绘图和矢量
  4. 04以多种格式获取矢量数据
  5. 05读取 stdout、stderr 资源

适用场景

  1. 01加载电路网表并进行仿真
  2. 02运行直流、交流或瞬态分析
  3. 03获取指定仿真矢量和区间的数据

MCP 相关

提供电路加载、仿真和数据获取的 MCP 工具,以及 stdout、stderr 和使用指南资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ngspice-mcp

一个模型上下文协议(MCP)服务,通过标准化协议接口提供 ngspice 电路仿真功能。该服务使 AI 语言模型能够以受控且结构化的方式与 ngspice 交互。

功能

  • 与 ngspice 的共享库接口集成
  • 实现标准化的 MCP 协议
  • 支持同步操作和结构化数据访问
  • 全面捕获和重定向输出
  • 支持多种表示格式的向量数据处理
  • 支持服务和库两种使用模式
  • 内置测试套件

要求

  • D 编译器(DMD/LDC)
  • ngspice 共享库
  • MCP 服务库(d-mcp-server)
  • D 构建系统(dub)

安装

  1. 确保已安装系统要求
  2. 克隆仓库
  3. 使用 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 step
  • ac dec points fstart fend
  • tran 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
构建配置
  1. 服务模式
dub build --config=server
  1. 库模式
dub build --config=library
  1. 单元测试
dub test --config=unittest
测试

运行测试套件:

dub test

测试涵盖:

  • ngspice 绑定
  • 服务功能
  • 工具验证
  • 资源处理
  • 错误情况

技术细节

架构

该服务实现了几个关键组件:

  1. NgspiceServer:核心服务实现

    • 工具注册与处理
    • 资源管理
    • 输出流捕获
    • 向量数据处理
  2. 输出系统

    • 捕获标准输出/标准错误
    • 流缓冲
    • 资源通知
  3. 向量处理

    • 复数处理
    • 科学计数法格式化
    • 区间选择
    • 多种表示格式
数据库系统
  • 模型参数存储
  • 高效索引与查询
  • 事务支持
  • 并发访问处理

许可证

MIT 许可证——详情请参阅 dub.json。

版权所有 © 2024,Garret Noble

贡献

欢迎贡献!请确保:

  1. 代码符合项目风格和标准
  2. 为新增功能编写测试
  3. 按需更新文档
  4. 提交信息清晰且具有描述性

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。