Token导航 LogoToken导航TokenDH.com
Pywellen MCP logo
设计创作stdio官方级别未说明来源级核验

Pywellen MCP

MCP Server

PyWellen MCP是一款基于模型上下文协议(MCP)的服务器,支持通过自然语言查询和AI工具分析VCD、FST、GHW等波形文件格式。

工具数

42

提示词数

0

GitHub Stars

2

资源数

0
PythonClaude自然语言处理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

fvutils

提供方

fvutils

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install pywellen-mcp

详细介绍

PyWellen MCP-通过模型上下文协议进行波形分析

![Tests](https://github.com/fvutils/pywellen-mcp/actions) ![Documentation](https://fvutils.github.io/pywellen-mcp) ![Python 3.10+](https://www.python.org/downloads/) ![License](https://opensource.org/licenses/Apache-2.0)

PyWellen MCP是一个强大的 模型上下文协议(MCP) 使LLM代理能够与数字波形文件交互的服务器。使用自然语言查询和人工智能工具分析VCD、FST、GHW和其他波形格式。

✨ 特性

  • 🎯 35+MCP工具 涵盖9个综合类别
  • 📊 多格式支持:VCD、FST、GHW、LXT、LXT2、VZT波形
  • 🔍 自然语言查询:用简单的英语询问信号
  • ⚡ 高性能:多线程解析、LRU缓存、优化算法
  • 🔗 外部集成:GTKWave、Verdi、Simvision查看器支持
  • 📤 导出功能:CSV、JSON、YAML、层次树、信号列表
  • 🧠 大语言模型优化:信号总结、模式检测、推荐
  • 🔒 生产就绪:全面的错误处理、安全、监控

🚀 快速开始

安装

# From PyPI (when published)
pip install pywellen-mcp

# From source
git clone https://github.com/fvutils/pywellen-mcp.git
cd pywellen-mcp
pip install -e ".[dev]"

配置

添加到您的MCP客户端配置中(例如,Claude Desktop):

{
  "mcpServers": {
    "pywellen": {
      "command": "pywellen-mcp",
      "args": []
    }
  }
}

示例用法

# Chat with your LLM using natural language:
"Open the waveform file /path/to/design.vcd"
"Show me all clock signals"
"What's the value of top.cpu.reset at time 1000?"
"Compare signals clk_a and clk_b"
"Export the signal data to CSV"

📊 当前状态

已实施35个工具 | 182/193测试通过 | 成功率94.3%

  • 第一阶段:核心基础设施(4个工具)
  • 第2阶段:层次导航(4个工具)
  • 第三期:信号数据访问(5个工具)
  • 阶段4:调试和分析(7个工具)
  • 阶段5:比较和格式转换(7个工具)
  • 第6阶段:LLM优化(5个工具)
  • 第7阶段:导出和集成(8个工具)
  • 🚧 第8阶段:生产准备就绪(CI/CD、安全、监控)

🛠️ 工具类别

核心操作(4个工具)

  • waveform_open -打开波形文件(VCD、FST、GHW)
  • waveform_close -结束会议
  • waveform_info -获取波形元数据
  • waveform_list_sessions -列出活动会话

层次导航(4个工具)

  • hierarchy_list_top_scopes -列出顶层设计范围
  • hierarchy_get_scope -获取范围详细信息
  • hierarchy_list_variables -列出作用域中的变量
  • hierarchy_search -使用模式搜索层次结构

信号分析(5个工具)

  • signal_get_value -获取特定时间的信号值
  • signal_get_values -获取时间范围内的值
  • signal_get_changes -获取值更改事件
  • signal_get_statistics -计算信号统计
  • signal_search -使用过滤器搜索信号

时间管理(2个工具)

  • time_get_range -获取模拟时间范围
  • time_convert -转换时间单位

调试与分析(7个工具)

  • debug_find_transitions -查找信号转换
  • debug_trace_causality -追踪信号因果关系
  • debug_compare_waveforms -比较波形
  • debug_build_timeline -建立事件时间表
  • debug_check_protocol -协议检查器
  • debug_identify_glitches -故障检测
  • debug_find_correlation -信号相关性

比较(3个工具)

  • compare_signals -比较信号值
  • compare_waveforms -比较整个波形
  • compare_time_ranges -比较时间范围

格式转换(4个工具)

  • format_value -格式化信号值
  • format_as_signed -转换为带符号值
  • format_as_binary -二进制表示
  • format_as_hex -十六进制表示法

LLM优化(5个工具)

  • query_natural_language -自然语言查询
  • signal_summarize -自动信号汇总
  • recommend_related_signals -信号建议
  • docs_get_started -入门指南
  • docs_tool_guide -工具使用文档

导出和集成(8个工具)

  • export_to_csv -将信号导出到CSV
  • export_hierarchy_tree -导出设计层次结构
  • load_signal_list -负载信号配置
  • save_signal_list -保存信号配置
  • export_signal_data -导出为JSON/YAML
  • integration_launch_viewer -启动外部查看器
  • integration_watch_file -文件更改监控
  • integration_generate_gtkwave_save -生成GTKWave保存

📖 文档

🎯 用例

供验证工程师使用

  • 在不离开LLM聊天的情况下分析波形
  • 自然语言调试:“重置变低时显示”
  • 自动信号相关工作流程
  • 快速协议合规性检查

面向硬件设计师

  • 交互式设计探索
  • 比较合成前后的波形
  • 自动生成测试报告
  • 与现有EDA工具集成

面向工具开发人员

  • 基于MCP的波形分析API
  • 可扩展插件架构
  • 支持自定义波形格式
  • 基于Python的脚本接口

🔧 高级功能

性能优化

  • 多线程VCD解析 为了更快地加载文件
  • LRU缓存 用于频繁访问的信号
  • 延迟加载 按需提供信号数据
  • 高效的时间范围查询 使用二分查找

安全

  • 路径验证 阻止目录遍历
  • 指令注入保护 用于观众发布
  • 文件权限检查 手术前
  • 会话隔离 防止跨会话访问

错误处理

  • 结构化错误响应 根据上下文
  • 恢复策略 常见故障
  • 优雅降级 关于缺失数据
  • 详细日志记录 用于调试

🧪 发展

运行测试

# Run all tests
pytest

# Run with coverage
pytest --cov=pywellen_mcp --cov-report=html

# Run specific category
pytest tests/unit/test_tools_llm.py
pytest tests/unit/test_tools_export.py

绩效基准测试

# Run benchmark suite
python scripts/benchmark.py

# Profile specific operations
python -m cProfile -s cumtime scripts/benchmark.py

安全审计

# Run security checks
python scripts/security_audit.py

# Check specific categories
python scripts/security_audit.py --check-paths
python scripts/security_audit.py --check-commands

🏗️ 建筑

组件

pywellen-mcp/
├── src/pywellen_mcp/
│   ├── server.py              # MCP server implementation
│   ├── session.py             # Session management
│   ├── tools_waveform.py      # Core waveform operations
│   ├── tools_hierarchy.py     # Hierarchy navigation
│   ├── tools_signal.py        # Signal analysis
│   ├── tools_time.py          # Time management
│   ├── tools_debug.py         # Debugging tools
│   ├── tools_compare.py       # Comparison operations
│   ├── tools_format.py        # Format conversion
│   ├── tools_llm.py           # LLM optimization
│   ├── tools_export.py        # Export capabilities
│   └── tools_integration.py   # External integrations
├── tests/
│   └── unit/                  # Comprehensive unit tests
├── scripts/
│   ├── benchmark.py           # Performance benchmarks
│   └── security_audit.py      # Security checks
└── docs/                      # Sphinx documentation

会话生命周期

  1. 打开: waveform_open 创建具有唯一ID的会话
  2. 使用:工具通过session_id参数访问会话
  3. 清理:超时1小时或明确关闭后自动

错误处理

所有操作都返回结构化错误:

{
  "error": "SESSION_NOT_FOUND",
  "message": "Session abc123 not found",
  "context": {
    "session_id": "abc123",
    "active_sessions": ["def456"]
  }
}

🤝 贡献

我们欢迎捐款!请查看我们的 贡献指南.

开发设置

# Clone repository
git clone https://github.com/fvutils/pywellen-mcp.git
cd pywellen-mcp

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest

代码规范

  • 风格:黑色格式,符合PEP 8标准
  • 类型提示:完整类型注释
  • 文档:所有公共API的文档字符串
  • 测试:最低80%的代码覆盖率

📝 路线图

第8阶段:生产准备(进行中)

  • \[x\] CI/CD管道(GitHub操作)
  • \[x\] 性能基准测试套件
  • \[x\] 安全审计脚本
  • \[x\] 全面的文件
  • \[\]内存分析
  • \[\]实际波形的集成测试
  • \[\]1.0.0版本发布

未来的增强功能

  • \[\]基于WebSocket的大波形流媒体
  • \[\]大规模设计的分布式分析
  • \[\]基于机器学习的异常检测
  • \[\]自定义分析器的插件系统
  • \[\]支持SystemVerilog断言
  • \[\]实时波形监测

🙏 致谢

  • 波浪 -Rust波形解析库
  • 主控程序 -模型上下文协议规范
  • Anthropic -MCP开发和Claude集成
  • GTKWave、威尔第、新视 -波形查看器集成

📄 许可证

根据Apache许可证2.0版授权。看 许可证 了解详情。

🔗 链接

  • 首页: https://github.com/fvutils/pywellen-mcp
  • 文档: https://fvutils.github.io/pywellen-mcp
  • PyPI: https://pypi.org/project/pywellen-mcp/
  • 问题: https://github.com/fvutils/pywellen-mcp/issues
  • 讨论: https://github.com/fvutils/pywellen-mcp/discussions

📧 联系

  • 作者:马修·巴兰斯
  • 电子邮件: mballance@fvutils.com
  • GitHub: @姆巴兰斯

______________________________________________________________________

由...制作❤️ FVUtils社区

目录标签

目录标签

PythonClaude自然语言处理波形分析本地部署硬件验证EDA工具AI辅助设计

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

42

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP