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:
git clone https://github.com/bimgeek/speckle-mcp.git cd speckle-mcpEnsure you have Python 3.13 installed:
python --version # Should show Python 3.13.xInstall dependencies using uv:
uv pip install -r requirements.txt
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 projectsParameters:
limit
(optional): Maximum number of projects to retrieve (default: 20)
get_project_details
: Retrieves detailed information about a specific projectParameters:
project_id
: The ID of the Speckle project to retrievelimit
(optional): Maximum number of models to retrieve (default: 20)
search_projects
: Searches for projects by name or descriptionParameters:
query
: The search term to look for in project names and descriptions
Models
get_model_versions
: Lists all versions for a specific modelParameters:
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)
Objects
get_version_objects
: Retrieves objects from a specific versionParameters:
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)
query_object_properties
: Queries specific properties from objects in a versionParameters:
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")
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
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.
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.
Related MCP Servers
- AsecurityAlicenseAqualityFacilitates interaction with Ethereum blockchain data via Etherscan's API, providing real-time access to balances, transactions, token transfers, contract ABIs, gas prices, and ENS name resolutions.Last updated -1426MIT License
- AsecurityAlicenseAqualityProvides Ethereum blockchain data tools via Etherscan's API, enabling users to check ETH balances, view transactions, track token transfers, fetch contract ABIs, monitor gas prices, and resolve ENS names.Last updated -141MIT License
- AsecurityAlicenseAqualityA tool that enables users to interact with blockchain data to retrieve token total supply, chain IDs, and filtered RPC endpoints across different blockchain networks.Last updated -624MIT License
- AsecurityAlicenseAqualityIt interacts with the Kaggle API to provide tools for searching and downloading datasets, and a prompt for generating EDA notebooks.Last updated -221MIT License