Speckle 中间件桥
一座连接Speckle API和客户端应用程序的桥梁,使用户能够列出/搜索项目、访问模型版本以及从Speckle协作数据中心检索/查询对象及其属性,该数据中心专为AEC工具设计。
服务介绍
Speckle MCP 服务器
一个用于与Speckle(一种连接到您的AEC工具的协作数据中心)交互的模型上下文协议(MCP)服务器。
概览
此MCP服务器充当Speckle API和客户端应用程序之间的桥梁,并提供一组工具,允许用户:
- 列出并搜索Speckle项目
- 获取详细的项目信息
- 访问项目内的模型版本
- 从特定版本中检索和查询对象及其属性
安装
先决条件
- Python 3.13或更高版本
- 带有个人访问令牌的Speckle帐户
- uv 用于依赖管理和虚拟环境
设置
-
克隆此仓库:
git clone https://github.com/bimgeek/speckle-mcp.git cd speckle-mcp -
确保已安装Python 3.13:
python --version # 应显示 Python 3.13.x -
使用uv安装依赖项:
uv pip install -r requirements.txt
配置
环境变量
服务器需要以下环境变量:
SPECKLE_TOKEN:您的Speckle个人访问令牌(必需)SPECKLE_SERVER:Speckle服务器URL(默认为 https://app.speckle.systems)
MCP 配置
要将此服务器与Claude一起使用,您需要更新您的MCP配置文件。配置文件通常位于:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
在mcpServers部分添加或更新"speckle"条目:
{
"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项目的IDlimit(可选):要检索的最大模型数量(默认值:20)
- 参数:
-
search_projects:按名称或描述搜索项目- 参数:
query:要在项目名称和描述中查找的搜索词
- 参数:
模型
get_model_versions:列出特定模型的所有版本- 参数:
project_id:Speckle项目的IDmodel_id:要检索版本的模型IDlimit(可选):要检索的最大版本数量(默认值:20)
- 参数:
对象
-
get_version_objects: 从特定版本检索对象- 参数:
project_id: Speckle 项目的 IDversion_id: 要从中检索对象的版本的 IDinclude_children(可选): 是否在响应中包含子对象(默认:false)
- 参数:
-
query_object_properties: 从版本中的对象查询特定属性- 参数:
project_id: Speckle 项目的 IDversion_id: 要从中检索对象的版本的 IDproperty_path: 属性的点表示法路径(例如,"elements.0.name")
- 参数:
故障排除
- 如果遇到身份验证问题,请确保您的 Speckle 令牌有效并且具有必要的权限
- 查看服务器日志以获取详细的错误消息
- 确保在 MCP 配置中正确设置了环境变量
许可证
本项目根据 MIT 许可证许可 - 有关详细信息,请参阅 LICENSE 文件。