Token导航 LogoToken导航TokenDH.com
TwinCAT Validator MCP Server logo
开发工具stdio官方级别未说明来源级核验

TwinCAT Validator MCP Server

MCP Server

一个MCP服务器,用于验证、自动修复和生成TwinCAT 3 XML文件(如.TcPOU、.TcIO、.TcDUT、.TcGVL)的骨架,支持结构检查、21项IEC 61131-3 OOP检查、自动修复管道和规范骨架生成。

工具数

16

提示词数

0

GitHub Stars

27

资源数

0
PythonClaude开发工具Claude DesktopClaudeCursorWindsurfClineVS Code

安装说明

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

作者 / 组织

agenticcontrolio

提供方

agenticcontrolio

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install twincat-validator-mcp

详细介绍

TwinCAT验证器MCP服务器

](https://www.python.org/downloads/) ![License: MIT](https://opensource.org/licenses/MIT) ![MCP Compatible](https://modelcontextprotocol.io) ![Code style: black](https://github.com/psf/black)

一个MCP服务器,用于验证、自动修复和构建TwinCAT 3 XML文件(.TcPOU, .TcIO, .TcDUT, .TcGVL).将其连接到任何LLM客户端,为您的AI助手提供可靠、确定的TwinCAT代码质量工具——结构检查、21个IEC 61131-3 OOP检查、自动修复管道和规范骨架生成。

支持的文件类型

扩展描述
.TcPOU程序组织单元——功能块、程序、功能
.TcIOI/O配置——接口
.TcDUT数据单元类型——结构、枚举、类型别名
.TcGVL全局变量列表

安装

pip install twincat-validator-mcp

来源

git clone https://github.com/agenticcontrolio/twincat-validator-mcp.git
cd twincat-validator-mcp
pip install -e .

Claude桌面扩展

将此服务器与Claude Desktop一起使用的最简单方法是单击 .dxt 扩展名:

  1. pip install twincat-validator-mcp
  2. 下载 .dxt 文件来自 最新版本
  3. 打开克劳德桌面→ 设置扩展安装扩展

dxt/README.md 了解完整的说明和故障排除。

连接到LLM客户端

对于其他客户端(Cursor、VS Code、Windsurf、Cline),服务器使用 标准 运输。将以下内容添加到客户端的MCP配置文件中:

光标-- .cursor/mcp.json

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

VS代码(复制/继续)-- .vscode/mcp.json

{
  "servers": {
    "twincat-validator": {
      "type": "stdio",
      "command": "twincat-validator-mcp",
      "args": []
    }
  }
}

风帆冲浪-- ~/.codeium/windsurf/mcp_config.json

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

Cline(VS代码扩展)

{
  "mcpServers": {
    "twincat-validator": {
      "command": "twincat-validator-mcp",
      "args": [],
      "disabled": false
    }
  }
}

From-source config (all clients)

替换 "command": "twincat-validator-mcp" 与:

"command": "python",
"args": ["-m", "twincat_validator"],
"cwd": "/path/to/twincat-validator-mcp"

MCP工具

验证

工具说明
validate_file对单个文件的完全验证--返回所有问题及其严重性、位置、代码片段和解释
validate_batch验证与glob模式匹配的多个文件(例如。 ["**/*.TcPOU"])
validate_for_import仅进行快速关键检查,以确认文件可以安全导入TwinCAT
check_specific对文件运行验证检查的命名子集
get_validation_summary返回0-100的健康评分,并按严重程度列出问题计数
suggest_fixes根据验证结果生成优先级修复建议

自动修正

工具说明
autofix_file以确定的顺序将所有安全的自动修复程序应用于单个文件
autofix_batch对与glob模式匹配的多个文件应用自动修复
generate_skeleton为给定的文件类型和子类型生成规范的、确定性的XML骨架
extract_methods_to_xml推广内联 METHOD 从主ST声明到适当的块 `` XML元素

编排

工具说明
process_twincat_single一个文件的完全强制管道:验证→ 自动修复→ 验证→ 如果仍然不安全,建议修复
process_twincat_batch通过摘要或完整响应模式在多个文件之间完全强制执行管道
verify_determinism_batch运行两次严格的管道,并报告每个文件的幂等性稳定性
get_effective_oop_policy解析文件或目录的活动OOP验证策略(遍历祖先目录 .twincat-validator.json)
lint_oop_policy验证最近的 .twincat-validator.json 配置文件--检查键名、类型和值范围
get_context_pack将精心策划的知识库条目和OOP策略返回到工作流阶段(pre_generationtroubleshooting)

验证检查

结构和格式(关键——块导入)

  • XML结构有效性
  • GUID格式({xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx})
  • 跨元素的GUID唯一性
  • 属性吸气剂VAR块(缺失 VAR/END_VAR)
  • LineIds计数一致性
  • 文件结束格式

风格(警告-建议)

  • 制表符(TwinCAT需要空格)
  • 2-空间压痕
  • 元素排序
  • 命名约定(FB_, PRG_, FUNC_, E_, ST_, I_, GVL_)
  • 空白行过多
  • CDATA格式化

OOP——IEC 61131-3(21次检查)

在以下情况下自动运行 EXTENDSIMPLEMENTS 被检测到。跳过过程代码。

类别检查
继承安全扩展可见性、扩展循环检测、菱形继承警告
覆盖正确性覆盖标记、覆盖签名匹配、覆盖超级调用
接口合规性接口契约、继承属性契约、接口隔离
FB生命周期FB_init 签名, FB_init 超级通话, FB_exit 合同
内存安全动态创建属性,指针/删除配对
设计质量THIS^ 指针一致性、抽象契约、抽象实例化、组合深度
属性/方法属性访问器配对、方法可见性一致性、方法计数

自动修复功能

修复以确定性、依赖性感知的顺序应用:

  1. 标签页 → 2 空格(缩进前的空格)
  2. 文件结束 --修复截断 ]]> 之后 ``
  3. 物业新线 --规范声明换行符
  4. CDATA格式化 --更正CDATA节结构
  5. 房地产VAR区块 --插入物缺失 VAR/END_VAR 吸气器
  6. 空白行过多 --减少到最多连续2次
  7. 缩进 --归一化为2空间倍数
  8. GUID案例 --大写十六进制到规范小写
  9. LineId --实验性生成(标记为不安全,仅限选择加入)

对同一文件运行两次autofix会产生字节相同的输出(保证幂等性)。

意图感知OOP执行

所有工具都接受 intent_profile 参数:

价值观行为
"auto" (默认)检测OOP模式(EXTENDS/IMPLEMENTS)自动;仅在找到时运行OOP检查
"procedural"跳过所有21个OOP检查,无论文件内容如何
"oop"始终运行OOP检查

批处理工具扫描所有 .TcPOU 要解析的文件 "auto" 一次在批处理级别。

健康评分

根据问题计数,文件得分为0-100:

扣除严重程度
−25分严重/错误
−5分警告
−1分信息
分数评分
90–100优秀——生产就绪
70–89好-小问题
50–69需要工作
0–49存在关键问题

所有生产文件的目标值≥90。

MCP资源

URI描述
validation-rules://所有34个检查定义
fix-capabilities://所有9个具有复杂性和风险级别的修复定义
naming-conventions://按文件类型列出的TwinCAT命名模式
config://server-info服务器元数据和功能摘要
knowledge-base://完整的LLM友好知识库
knowledge-base://checks/{check_id}一次检查的解释、示例和常见错误
knowledge-base://fixes/{fix_id}一次修复的算法和示例
generation-contract://所有文件类型的确定性生成契约
generation-contract://types/{file_type}合同 TcPOU, TcDUT, TcGVL,或 TcIO
oop-policy://defaults默认OOP策略值
oop-policy://effective/{target_path}已解决路径的OOP策略

MCP提示

8个可重用的提示模板,用于规范的LLM工作流,涵盖单文件生成、批验证、OOP脚手架、确定性验证和故障排除流程。可通过MCP客户端的提示界面访问。

代理指南

AGENT.md 是一个示例指南提示,告诉您的LLM代理如何使用此服务器-调用哪些工具、按何种顺序、如何路由意图(过程与OOP)、停止条件和报告约定。将其复制到您的系统提示或代理说明中,并对其进行自定义以匹配您的工作流程。

推荐工作流程

任何TwinCAT生成任务的模式——在用户批准计划之前,都不会编写代码。

flowchart LR
    A([User Prompt]) --> B[📋 Plan\nLLM produces plan file\nand stops]
    B --> C{User reviews\nand approves?}
    C -- No --> B
    C -- Yes --> D[⚙️ Implement\nLLM generates\nTwinCAT artifacts]
    D --> E[✅ Validate\nMCP server validates,\nauto-fixes, confirms safety]
    E --> F([Done])

    style A fill:#4a90d9,color:#fff,stroke:none
    style F fill:#27ae60,color:#fff,stroke:none
    style C fill:#f39c12,color:#fff,stroke:none

批准后,LLM遵循以下MCP工具顺序:

flowchart TD
    START([Plan approved by user]) --> CTX

    CTX["get_context_pack\n(stage=pre_generation)"]
    CTX --> POLICY["get_effective_oop_policy\n(if OOP task)"]
    POLICY --> SKE
    CTX --> SKE

    SKE["generate_skeleton\nfor each artifact"]
    SKE --> WRITE["LLM writes\nST content into files"]

    WRITE --> ORCH

    subgraph ORCH_LOOP ["Orchestration loop (max 3 iterations)"]
        ORCH["process_twincat_single\nor process_twincat_batch"]
        ORCH --> SAFE{safe_to_import\n&& safe_to_compile?}
        SAFE -- Yes --> DET
        SAFE -- No --> BLOCKED{no_progress\nor iter >= 3?}
        BLOCKED -- No --> KB["get_context_pack\n(stage=troubleshooting,\ncheck_ids=blockers)"]
        KB --> FIX["LLM applies\none focused correction"]
        FIX --> ORCH
        BLOCKED -- Yes --> FAIL([Report blocked —\nstop])
    end

    DET["verify_determinism_batch\n(second pass — no changes expected)"]
    DET --> STABLE{stable?}
    STABLE -- No --> ORCH
    STABLE -- Yes --> DONE([Report done ✅\nsafe_to_import, safe_to_compile,\nblocking_count=0, content_changed=false])

    style START fill:#4a90d9,color:#fff,stroke:none
    style DONE fill:#27ae60,color:#fff,stroke:none
    style FAIL fill:#e74c3c,color:#fff,stroke:none
    style BLOCKED fill:#f39c12,color:#fff,stroke:none
    style SAFE fill:#f39c12,color:#fff,stroke:none
    style STABLE fill:#f39c12,color:#fff,stroke:none

示例\_ PROMPT.md 对于使用此模式的完整工作提示。

配置

配置文件位于 twincat_validator/config/ 在已安装的软件包内。要定位它们:

import twincat_validator, os
print(os.path.join(os.path.dirname(twincat_validator.__file__), "config"))
文件目的
validation_rules.json检查定义--严重性、类别、auto_fixable标志
fix_capabilities.json修正定义——复杂性、风险水平、确定性顺序
naming_conventions.json按文件类型和子类型命名模式
knowledge_base.jsonLLM友好的解释和所有检查和修复的示例
generation_contract.json规范的XML生成规则和禁止的模式

编辑配置文件以重新加载后重新启动服务器。

发展

pip install -e ".[dev]"

# Run tests
pytest tests/

# Format
black --line-length=100 .

# Lint
ruff check .

# Type check
mypy twincat_validator/server.py --ignore-missing-imports

# Full CI suite (py311 + py312, lint, type check)
tox

许可证

麻省理工学院——见 许可证 了解详情。

作者

代理控制-Jaime Calvente Mieres:设计、架构和领域专业知识

在以下人员的协助下建造 克劳德 (人类学)和 法典 (OpenAI)。

目录标签

目录标签

PythonClaude开发工具TwinCAT验证本地部署XML自动修复IEC61131-3代码质量工具OOP检查

支持客户端

Claude DesktopClaudeCursorWindsurfClineVS Code

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

16

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP