Speckle MCP Server
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides a bridge to Speckle's AEC (Architecture, Engineering, Construction) tools, allowing users to list, search, and retrieve projects, access model versions, and query object properties from BIM data.
Speckle MCP Server
A Model Context Protocol (MCP) server for interacting with Speckle, the collaborative data hub that connects with your AEC tools.
Overview
This MCP server acts as a bridge between Speckle's API and client applications and exposes a set of tools that allow users to:
- List and search Speckle projects
- Retrieve detailed project information
- Access model versions within projects
- Retrieve and query objects and their properties from specific versions
Installation
Prerequisites
- Python 3.13 or higher
- Speckle account with a personal access token
- uv for dependency management and virtual environments
Setup
- Clone this repository:Copy
- Ensure you have Python 3.13 installed:Copy
- Install dependencies using uv:Copy
Configuration
Environment Variables
The server requires the following environment variables:
SPECKLE_TOKEN
: Your Speckle personal access token (required)SPECKLE_SERVER
: The Speckle server URL (defaults to https://app.speckle.systems)
MCP Configuration
To use this server with Claude, you need to update your MCP configuration file. The configuration file is typically located at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add or update the "speckle" entry in the mcpServers
section:
Replace /path/to/speckle-mcp
with the actual path to the directory containing the speckle_mcp
package.
Available Tools
Projects
list_projects
: Lists all accessible Speckle projects- Parameters:
limit
(optional): Maximum number of projects to retrieve (default: 20)
- Parameters:
get_project_details
: Retrieves detailed information about a specific project- Parameters:
project_id
: The ID of the Speckle project to retrievelimit
(optional): Maximum number of models to retrieve (default: 20)
- Parameters:
search_projects
: Searches for projects by name or description- Parameters:
query
: The search term to look for in project names and descriptions
- Parameters:
Models
get_model_versions
: Lists all versions for a specific model- Parameters:
project_id
: The ID of the Speckle projectmodel_id
: The ID of the model to retrieve versions forlimit
(optional): Maximum number of versions to retrieve (default: 20)
- Parameters:
Objects
get_version_objects
: Retrieves objects from a specific version- Parameters:
project_id
: The ID of the Speckle projectversion_id
: The ID of the version to retrieve objects frominclude_children
(optional): Whether to include children objects in the response (default: false)
- Parameters:
query_object_properties
: Queries specific properties from objects in a version- Parameters:
project_id
: The ID of the Speckle projectversion_id
: The ID of the version to retrieve objects fromproperty_path
: The dot-notation path to the property (e.g., "elements.0.name")
- Parameters:
Troubleshooting
- If you encounter authentication issues, make sure your Speckle token is valid and has the necessary permissions
- Check the server logs for detailed error messages
- Ensure the environment variables are correctly set in the MCP configuration
License
This project is licensed under the MIT License - see the LICENSE file for details.
This server cannot be installed
A bridge between Speckle's API and client applications that enables users to list/search projects, access model versions, and retrieve/query objects and their properties from the Speckle collaborative data hub for AEC tools.