Skip to main content

Add your description here

Project description

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

  1. Clone this repository:

    git clone https://github.com/bimgeek/speckle-mcp.git
    cd speckle-mcp
    
  2. Ensure you have Python 3.13 installed:

    python --version  # Should show Python 3.13.x
    
  3. Install 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:

{
  "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"
      }
    }
  }
}

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)
  • get_project_details: Retrieves detailed information about a specific project

    • Parameters:
      • project_id: The ID of the Speckle project to retrieve
      • limit (optional): Maximum number of models to retrieve (default: 20)
  • search_projects: Searches for projects by name or description

    • Parameters:
      • query: The search term to look for in project names and descriptions

Models

  • get_model_versions: Lists all versions for a specific model
    • Parameters:
      • project_id: The ID of the Speckle project
      • model_id: The ID of the model to retrieve versions for
      • limit (optional): Maximum number of versions to retrieve (default: 20)

Objects

  • get_version_objects: Retrieves objects from a specific version

    • Parameters:
      • project_id: The ID of the Speckle project
      • version_id: The ID of the version to retrieve objects from
      • include_children (optional): Whether to include children objects in the response (default: false)
  • query_object_properties: Queries specific properties from objects in a version

    • Parameters:
      • project_id: The ID of the Speckle project
      • version_id: The ID of the version to retrieve objects from
      • property_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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mseep_speckle_mcp-0.1.0.tar.gz (3.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mseep_speckle_mcp-0.1.0-py3-none-any.whl (2.7 kB view details)

Uploaded Python 3

File details

Details for the file mseep_speckle_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: mseep_speckle_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for mseep_speckle_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 aa8c0ed05279984cea2941c4bda1f53d0eff29dda6a4d0e422e14e956ff85d99
MD5 8348d0cbf81defe6413b6cde455b6b30
BLAKE2b-256 6dfe6a87f61d9ba5b717ac9bce816495bd0d70d6163b922f23c1e69379aad260

See more details on using hashes here.

File details

Details for the file mseep_speckle_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mseep_speckle_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4a3c74ff4494e0195e072bc7daeb08131992db233a1f035c64ba62932f1d2122
MD5 a8cf834e013f87fa84fbe4eb2f84aa54
BLAKE2b-256 7bcf50db6e07e07173f9167b7abaf6a7c3049aff7bed2caa9c8591c71b5f182d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page