APS AEC Data Model MCP (.NET)

Un servidor MCP .NET para interactuar con la API y el visor del modelo de datos AEC de Autodesk.

Documentación

Platforms .NET License oAuth2 Data-Management AEC-Data-Model

aps-aecdm-mcp-dotnet

Servidor MCP en .NET para conectarse con Claude Desktop, la API de AEC Data Model y el Viewer.

Introducción

Este ejemplo comenzó como un experimento con el nuevo Model Context Protocol presentado como un desafío durante uno de nuestros Autodesk Platform Accelerators. Un agradecimiento especial a Mirco Bianchini por traer este desafío y contribuir a llegar a las soluciones presentadas en este repositorio.

Requisitos previos

Para que esto funcione, necesitarás:

  • Descargar e instalar Claude Desktop
  • Clonar o descargar este repositorio
  • Compilar este proyecto
  • Agregar una referencia al .csproj en el archivo de configuración de Claude (recurso para desarrolladores)

VIDEO DE DEMOSTRACIÓN AQUÍ

Cómo funciona

Este ejemplo crea un servidor MCP utilizando el ModelContextProtocol .NET SDK.

En este alcance, agregamos 4 herramientas principales a nuestro servidor:

  1. GetToken para obtener un token PKCE que se utiliza en las solicitudes de la API de APS.
  2. GetHubs para recuperar los hubs utilizando la API de AEC Data Model.
  3. GetProjects para recuperar los proyectos utilizando la API de AEC Data Model.
  4. GetElementGroupsByProject para recuperar los ElementGroups utilizando la API de AEC Data Model.
  5. GetElementsByElementGroupWithCategoryFilter para recuperar los elementos de un ElementGroup utilizando un filtro de categoría.
  6. RenderModel para renderizar un diseño con el Viewer.
  7. HighLightElements para resaltar elementos en el Viewer.

Con estas herramientas, puedes usar lenguaje natural para consultar los datos de tus elementgroups utilizando la API de AEC Data Model.

Este es un primer experimento con este nuevo protocolo. Siéntete libre de enviar sugerencias y colaborar en este repositorio para que podamos mejorar sus funcionalidades.

Configuración

Ejecución local

Clona este proyecto o descárgalo. Se recomienda instalar GitHub desktop. Para clonarlo mediante la línea de comandos, usa lo siguiente (Terminal en MacOSX/Linux, Git Shell en Windows):

git clone https://github.com/joaomartins-callmejohn/aps-aecdm-mcp-dotnet

Visual Studio (Windows):

Reemplaza client_id con tu propia clave (aplicación de página única). Puedes hacerlo directamente en el archivo 'Properties/lauchSettings.json' o a través de la interfaz de Visual Studio en las propiedades de depuración.

Necesitarás agregar una referencia a tu servidor MCP en el archivo claude_desktop_congif.json

{
    "mcpServers": {
      "aecdm": {
            "command": "dotnet",
            "args": [
                "run",
                "--project",
                "C:\\Users\\...mcp-server-aecdm.csproj",
                "--no-build"
            ]
        }
    }
}

Lectura adicional

Solución de problemas

  1. No puedo encontrar mi hub: Aprovisiona tu aplicación APS en tu hub de ACC

  2. Si hiciste cambios en el código y quieres que esto se refleje en Claude, necesitarás finalizar la tarea de Claude antes de recompilar la solución.

Licencia

Este ejemplo está licenciado bajo los términos de la Licencia MIT. Consulta el archivo LICENSE para obtener todos los detalles.

Escrito por

João Martins in/jpornelas