APS AEC Data Model MCP (.NET)

Um servidor MCP .NET para interagir com a API e o Visualizador do Modelo de Dados AEC da Autodesk.

Documentação

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

aps-aecdm-mcp-dotnet

Servidor MCP .NET para conectar com Claude Desktop, AEC Data Model API e o Viewer.

Introdução

Este exemplo começou como um experimento com o novo Model Context Protocol trazido como um desafio durante um dos nossos Autodesk Platform Accelerators. Agradecimentos especiais a Mirco Bianchini por trazer esse desafio e contribuir para chegar às soluções apresentadas neste repositório.

Pré-requisitos

Para que isso funcione, você precisará de:

  • Baixar e instalar o Claude Desktop
  • Clonar ou baixar este repositório
  • Compilar este projeto
  • Adicionar uma referência ao .csproj no arquivo de configuração do Claude (recurso de desenvolvedores)

VÍDEO DE DEMONSTRAÇÃO AQUI

Como funciona

Este exemplo cria um servidor MCP usando o ModelContextProtocol .NET SDK.

Neste escopo, adicionamos 4 ferramentas principais ao nosso servidor:

  1. GetToken para obter um token PKCE usado nas requisições da API APS.
  2. GetHubs para recuperar os hubs usando a API AEC Data Model
  3. GetProjects para recuperar os projetos usando a API AEC Data Model
  4. GetElementGroupsByProject para recuperar os ElementGroups usando a API AEC Data Model
  5. GetElementsByElementGroupWithCategoryFilter para recuperar os elementos de um ElementGroup usando um filtro de categoria.
  6. RenderModel para renderizar um design com o Viewer
  7. HighLightElements para destacar elementos no Viewer.

Com essas ferramentas, você pode usar linguagem natural para consultar os dados dos seus elementgroups usando a API AEC Data Model.

Este é um primeiro experimento com este novo protocolo. Sinta-se à vontade para enviar sugestões e colaborar com este repositório para que possamos melhorar suas funcionalidades.

Configuração

Executando localmente

Clone este projeto ou baixe-o. É recomendado instalar o GitHub desktop. Para cloná-lo via linha de comando, use o seguinte (Terminal no MacOSX/Linux, Git Shell no Windows):

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

Visual Studio (Windows):

Substitua client_id pela sua própria chave (aplicação de página única). Você pode fazer isso diretamente no arquivo 'Properties/lauchSettings.json' ou pela interface do Visual Studio nas propriedades de depuração.

Você precisará adicionar uma referência ao seu servidor MCP no arquivo claude_desktop_congif.json

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

Leitura Adicional

Solução de problemas

  1. Não consigo encontrar meu hub: Provisione seu aplicativo APS no seu hub ACC

  2. Se você fez alterações no código e quer que isso seja refletido no Claude, você precisará encerrar a tarefa do CLaude antes de recompilar a solução.

Licença

Este exemplo está licenciado sob os termos da Licença MIT. Consulte o arquivo LICENSE para obter detalhes completos.

Escrito por

João Martins in/jpornelas