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

MCP STEP Analyzer

MCP Server

Serveur MCP (Model Context Protocol) 提供对STEP文件(ISO 10303)的分析和比较功能,兼容Claude Desktop等MCP客户端。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
PythonClaudeAI代理Claude DesktopClaude

安装说明

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

作者 / 组织

LoupRoch

提供方

LoupRoch

最后核验

2026/5/17 20:20

快速接入

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

命令预览

pip install fastmcp

详细介绍

用于步骤分析的MCP服务器

🎯 概述

用于分析和比较STEP文件的MCP(模型上下文协议)服务器(ISO 10303)。与Claude Desktop和其他MCP客户端兼容。

优势 :直接分析附加到Claude Desktop的STEP文件,无需路径!

✨ 功能

服务器通过MCP协议公开6种工具:

1. analyze_step_file

STEP文件的完整分析:元数据、结构和几何体

  • 设置 :

- file_path (可选):步骤文件的路径 - file_content (可选):附件的二进制内容

  • 归来 :元数据、分层BOM、详细组件、几何属性、依赖项、验证

2. compare_step_files

比较两个STEP文件并检测关键差异,包括接口

  • 设置 :

- file1_path (可选):第一步文件的路径 - file1_content (可选):第一个文件的二进制内容 - file2_path (可选):第二步文件的路径 - file2_content (可选):第二个文件的二进制内容

  • 归来 :影响分析(碰撞、装配、接口)、变化(BOM、几何、拓扑、接口)、统计

3. extract_bom

仅提取物料清单(Bill of Materials)

  • 设置 :

- file_path (可选):步骤文件的路径 - file_content (可选):附件的二进制内容

  • 归来 :具有位置、级别、数量、名称和类型的组件分层列表

4. extract_geometry

提取详细的几何属性

  • 设置 :

- file_path (可选):步骤文件的路径 - file_content (可选):附件的二进制内容 - component_name (可选):特定组件的名称

  • 归来 :按组件和总计划分的几何和拓扑属性

5. validate_step_file

验证STEP文件是否符合行业标准

  • 设置 :

- file_path (可选):步骤文件的路径 - file_content (可选):附件的二进制内容

  • 归来 :总体状态和验证详细信息

6. analyze_interfaces

分析配置管理组件之间的接口和链接

  • 设置 :

- file_path (可选):步骤文件的路径 - file_content (可选):附件的二进制内容

  • 归来 :检测到的接口(螺钉、触点、接近度)、临界点、装配图、建议

检测到的接口类型 :

  • 固定(紧固) :对齐孔→螺钉/螺栓(高临界)
  • 联系人(Contact) :接触表面→嵌入(平均临界)
  • Proximité(邻近) :接近组件(低临界性)

🚀 安装

选项1:使用Docker(推荐)

先决条件

  • Docker和Docker编写安装程序
  • Claude桌面配置

配置

要从Claude Desktop访问STEP文件,您需要组合两个MCP服务器:

  1. 阶跃分析器 :用于分析STEP文件
  2. 文件系统 :用于从Claude桌面访问文件

创建/修改MCP配置文件:

macOS/Linux (~/.config/Claude/claude_desktop_config.json) :

{
  "mcpServers": {
    "step-analyzer": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--mount", "type=bind,src=/Chemin/Vers/Dossier/Step,dst=/step",
        "jchabas/mcp_stepanalyzer:0.0.3"
      ]
    },
    "filesystem": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--mount", "type=bind,src=/Chemin/Vers/Dossier/Step,dst=/step",
        "mcp/filesystem",
        "/step"
      ]
    }
  }
}

视窗 (%APPDATA%\Claude\claude_desktop_config.json) :

{
  "mcpServers": {
    "step-analyzer": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--mount", "type=bind,src=C:/Chemin/Vers/Dossier/Step,dst=/step",
        "jchabas/mcp_stepanalyzer:0.0.3"
      ]
    },
    "filesystem": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--mount", "type=bind,src=C:/Chemin/Vers/Dossier/Step,dst=/step",
        "mcp/filesystem",
        "/step"
      ]
    }
  }
}

重要 替换: /chemin/vers/vos/fichiers/step 通过包含STEP文件的文件夹的实际路径。

与Claude Desktop一起使用

  1. 放置您的STEP文件 在配置的文件夹中(例如: /chemin/vers/vos/fichiers/step/)
  2. 问问克劳德 要列出可用文件:
   Quels fichiers STEP sont disponibles ?
  1. 请求分析 :
   Analyse le fichier /workspace/step/product.stp
💡 令人震惊 :文件系统服务器允许Claude查看您的文件,步骤分析器服务器分析它们。两人一起工作!

选项2:安装区域设置

先决条件

# Installer pythonocc-core (via conda recommandé)
conda install -c conda-forge pythonocc-core

# Installer FastMCP
pip install fastmcp

Claude桌面的配置

添加此配置:

macOS/Linux :

{
  "mcpServers": {
    "step-analyzer": {
      "command": "python",
      "args": ["/chemin/absolu/vers/MCP_STEP.py"],
      "description": "Serveur MCP pour l'analyse de fichiers STEP"
    }
  }
}

视窗 :

{
  "mcpServers": {
    "step-analyzer": {
      "command": "python",
      "args": ["C:\\chemin\\vers\\MCP_STEP.py"],
      "description": "Serveur MCP pour l'analyse de fichiers STEP"
    }
  }
}

将路径替换为文件的绝对路径。

📖 使用

与Claude Desktop

场景1:分析文件

Utilisateur : Quels fichiers STEP sont disponibles ?
Claude : [liste les fichiers via filesystem]

Utilisateur : Analyse le fichier /workspace/step/product.stp et extrais la nomenclature
Claude : [utilise analyze_step_file avec file_path]

场景2:比较两个版本

Utilisateur : Compare /workspace/step/product_v1.stp avec /workspace/step/product_v2.stp

Claude : [utilise compare_step_files avec les deux chemins]

场景3:智能导航

Utilisateur : Trouve tous les fichiers STEP dans le dossier et analyse le plus récent

Claude : [utilise filesystem pour lister, puis step-analyzer pour analyser]

命令行(开发模式)

# Lancer le serveur en mode développement
python MCP_STEP.py dev

# Le serveur affichera une interface interactive

使用stdio进行手动测试

# Lancer le serveur
python MCP_STEP.py

# Envoyer une requête JSON-RPC
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | python MCP_STEP.py

🔧 代码结构

服务器使用 FastMCP 这大大简化了实现:

from fastmcp import FastMCP
import base64

mcp = FastMCP("STEP Analyzer", version="2.0.0")

@mcp.tool()
def analyze_step_file(
    file_path: str = None, 
    file_content: str = None
) -> Dict[str, Any]:
    """Analyse complète d'un fichier STEP
    
    Accepte soit un chemin d'accès, soit le contenu du fichier en base64
    """
    # Le serveur gère automatiquement l'une ou l'autre approche
    ...

📊 例子

示例1:分析文件

克劳德桌面入口 :

Utilisateur : Liste les fichiers STEP disponibles dans /workspace/step
Claude : [utilise filesystem pour lister]

Utilisateur : Analyse jasper_v14.stp
Claude : [utilise step-analyzer pour analyser /workspace/step/jasper_v14.stp]

答复 :具有层次结构的组件的完整列表

示例2:比较两个版本

克劳德桌面入口 :

Utilisateur : Compare /workspace/step/jasper_v09.stp avec /workspace/step/jasper_v14.stp

答复 :

{
  "total_changes": 3,
  "impact": "CRITICAL_INTERFACE",
  "clash_risks": 1,
  "interface_changes": 2,
  "critical_joints": [
    {
      "component1": "housing",
      "component2": "bracket",
      "fastener_count": 4,
      "fastener_diameter": 5,
      "severity": "critical"
    }
  ]
}

示例3:分析本地文件

CLI入口 :

python -c "
from config_manager import ConfigurationManager
cm = ConfigurationManager('step/jaspair_v09.stp')
cm.analyze_complete()
"

🐳 配置Docker编写(可选)

对于更高级的部署:

# filepath: docker-compose.yml
version: '3.8'

services:
  mcp-step-analyzer:
    image: docker.io/jchabas/mcp_stepanalyzer:latest
    container_name: mcp_step_analyzer
    ports:
      - "3000:3000"  # Si exposé via HTTP
    volumes:
      - ./step:/app/step:ro  # Monter le répertoire des fichiers STEP (optionnel)
    environment:
      - LOG_LEVEL=info
    restart: unless-stopped

开始使用:

docker-compose up -d

🔍 依赖性

  • fastmcp :创建MCP服务器的框架
  • 蟒蛇核心 :用于分析STEP文件的库
  • 配置管理器 :配置分析模块
  • 基线比较器 :基线比较模块

📝 备注

  • 体积要求蒙太奇 :步骤文件必须通过卷安装到Docker容器中
  • 服务器 文件系统 允许Claude浏览您的文件
  • 服务器 阶跃分析器 执行STEP文件分析
  • 基线保存有一个唯一的ID,用于可追溯性
  • 服务器自动处理错误并返回清晰的消息
  • 与MCP协议2024-11-05兼容
  • 新v2.0 :接口分析和与文件系统的集成

🐛 故障排除

Claude Desktop看不到服务器

使用Docker :

# Vérifiez que l'image est disponible
docker images | grep mcp_stepanalyzer

# Redémarrez Docker Desktop
# Redémarrez Claude Desktop

本地 :

  1. 检查配置中的绝对路径
  2. 测试: python MCP_STEP.py
  3. 重新启动Claude桌面
  4. 检查中的日志 ~/Library/Logs/Claude/ (macOS)

附加文件的“未找到文件”错误

Docker MCP服务器无法直接访问附件。解决方案:

  1. 使用文件系统服务器 (推荐):

- 将文件复制到已安装的文件夹 - 使用文件系统服务器列出文件 - 请Claude通过路径进行分析 /workspace/step/fichier.stp

  1. 安装临时音量 :

- 在Docker配置中为临时文件夹添加挂载 - 在分析之前复制您的文件

服务器接受附件,但分析不正确

检查pythonocc core是否正确安装:

python -c "from OCC.Core.STEPControl import STEPControl_Reader; print('OK')"

📄 许可证

教育项目-数字挑战

目录标签

目录标签

PythonClaudeAI代理STEP分析本地部署文件比较CAD数据工程分析MCP协议

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP