Token导航 LogoToken导航

MCP Server · 开发工具

TwinCAT Validator MCP Server

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

stdio官方级别未说明来源级核验工具 16
PythonClaude开发工具Claude DesktopCursorWindsurfClineVS Code

快速开始

作者 / 组织
agenticcontrolio
提供方
agenticcontrolio

工具数量

16

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

27

仓库热度

收录来源

2 个

MCP World

选型结论

TwinCAT Validator MCP Server 属于开发工具类 MCP Server,公开资料标注 16 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、Cursor,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install twincat-validator-mcp

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 16 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

TwinCAT验证器MCP服务器

一个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_generation 或 troubleshooting)

验证检查

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

  • 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次检查)

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

类别检查
继承安全扩展可见性、扩展循环检测、菱形继承警告
覆盖正确性覆盖标记、覆盖签名匹配、覆盖超级调用
接口合规性接口契约、继承属性契约、接口隔离
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)。

工具与能力

工具数量

16

资源数量

0

提示词数量

0

能力标签

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

支持客户端

Claude DesktopClaudeCursorWindsurfClineVS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 工具数量 16 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
TwinCAT Validator MCP Server

MCP World · 本页

16stdio有2 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

TwinCAT Validator MCP Server 怎么安装?

公开资料给出的安装命令是 pip install twincat-validator-mcp,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

TwinCAT Validator MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

TwinCAT Validator MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

TwinCAT Validator MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

TwinCAT Validator MCP Server 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor、Windsurf、Cline、VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP