Servidor MCP de Speckle
Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con Speckle, el centro de datos colaborativo que se conecta con sus herramientas AEC.
Descripción general
Este servidor MCP actúa como puente entre la API de Speckle y las aplicaciones cliente y expone un conjunto de herramientas que permiten a los usuarios:
- Listar y buscar proyectos Speckle
- Recuperar información detallada del proyecto
- Acceder a versiones de modelos dentro de los proyectos
- Recuperar y consultar objetos y sus propiedades de versiones específicas
Instalación
Requisitos previos
- Python 3.13 o superior
- Cuenta Speckle con un token de acceso personal
- uv para la gestión de dependencias y entornos virtuales
Configurar
Clona este repositorio:
git clone https://github.com/bimgeek/speckle-mcp.git cd speckle-mcp
Asegúrese de que tiene Python 3.13 instalado:
python --version # Debería mostrar Python 3.13.x
Instale las dependencias usando uv:
uv pip install -r requirements.txt
Configuración
Variables de entorno
El servidor requiere las siguientes variables de entorno:
SPECKLE_TOKEN
: Su token de acceso personal a Speckle (obligatorio)SPECKLE_SERVER
: La URL del servidor Speckle (por defecto https://app.speckle.systems)
Configuración MCP
Para utilizar este servidor con Claude, debe actualizar su archivo de configuración MCP. El archivo de configuración se encuentra normalmente en
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Añada o actualice la entrada "speckle" en la sección 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" } } } }
Sustituya /path/to/speckle-mcp
por la ruta real al directorio que contiene el paquete speckle_mcp
.
Herramientas disponibles
Proyectos
list_projects
: Lista todos los proyectos Speckle accesibles- Parámetros
limit
(opcional): Número máximo de proyectos a recuperar (por defecto: 20)
- Parámetros
get_project_details
: Recupera información detallada sobre un proyecto específico- Parámetros
project_id
: El ID del proyecto Speckle a recuperarlimit
(opcional): Número máximo de modelos a recuperar (por defecto: 20)
- Parámetros
search_projects
: Busca proyectos por nombre o descripción- Parámetros
consulta
: El término de búsqueda que se buscará en los nombres y descripciones de los proyectos
- Parámetros
Modelos
get_model_versions
: Lista todas las versiones de un modelo específico- Parámetros
project_id
: El ID del proyecto Specklemodel_id
: El ID del modelo para el que se desea recuperar las versioneslimit
(opcional): Número máximo de versiones a recuperar (por defecto: 20)
- Parámetros
Objetos
get_version_objects
: Recupera objetos de una versión específica- Parámetros
project_id
: El ID del proyecto Speckleversion_id
: El ID de la versión de la que recuperar objetosinclude_children
(opcional): Si se incluyen objetos hijos en la respuesta (por defecto: false)
- Parámetros
query_object_properties
: Consulta propiedades específicas de los objetos de una versión- Parámetros
project_id
: El ID del proyecto Speckleversion_id
: El ID de la versión de la que recuperar objetosruta_de_la_propiedad
: La ruta de anotación de puntos a la propiedad (por ejemplo, "elementos.0.nombre")
- Parámetros
Solución de problemas
- Si se encuentra con problemas de autenticación, asegúrese de que su token Speckle es válido y tiene los permisos necesarios
- Compruebe los registros del servidor para obtener mensajes de error detallados
- Asegúrese de que las variables de entorno están correctamente establecidas en la configuración de MCP
Licencia
Este proyecto está licenciado bajo la licencia MIT - consulte el archivo LICENSE para más detalles.