模型上下文协议服务器

Speckle MCP服务器是一个连接Speckle API与客户端应用的桥梁,提供项目列表、搜索、模型版本访问及对象属性查询等功能,适用于AEC(建筑、工程、施工)工具的数据协作。

  • by bimgeek
  • Python
  • 本地部署
  • 12 星标
  • 更新于
在 GitHub 查看 bimgeek/speckle-mcp

使用说明

散斑MCP服务器

用于与Speckle交互的模型上下文协议(MCP)服务器,Speckle是与AEC工具连接的协作数据中心。

概述

此MCP服务器充当Speckle的API和客户端应用程序之间的桥梁,并公开一组工具,允许用户:

  • 列出并搜索Speckle项目
  • 检索详细的项目信息
  • 访问项目中的模型版本
  • 从特定版本检索和查询对象及其属性

安装

先决条件

  • Python 3.13或更高版本
  • 带有个人访问令牌的斑点账户
  • 依赖管理和虚拟环境的uv

设置

  1. 克隆此存储库:

    git clone https://github.com/bimgeek/speckle-mcp.git
    cd speckle-mcp
    
  2. 请确保您已安装Python 3.13:

    python --version  # Should show Python 3.13.x
    
  3. 使用uv安装依赖项:

    uv pip install -r requirements.txt
    

配置

环境变量

服务器需要以下环境变量:

  • SPECKLE_TOKEN:您的Speckle个人访问令牌(必填)
  • SPECKLE_SERVER:斑点服务器URL(默认为https://app.speckle.systems)

MCP配置

要将此服务器与Claude一起使用,您需要更新MCP配置文件。配置文件通常位于:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

在中添加或更新“斑点”条目 mcpServers 章节:

{
  "mcpServers": {
    "speckle": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/speckle-mcp",
        "run",
        "speckle_server.py"
      ],
      "env": {
        "SPECKLE_TOKEN": "YOUR_SPECKLE_API_TOKEN_HERE",
        "SPECKLE_SERVER": "https://app.speckle.systems"
      }
    }
  }
}

替换 /path/to/speckle-mcp 其中包含目录的实际路径 speckle_mcp 包裹。

可用工具

项目

  • list_projects:列出所有可访问的Speckle项目

    • 参数:
      • limit (可选):要检索的最大项目数(默认值:20)
  • get_project_details:检索特定项目的详细信息

    • 参数:
      • project_id:要检索的Speckle项目的ID
      • limit (可选):要检索的最大模型数(默认值:20)
  • search_projects:按名称或描述搜索项目

    • 参数:
      • query:在项目名称和描述中查找的搜索词

模型

  • get_model_versions:列出特定型号的所有版本
    • 参数:
      • project_id:Speckle项目的ID
      • model_id:用于检索版本的模型的ID
      • limit (可选):要检索的最大版本数(默认值:20)

对象

  • get_version_objects:从特定版本检索对象

    • 参数:
      • project_id:Speckle项目的ID
      • version_id:从中检索对象的版本ID
      • include_children (可选):是否在响应中包含子对象(默认值:false)
  • query_object_properties:从版本中的对象查询特定属性

    • 参数:
      • project_id:Speckle项目的ID
      • version_id:从中检索对象的版本ID
      • property_path:指向属性的点标记路径(例如,“elements.0.name”)

故障排除

  • 如果您遇到身份验证问题,请确保您的斑点令牌有效并且具有必要的权限
  • 检查服务器日志以获取详细的错误消息
  • 确保MCP配置中的环境变量设置正确

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。