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.
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
| Ferramenta | O que faz |
|---|---|
get_setup | Configuração Gradle + manifest para Android 3D ou AR |
get_ios_setup | Dependência SPM, Info.plist, SwiftUI para iOS / macOS / visionOS |
get_web_setup | Kotlin/JS + Filament.js (WASM) para 3D baseado em navegador |
get_ar_setup | Permissões, opções de sessão, detecção de planos, rastreamento de imagens |
get_platform_setup | Guia de configuração unificado para qualquer plataforma (Android, iOS, Web, Flutter, RN, Desktop, TV) |
Geração de código e migração
| Ferramenta | O que faz |
|---|---|
get_sample | Retorna um exemplo de código completo e compilável para qualquer um dos 33 cenários (Kotlin ou Swift) |
list_samples | Navegue por todos os exemplos, filtre por tag (ar, 3d, ios, animation, geometry, ...) |
validate_code | Verifica 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_code | Migra automaticamente código SceneView 2.x / 3.x com changelog detalhado |
get_migration_guide | Todas as mudanças que quebram compatibilidade com código antes/depois |
Referência da API
| Ferramenta | O que faz |
|---|---|
get_node_reference | Referência completa da API para qualquer um dos 46+ tipos de nó — assinaturas exatas, padrões, exemplos |
list_platforms | Plataformas suportadas com status, renderizador e framework |
get_platform_roadmap | Status 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
| Ferramenta | O que faz |
|---|---|
search_models | Pesquisa modelos 3D gratuitos no Sketchfab (BYOK — defina SKETCHFAB_API_KEY) |
generate_3d_model | Gera um GLB totalmente novo a partir de um prompt de texto ou imagem via Tripo AI (BYOK — defina TRIPO_API_KEY) |
analyze_project | Escaneia um projeto SceneView local no disco — detecta a plataforma, extrai a versão, sinaliza dependências desatualizadas e anti-padrões conhecidos |
search_android_docs | Pesquisa a base de conhecimento de documentação Android do Google (requer o CLI android no PATH) |
fetch_android_doc | Busca uma entrada completa da documentação Android pelo URI kb://... (requer o CLI android no PATH) |
2 recursos
| URI do recurso | O que fornece |
|---|---|
sceneview://api | Referência completa da API SceneView 4.0.x (o llms.txt completo) |
sceneview://known-issues | Issues 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:
- Crie uma conta gratuita em sketchfab.com/register
- Copie seu token de API de sketchfab.com/settings/password
- Defina
SKETCHFAB_API_KEYna 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:
quality | Modelo Tripo | Topologia | Latência | Custo 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 + texturas | até ~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:
- Crie uma chave de API em platform.tripo3d.ai/api-keys (contas novas recebem créditos de teste gratuitos)
- Defina
TRIPO_API_KEYna 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)comio.github.sceneview:sceneview(Android),Package.swiftcomSceneViewSwift(iOS) oupackage.jsoncomsceneview-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 finalLightNode(...) { ... }, APIs 2.x obsoletas (ArSceneView,TransformableNode,PlacementNode,ViewRenderable,loadModelAsync) e importscom.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(retornanulldurante 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
- Certifique-se de que o Node.js 18+ está instalado:
node --version - Teste manualmente:
npx sceneview-mcp— deve iniciar sem erros - 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
- Faça um fork do repositório
- Crie um branch de funcionalidade
- Adicione testes para novas ferramentas ou regras
- Execute
npm test— todos os 1898+ testes devem passar - Envie um pull request
Consulte CONTRIBUTING.md para o guia completo.
Jurídico
- LICENSE — Licença MIT
- TERMS.md — Termos de Serviço
- PRIVACY.md — Política de Privacidade