电气单线图生成服务

一个基于PlantUML的MCP服务器,用于从YAML拓扑定义生成电气单线图(SLD),支持多种分布模板和视图模式。

  • by puran-water
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 puran-water/plantuml-sld-mcp-server

使用说明

PlantUML SLD MCP服务器

MCP服务器,用于使用PlantUML生成电气单线图(SLD)。

特性

  • 从YAML拓扑定义生成SLD图
  • 从加载列表技能输出引导拓扑
  • 支持多种分布模板(径向、冗余、生成器)
  • 系统视图(折叠)和详细视图(展开)渲染
  • 用于协作的可共享PlantUML URL
  • 机器可读的YAML拓扑作为真理的来源

安装

# Using uv
uv pip install -e .

# With optional pandapower analysis
uv pip install -e ".[analysis]"

# With dev dependencies
uv pip install -e ".[dev]"

PlantUML后端

服务器需要PlantUML后端。安装以下之一:

  1. 原生二进制 (推荐):

    apt install plantuml
    
  2. Java JAR:

    export PLANTUML_JAR=/path/to/plantuml.jar
    
  3. 码头工人:

    docker pull plantuml/plantuml
    

MCP工具

工具 说明
sld_validate_topology 根据模式验证SLD拓扑YAML
sld_get_plantuml_source 从拓扑生成PlantUML源代码
sld_get_plantuml_source_per_bus 为单总线/MCC生成PlantUML源代码
sld_generate_diagram 将图表渲染为PNG/SVG格式
sld_encode_plantuml 生成可共享的PlantUML URL
sld_check_plantuml 检查PlantUML后端可用性
sld_list_symbols 列出可用的电气符号
sld_bootstrap_from_loadlist 从负载列表技能输出创建拓扑

用法

Claude代码配置

添加到您的Claude Code MCP设置中:

{
  "mcpServers": {
    "plantuml-sld": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/plantuml-sld-mcp-server", "plantuml-sld-mcp"]
    }
  }
}

工作流示例

  1. 从加载列表启动:

    # Use sld_bootstrap_from_loadlist with load-list.yaml
    # Choose distribution template: single_utility_radial
    
  2. 验证拓扑:

    # Use sld_validate_topology to check for errors
    
  3. 生成图表:

    # Use sld_generate_diagram for PNG/SVG output
    # Or sld_encode_plantuml for shareable URL
    

拓扑架构

看 schemas/sld-topology.schema.yaml 在配电技能方面掌握完整的方案。

关键组件

  • 公交车:主配电盘、MCC、配电盘
  • 设备:公用设施、变压器、断路器、电机、变频器
  • 连接:馈线、汇流排、控制电路

分发模板

模板 说明
single_utility_radial 公用事业→ 变压器→ MSB → MCC
utility_plus_generator 添加带ATS的备用发电机
dual_utility_redundant 带联络断路器的分体式母线

视图模式

  • 系统视图:满载的公共汽车倒塌
  • 详细视图:每辆公交车配备独立馈线和设备

发展

# Run tests
pytest

# Run with coverage
pytest --cov=src

# Lint
ruff check src tests

工作流集成

此服务器是puran水电工程工作流程的一部分:

┌─────────────────────────┐     ┌──────────────────────────┐     ┌─────────────────────┐
│  equipment-list-skill   │ ──► │    load-list-skill       │ ──► │ electrical-         │
│  (equipment + power_kw) │     │    (FLC, protection,     │     │ distribution-skill  │
└─────────────────────────┘     │     MCC schedules)       │     │ (SLD generation)    │
                                └──────────────────────────┘     └─────────────────────┘
                                             │                              │
                                             │                              ▼
                                             │                   ┌─────────────────────┐
                                             └──────────────────►│ plantuml-sld-mcp    │
                                                                 │ (this server)       │
                                                                 └─────────────────────┘
                                                                            │
                                                                            ▼
                                                                 ┌─────────────────────┐
                                                                 │ PlantUML PNG/SVG    │
                                                                 │ + shareable URLs    │
                                                                 └─────────────────────┘

相关项目

上游(数据源)

同伴技能

相似的方式

许可证

麻省理工学院许可证-Puran Water