散斑MCP服务器
用于与Speckle交互的模型上下文协议(MCP)服务器,Speckle是与AEC工具连接的协作数据中心。
概述
此MCP服务器充当Speckle的API和客户端应用程序之间的桥梁,并公开一组工具,允许用户:
- 列出并搜索Speckle项目
- 检索详细的项目信息
- 访问项目中的模型版本
- 从特定版本检索和查询对象及其属性
安装
先决条件
- Python 3.13或更高版本
- 带有个人访问令牌的斑点账户
- 依赖管理和虚拟环境的uv
设置
- 克隆此存储库:
git clone https://github.com/bimgeek/speckle-mcp.git
cd speckle-mcp- 请确保您已安装Python 3.13:
python --version # Should show Python 3.13.x- 使用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许可证获得许可-有关详细信息,请参阅许可证文件。
