Serveur MCP Speckle
Serveur MCP (Model Context Protocol) permettant d'interagir avec Speckle, le hub de données collaboratives qui se connecte à vos outils AEC.
Vue d'ensemble
Ce serveur MCP agit comme un pont entre l'API de Speckle et les applications clientes et expose un ensemble d'outils qui permettent aux utilisateurs de.. :
- Lister et rechercher des projets Speckle
- Récupérer des informations détaillées sur les projets
- D'accéder aux versions des modèles au sein des projets
- D'extraire et d'interroger des objets et leurs propriétés à partir de versions spécifiques
L'installation de Speckle
Conditions préalables
- Python 3.13 ou supérieur
- Compte Speckle avec un jeton d'accès personnel
- uv pour la gestion des dépendances et les environnements virtuels
Configuration
Clonez ce dépôt :
git clone https://github.com/bimgeek/speckle-mcp.git cd speckle-mcp
Assurez-vous que Python 3.13 est installé :
python --version # Devrait afficher Python 3.13.x
Installez les dépendances en utilisant uv :
uv pip install -r requirements.txt
Configuration de l'environnement
Variables d'environnement
Le serveur nécessite les variables d'environnement suivantes :
SPECKLE_TOKEN
: Votre jeton d'accès personnel à Speckle (obligatoire)SPECKLE_SERVER
: L'URL du serveur Speckle (par défaut https://app.speckle.systems)
Configuration MCP
Pour utiliser ce serveur avec Claude, vous devez mettre à jour votre fichier de configuration MCP. Le fichier de configuration est généralement situé à l'endroit suivant
- macOS :
~/Bibliothèque/Application Support/Claude/claude_desktop_config.json
- Windows :
%APPDATA%\Claudeclaude_desktop_config.json
Ajoutez ou mettez à jour l'entrée "speckle" dans la section 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" } } }
Remplacez /path/to/speckle-mcp
par le chemin réel du répertoire contenant le paquetage speckle_mcp
.
Outils disponibles
Projets
list_projects
: Liste tous les projets Speckle accessibles- Paramètres
limit
(optionnel) : Nombre maximum de projets à récupérer (par défaut : 20)
- Paramètres
get_project_details
: Récupère des informations détaillées sur un projet spécifique- Paramètres
project_id
: L'ID du projet Speckle à récupérerlimit
(optionnel) : Nombre maximal de modèles à récupérer (par défaut : 20)
- Paramètres
search_projects
: Recherche des projets par nom ou par description- Paramètres
query
: Le terme de recherche à rechercher dans les noms et descriptions de projets
- Paramètres
Modèles
get_model_versions
: Liste toutes les versions d'un modèle spécifique- Paramètres
project_id
: L'ID du projet Specklemodel_id
: L'ID du modèle pour lequel les versions doivent être récupéréeslimit
(optionnel) : Nombre maximal de versions à récupérer (par défaut : 20)
- Paramètres
Objets
get_version_objects
: Récupère les objets d'une version spécifique- Paramètres
project_id
: L'identifiant du projet Speckleversion_id
: L'identifiant de la version à partir de laquelle les objets doivent être récupérésinclude_children
(optionnel) : Indique s'il faut inclure les objets enfants dans la réponse (par défaut : false)
- Paramètres
query_object_properties
: Interroge les propriétés spécifiques des objets d'une version- Paramètres
project_id
: L'identifiant du projet Speckleversion_id
: L'identifiant de la version dans laquelle les objets doivent être recherchésproperty_path
: Le chemin d'accès à la propriété (par exemple, "elements.0.name")
- Paramètres
Résolution des problèmes
- Si vous rencontrez des problèmes d'authentification, assurez-vous que votre jeton Speckle est valide et qu'il dispose des autorisations nécessaires
- Consultez les journaux du serveur pour obtenir des messages d'erreur détaillés
- Assurez-vous que les variables d'environnement sont correctement définies dans la configuration du MCP
Licence d'utilisation
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.