SceneView MCP

22 ferramentas para desenvolvimento 3D e AR — gera código SceneView correto e compilável para Android (Jetpack Compose) e iOS (SwiftUI). 858 testes.

Documentação

sceneview-mcp

Dê a qualquer assistente de IA conhecimento de nível especialista em desenvolvimento 3D e AR.

npm version npm downloads Tests MCP Registry License Node

O servidor oficial do Model Context Protocol para SceneView — o SDK 3D e AR multiplataforma para Android (Jetpack Compose + Filament), iOS / macOS / visionOS (SwiftUI + RealityKit) e Web (Filament.js + WebXR).

Conecte-o ao Claude, Cursor, Windsurf ou qualquer cliente MCP. Seu assistente de IA recebe ferramentas especializadas, exemplos de código compiláveis, a referência completa da API e um validador de código — para que ele escreva código 3D/AR correto e funcional na primeira tentativa.

Aviso legal: O código gerado é fornecido "como está", sem garantia. Sempre revise antes do uso em produção. Consulte TERMS.md e PRIVACY.md.


Início rápido

Um único comando — sem necessidade de instalação:

npx sceneview-mcp

Claude Desktop

Adicione em ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "sceneview": {
      "command": "npx",
      "args": ["-y", "sceneview-mcp"]
    }
  }
}

Reinicie o Claude Desktop após salvar.

Claude Code

Duas opções.

Recomendado — instale o plugin SceneView Claude Code para obter este servidor MCP mais 11 comandos de contribuidor com namespace e hooks de lembrete multiplataforma de uma só vez:

/plugin marketplace add sceneview/claude-marketplace
/plugin install sceneview@sceneview

Ou — apenas o servidor MCP (mais leve, sem comandos ou hooks):

claude mcp add sceneview -- npx -y sceneview-mcp

Cursor

Abra Configurações > MCP, adicione um novo servidor chamado sceneview com o comando npx -y sceneview-mcp. Ou adicione em .cursor/mcp.json:

{
  "mcpServers": {
    "sceneview": {
      "command": "npx",
      "args": ["-y", "sceneview-mcp"]
    }
  }
}

Windsurf / Outros clientes MCP

Mesma configuração JSON acima. O servidor se comunica via stdio usando o protocolo MCP padrão.


O que você obtém

Todas as ferramentas de desenvolvedor são gratuitas: guias de configuração para cada plataforma, exemplos de código, a referência da API, as ferramentas de migração, o validador, a busca de modelos e o analisador de projetos.

Ferramentas gratuitas

Configuração e integração

FerramentaO que faz
get_setupConfiguração Gradle + manifest para Android 3D ou AR
get_ios_setupDependência SPM, Info.plist, SwiftUI para iOS / macOS / visionOS
get_web_setupKotlin/JS + Filament.js (WASM) para 3D baseado em navegador
get_ar_setupPermissões, opções de sessão, detecção de planos, rastreamento de imagens
get_platform_setupGuia de configuração unificado para qualquer plataforma (Android, iOS, Web, Flutter, RN, Desktop, TV)

Geração de código e migração

FerramentaO que faz
get_sampleRetorna um exemplo de código completo e compilável para qualquer um dos 33 cenários (Kotlin ou Swift)
list_samplesNavegue por todos os exemplos, filtre por tag (ar, 3d, ios, animation, geometry, ...)
validate_codeVerifica o código gerado contra 30+ regras — incluindo existência de símbolos na API pública real, com sugestões "você quis dizer" — antes de apresentá-lo ao usuário
migrate_codeMigra automaticamente código SceneView 2.x / 3.x com changelog detalhado
get_migration_guideTodas as mudanças que quebram compatibilidade com código antes/depois

Referência da API

FerramentaO que faz
get_node_referenceReferência completa da API para qualquer um dos 46+ tipos de nó — assinaturas exatas, padrões, exemplos
list_platformsPlataformas suportadas com status, renderizador e framework
get_platform_roadmapStatus e cronograma multiplataforma

Guias

get_best_practices · get_animation_guide · get_gesture_guide · get_performance_tips · get_material_guide · get_collision_guide · get_model_optimization_guide · get_web_rendering_guide · get_troubleshooting · debug_issue

Descoberta e análise

FerramentaO que faz
search_modelsPesquisa modelos 3D gratuitos no Sketchfab (BYOK — defina SKETCHFAB_API_KEY)
generate_3d_modelGera um GLB totalmente novo a partir de um prompt de texto ou imagem via Tripo AI (BYOK — defina TRIPO_API_KEY)
analyze_projectEscaneia um projeto SceneView local no disco — detecta a plataforma, extrai a versão, sinaliza dependências desatualizadas e anti-padrões conhecidos
search_android_docsPesquisa a base de conhecimento de documentação Android do Google (requer o CLI android no PATH)
fetch_android_docBusca uma entrada completa da documentação Android pelo URI kb://... (requer o CLI android no PATH)

2 recursos

URI do recursoO que fornece
sceneview://apiReferência completa da API SceneView 4.0.x (o llms.txt completo)
sceneview://known-issuesIssues abertas ao vivo do GitHub (cache de 10 min)

search_models — encontre assets 3D reais a partir da IA

O código SceneView gerado só é útil se apontar para um asset que realmente existe. O search_models consulta a API pública de busca do Sketchfab e retorna uma lista com nomes, autores, licenças, miniaturas, contagens de triângulos e URLs de visualizador/embed que o assistente pode inserir diretamente em rememberModelInstance(modelLoader, ...) ou incorporar como pré-visualização ao vivo.

Traga sua própria chave (BYOK). O SceneView nunca faz proxy da solicitação — você mantém o limite de taxa e o custo permanece zero. Para configurar:

  1. Crie uma conta gratuita em sketchfab.com/register
  2. Copie seu token de API de sketchfab.com/settings/password
  3. Defina SKETCHFAB_API_KEY na configuração do seu cliente MCP:
{
  "mcpServers": {
    "sceneview": {
      "command": "npx",
      "args": ["-y", "sceneview-mcp"],
      "env": { "SKETCHFAB_API_KEY": "YOUR_TOKEN_HERE" }
    }
  }
}

Chame-o como search_models({ query: "red sports car", category: "cars-vehicles", maxResults: 6 }). Se a chave estiver ausente, a ferramenta retorna uma mensagem clara explicando como obter uma, em vez de falhar silenciosamente.

generate_3d_model — crie assets 3D totalmente novos a partir da IA

Quando nenhum modelo existente serve, o generate_3d_model fecha a outra metade do ciclo de assets: ele gera um GLB novo a partir de um prompt de texto (texto→3D) ou de uma imagem de origem (imagem→3D) via API do Tripo AI e retorna uma URL direta de download do GLB além de metadados de licença/atribuição — pronto para rememberModelInstance(modelLoader, ...) e posicionamento em AR.

Dois níveis de qualidade:

qualityModelo TripoTopologiaLatênciaCusto aprox. (julho de 2026)
"fast" (padrão)P1 (P1-20260311)low-poly, pronto para AR~25–30 s~US$ 0,10–0,25 dos seus créditos
"hd"H3.1 (v3.1-20260211)malha quad, geometria detalhada + texturasaté ~100 s~US$ 0,41 dos seus créditos

Traga sua própria chave (BYOK). Exatamente como search_models: o SceneView nunca faz proxy da solicitação nem armazena sua chave — as gerações são cobradas na sua conta Tripo. Para configurar:

  1. Crie uma chave de API em platform.tripo3d.ai/api-keys (contas novas recebem créditos de teste gratuitos)
  2. Defina TRIPO_API_KEY na configuração do seu cliente MCP:
{
  "mcpServers": {
    "sceneview": {
      "command": "npx",
      "args": ["-y", "sceneview-mcp"],
      "env": { "TRIPO_API_KEY": "YOUR_KEY_HERE" }
    }
  }
}

Chame-o como generate_3d_model({ prompt: "a low-poly cactus in a striped pot" }) ou generate_3d_model({ imageUrl: "https://example.com/chair.jpg", quality: "hd" }). Forneça exatamente um de prompt / imageUrl.

⚠️ A URL de download do GLB expira ~5 minutos após a geração — baixe o arquivo imediatamente e hospede-o você mesmo (por exemplo, copie-o para o assets/models/ do seu aplicativo). O resultado da ferramenta repete este aviso. Chave ausente, falhas de tarefa, limites de taxa e timeouts de polling (2 min rápido / 4 min limite HD) retornam mensagens claras e acionáveis em vez de travar ou falhar.

analyze_project — varredura de projeto local

Como o servidor MCP roda na máquina do usuário, o analyze_project pode ler os arquivos do projeto diretamente. Dado um path (padrão: process.cwd()), ele:

  • Detecta o tipo de projeto procurando por build.gradle(.kts) com io.github.sceneview:sceneview (Android), Package.swift com SceneViewSwift (iOS) ou package.json com sceneview-web (Web).
  • Extrai a versão da dependência do SceneView e a compara com a versão mais recente conhecida por este build do MCP, sinalizando projetos desatualizados.
  • Percorre até 30 arquivos de código-fonte (.kt, .kts, .swift, .js, .ts) e até 500 KB no total, verificando anti-padrões conhecidos: chamadas Filament/ModelLoader dentro de corrotinas em segundo plano, o bug de lambda final LightNode(...) { ... }, APIs 2.x obsoletas (ArSceneView, TransformableNode, PlacementNode, ViewRenderable, loadModelAsync) e imports com.google.ar.sceneform.*.
  • Retorna um relatório estruturado { projectType, sceneViewVersion, latestVersion, isOutdated, warnings, suggestions }, além de um resumo em Markdown.

A ferramenta é somente leitura, nunca grava no disco e lida graciosamente com diretórios ausentes. Use-a quando o usuário perguntar "meu projeto está atualizado?" ou como uma verificação de sanidade antes de gerar novo código para uma base de código existente.


Exemplos

"Crie um aplicativo de AR para mim"

O assistente chama get_ar_setup + get_sample("ar-model-viewer") e retorna um composable Kotlin completo e compilável com todos os imports, dependências Gradle e entradas de manifest. Pronto para colar no Android Studio.

"Crie um visualizador de modelos 3D para iOS"

O assistente chama get_ios_setup("3d") + get_sample("ios-model-viewer") e retorna código Swift com a dependência SPM, entradas Info.plist e uma visualização SwiftUI funcional.

"Quais parâmetros o LightNode aceita?"

O assistente chama get_node_reference("LightNode") e retorna a assinatura exata da função, tipos de parâmetro, padrões e um exemplo de uso — incluindo o detalhe crítico de que apply é um parâmetro nomeado, não um lambda final.

"Valide este código antes de eu usá-lo"

O assistente chama validate_code com o trecho gerado e o verifica contra 30+ regras: existência de símbolos na API pública real (imports desconhecidos, tipos de nó inventados, métodos de loader inexistentes — cada um com sugestões "você quis dizer"), violações de threading, segurança de nulos, correção da API, problemas de ciclo de vida, APIs obsoletas. Os problemas são sinalizados com explicações antes que o código chegue ao usuário.


Por que isto existe

Sem este servidor MCP, os assistentes de IA regularmente:

  • Recomendam Sceneform obsoleto (abandonado em 2021) em vez de SceneView
  • Geram código imperativo baseado em View em vez de Jetpack Compose
  • Usam assinaturas de API erradas ou nomes de parâmetros desatualizados
  • Perdem a pegadinha do parâmetro nomeado LightNode (apply = não é lambda final)
  • Esquecem verificações de nulo em rememberModelInstance (retorna null durante o carregamento)
  • Não têm nenhum conhecimento da API iOS/Swift do SceneView

Com este servidor MCP, os assistentes de IA:

  • Sempre usam a superfície de API atual do SceneView 4.0.x
  • Geram código 3D/AR correto nativo em Compose para Android
  • Geram código correto nativo em SwiftUI para iOS/macOS/visionOS
  • Conhecem todos os 46+ tipos de nó e seus parâmetros exatos
  • Validam o código contra 30+ regras antes de apresentá-lo
  • Fornecem código de exemplo funcional e testado para 33 cenários

Qualidade

O servidor MCP é testado com 1.965 testes unitários em 83 suítes de teste cobrindo:

  • Cada resposta de ferramenta (saída correta, tratamento de erros, casos extremos)
  • Todos os 33 exemplos de código (estrutura compilável, imports corretos, sem APIs obsoletas)
  • Regras do validador de código (verdadeiros positivos e resistência a falsos positivos)
  • Análise da referência de nós (todos os tipos de nó extraídos corretamente de llms.txt)
  • Respostas de recursos (referência da API, integração com issues do GitHub)
 Test Files  83 passed (83)
      Tests  1965 passed (1965)

Todas as ferramentas funcionam totalmente offline, exceto sceneview://known-issues (API do GitHub, cache de 10 min), search_models (Sketchfab, BYOK) e generate_3d_model (Tripo AI, BYOK).


Solução de problemas

"Servidor MCP não encontrado" ou erros de conexão

  1. Certifique-se de que o Node.js 18+ está instalado: node --version
  2. Teste manualmente: npx sceneview-mcp — deve iniciar sem erros
  3. Reinicie seu cliente de IA após alterar a configuração do MCP

"Comando npx não encontrado"

Instale o Node.js em nodejs.org (LTS recomendado). npm e npx estão incluídos.

O servidor inicia, mas as ferramentas não estão disponíveis

  • Claude Desktop: verifique o ícone MCP na barra de entrada — deve mostrar "sceneview" como conectado
  • Cursor: verifique Configurações > MCP para status verde
  • Reinicie o cliente de IA para forçar uma reconexão

Problemas de firewall ou proxy

As únicas chamadas de rede são para a API do GitHub (para problemas conhecidos), Sketchfab (quando SKETCHFAB_API_KEY está definido) e Tripo AI (quando TRIPO_API_KEY está definido e generate_3d_model é chamado). Todo o resto funciona offline.

{
  "mcpServers": {
    "sceneview": {
      "command": "npx",
      "args": ["-y", "sceneview-mcp"],
      "env": {
        "HTTPS_PROXY": "http://proxy.example.com:8080"
      }
    }
  }
}

Opcional: pacotes verticais

Um pequeno conjunto de ferramentas específicas de domínio é controlado por uma assinatura opcional. Elas não são necessárias para trabalho geral em 3D/AR — só são úteis se você estiver construindo um desses verticais específicos:

  • Automotivo — configurador de carros, shader de pintura, catálogo de peças, overlay de HUD, showroom de AR
  • Jogos — física, partículas, editor de níveis, visualizador de personagens, inventário 3D
  • Saúde — planejamento cirúrgico, visualizador odontológico, imagens médicas, anatomia, visualizador de moléculas
  • Interiores — planejador de ambientes, design de iluminação, trocador de materiais, posicionamento de móveis, tour pelo ambiente

Além de 3 auxiliares de geração: render_3d_preview, create_3d_artifact, generate_scene.

O SDK base e todas as ferramentas de desenvolvedor listadas acima permanecem gratuitos, sempre.


Patrocinador

Se o sceneview-mcp economizar seu tempo, considere patrocinar no GitHub Sponsors. Construir isso é um trabalho de amor de um único desenvolvedor e as doações mantêm o nível gratuito coberto.


Telemetria anônima

Habilitada por padrão no nível gratuito (nome/versão do cliente MCP e nomes de ferramentas — sem dados pessoais, sem conteúdo de prompts). Desative com SCENEVIEW_TELEMETRY=0. Consulte PRIVACY.md para a forma completa do payload.


Desenvolvimento

cd mcp
npm install
npm run prepare  # Copy llms.txt + build TypeScript
npm test         # 1965 tests
npm run lint     # Biome (repo-root biome.json) — lint + format + import assists
npm run lint:fix # same, applying the safe fixes
npm run dev      # Start with tsx (hot reload)

Estrutura do projeto

mcp/
  src/
    index.ts             # MCP server entry point
    tools/handler.ts     # Tool dispatcher (free + pro)
    tiers.ts             # Free vs Pro tier mapping
    samples.ts           # 33 compilable code samples (Kotlin + Swift)
    validator.ts         # Code validator (30+ rules)
    node-reference.ts    # Node type parser
    guides.ts            # Best practices, AR setup, roadmap, troubleshooting
    migration.ts         # v2 -> v3 -> v4 migration guide
    preview.ts           # 3D preview URL generator
    artifact.ts          # HTML artifact generator (model-viewer, charts, product 360)
    issues.ts            # GitHub issues fetcher (cached)
    search-models.ts     # Sketchfab BYOK search
    generate-model.ts    # Tripo BYOK text/image -> GLB generation
    analyze-project.ts   # Local project scanner
    proxy.ts             # Pro-tool proxy to hosted gateway
  llms.txt               # Bundled API reference (copied from repo root)

Contribuindo

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade
  3. Adicione testes para novas ferramentas ou regras
  4. Execute npm test — todos os 1898+ testes devem passar
  5. Envie um pull request

Consulte CONTRIBUTING.md para o guia completo.

Jurídico