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
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:
- GetToken para obter um token PKCE usado nas requisições da API APS.
- GetHubs para recuperar os hubs usando a API AEC Data Model
- GetProjects para recuperar os projetos usando a API AEC Data Model
- GetElementGroupsByProject para recuperar os ElementGroups usando a API AEC Data Model
- GetElementsByElementGroupWithCategoryFilter para recuperar os elementos de um ElementGroup usando um filtro de categoria.
- RenderModel para renderizar um design com o Viewer
- 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
-
Não consigo encontrar meu hub: Provisione seu aplicativo APS no seu hub ACC
-
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