Token导航 LogoToken导航TokenDH.com
Tekla MCP Server logo
AI代理stdio官方级别未说明来源级核验

Tekla MCP Server

MCP Server

Tekla MCP服务器是一个桥梁服务,通过AI驱动的自然语言处理提升与Tekla Structures的交互效率,支持自动化工作流程和模型操作。

工具数

14

提示词数

0

GitHub Stars

3

资源数

0
工作流优化PythonClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

YuriyKirillov

提供方

YuriyKirillov

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

Tekla MCP服务器

该服务器便于与Tekla Structures交互,帮助用户加快建模过程。它充当用户和Tekla之间的桥梁,实现自动化工作流程并提高效率。

📌 什么是MCP?

MCP代表 模型上下文协议,Anthropic引入的一种通信协议,旨在实现大型语言模型和其他系统之间更高效、更安全的交互。

Tekla MCP Server使用人工智能驱动的自然语言处理使交互更具可读性,允许您使用纯文本命令使用Tekla Structures。

🚀 特性

可用工具

工具说明
put_components将Tekla组件插入具有自定义特性的选定元素中
remove_components从选定元素中删除Tekla组件
select_elements_by_filter按类型、名称、轮廓、材料、表面处理、阶段选择元素
select_elements_by_filter_name使用预定义的筛选器名称选择元素
select_elements_by_guid按GUID选择元素
select_elements_assemblies_or_main_parts获取所选元素的组件或主要部件
draw_elements_labels绘制显示图元属性的临时标签
zoom_to_selection缩放视图以适应选定元素
show_only_selected仅在活动视图中显示选定元素
cut_elements_with_zero_class_parts使用类0元素执行布尔切割
convert_cut_parts_to_real_parts将切割几何图形转换为真实模型零件
set_elements_udas在选定元素上设置自定义属性
get_all_elements_udas从元素中检索所有自定义属性
get_elements_properties获取详细的元素属性,包括权重和自定义字段

📋 需求

  • 泰克拉结构2023 (或兼容版本)
  • Python 3.11或更新版本
  • 所需的Python包(请参阅 requirements.txt)

🔧 安装

1.安装依赖项

# Using uv (recommended)
uv pip install -r requirements.txt

# Using pip
pip install -r requirements.txt

⚠️ 备注:您可能会遇到与的命名冲突 clr 字符串样式包。如果发生这种情况,请重命名或删除文件夹:

C:\Users\\AppData\Local\Programs\Python\Python311\Lib\site-packages\clr

2.配置设置

已为设置配置文件 泰克拉2023。如果需要调整路径:

  1. 编辑 config/settings.json:
{
  "tekla_path": "C:\\Program Files\\Tekla Structures\\2023.0\\bin",
  "content_attributes_file_path": "C:\\Program Files\\Tekla Structures\\2023.0\\bin\\applications\\Tekla\\Tools\\TplEd\\settings\\contentattributes_global.lst"
}
  1. 定制 config/element_types.json 为您的Tekla课程
  2. 定制 config/base_components.json 包含您的组件目录号
  3. 定制 config/lifting_anchor_types.json 用于起吊锚组件

3.设置MCP客户端

配置 mcp_server.py 作为MCP客户端中的自定义MCP服务器:

适用于克劳德桌面 (claude_desktop_config.json):

{
  "mcpServers": {
    "tekla": {
      "command": "python",
      "args": ["d:\\VS\\TeklaMCPServer\\mcp_server.py"]
    }
  }
}

对于其他MCP客户端:有关自定义服务器配置,请参阅客户的文档。

🧪 测试

该项目包括综合单元和功能测试:

# Run all unit tests
uv run pytest tests/unit/

# Run all tests (functional tests skip if Tekla not running)
uv run pytest tests/

# Run specific test file
uv run pytest tests/unit/test_models.py

# Run functional tests (requires Tekla running)
uv run pytest tests/functional/ --run-functional

⚠️ 警告:功能测试修改了实际的Tekla模型。仅在测试/开发环境中运行它们。

📦 分布

使用PyInstaller创建独立的可执行文件:

# Install PyInstaller
uv pip install pyinstaller

# Build executable
uv run pyinstaller mcp_server.py

可执行文件将位于 dist/mcp_server/.包括 _internals 分发时的目录。

备注:使用可执行文件时,将配置文件复制到 _internals/config/.

💡 用法示例

使用自然语言(通过MCP客户端)

"Select all beams with IPE300 profile and add lifting anchors"
"Get properties of selected columns"
"Show only elements in phase 1"
"Zoom to selected elements"

直接工具使用

服务器公开了可以以编程方式调用的MCP工具:

# Example: Select elements by filter
{
  "tool": "select_elements_by_filter",
  "arguments": {
    "element_type": "beam",
    "profile": "IPE300",
    "material": "S355"
  }
}

🔍 运作原理

建筑

┌─────────────────┐
│   MCP Client    │  (Claude Desktop, DeepChat, etc.)
│   (AI Model)    │
└────────┬────────┘
         │ MCP Protocol
         │
┌────────▼────────┐
│  mcp_server.py  │  ← Main server implementation
└────────┬────────┘
         │
         ├─→ models.py         (Data structures)
         ├─→ tekla_utils.py    (Tekla API wrapper)
         └─→ config/*.json     (Configuration)
                │
                ▼
         ┌──────────────┐
         │    Tekla     │  (via .NET API)
         │  Structures  │
         └──────────────┘

关键组件

  1. MCP服务器 (mcp_server.py):处理MCP协议通信和路由工具调用
  2. Tekla公用事业 (tekla_utils.py):包裹Tekla。NET API,用于通过pythonnet访问Python
  3. 数据模型 (models.py):用于类型安全数据处理的Pydantic模型
  4. 配置:用于自定义每个项目行为的JSON文件

MCP协议集成

服务器使用 mcp Python包:

  • 通过以下方式注册可用工具 @app.list_tools()
  • 通过以下方式处理工具执行请求 @app.call_tool()
  • 通过stdio与MCP客户端通信
  • 使用Pydantic模型提供结构化响应

Tekla API使用

Tekla集成使用 pythonnet (CLR):

  • 加载Tekla。NET程序集动态
  • 进入Tekla。结构。模型命名空间
  • 执行建模操作(选择、修改、插入组件)
  • 查询元素属性和用户定义的属性

✅ 已验证兼容性

Tekla版本: 2023

MCP客户端:

  • 深度聊天
  • chatmcp

AI模型:

  • GPT-4o
  • 深度求索
  • 双子座2.0闪光灯
  • Qwen3

📝 许可证

该软件是开源的,并在 GPLv3许可证。您可以自由使用、修改和分发它,只要所有修改在相同的许可证下保持开源。

许可证 了解全部细节。

⚠️ 免责声明

该软件已提供 照原样,对功能、可靠性或安全性不作任何保证或担保。开发商对因使用而产生的任何损坏、数据丢失或其他问题不承担任何责任。

使用风险自负。

🤝 贡献

欢迎投稿!请确保:

  • 在提交PR之前,所有测试均已通过
  • 新功能包括适当的测试
  • 代码遵循现有的样式约定
  • 配置保持向后兼容

📞 支持

对于问题和疑问:

  • 检查现有的GitHub问题
  • 查看测试文件以获取使用示例
  • 有关高级用法,请参阅Tekla API文档

🗺️ 路线图

未来的增强功能(欢迎投稿):

  • 支持Tekla 2024+
  • 附加智能组件
  • 增强的过滤功能
  • 绘图自动化工具
  • 报告生成功能

目录标签

目录标签

工作流优化PythonClaudeTekla集成本地部署自动化建模自然语言处理建筑信息模型

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

14

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP