Soma Nexus
БесплатноНе проверенMCP server that fetches Figma data (file trees, nodes, images, components, styles, variables) and serves as a foundation for Flutter code generation.
Описание
MCP server that fetches Figma data (file trees, nodes, images, components, styles, variables) and serves as a foundation for Flutter code generation.
README
MCP server em TypeScript para VS Code, focado em leitura de dados do Figma e contexto para design-to-code.
O que faz
- Busca árvore de arquivo do Figma
- Busca nós específicos por ID
- Resolve URL completa do Figma (
fileKey+node-id) - Busca nó direto a partir de URL
- Retorna saída normalizada para design-to-code
- Busca imagens exportadas
- Busca components, styles e variables
- Valida contrato federado de mapeamento Figma -> Design System
Arquitetura (simples e prática)
Aplicamos SOLID + Clean Architecture sem excesso de abstração:
src/index.ts: composition rootsrc/presentation/register-tools.ts: camada de entrada (tools MCP)src/infrastructure/figma-api-client.ts: integração com API Figmasrc/domain/figma-url.ts: regras de URL e IDssrc/application/node-normalizer.ts: normalização para design-to-codesrc/core/errors.tsesrc/core/responses.ts: erros e contrato de resposta
Regras usadas:
- Responsabilidade única por módulo
- Dependências apontando para dentro (presentation -> application/domain/infrastructure)
- Infra isolada (troca de API client sem mexer em tools)
- Erro e resposta padronizados para todas as tools
Requisitos
- Node.js 18+
FIGMA_TOKENdefinido no ambiente do cliente MCP- Opcional:
FIGMA_NODES_CACHE_TTL_MS(default:90000)
Desenvolvimento local
npm install
npm run build
npm run dev
npm test
Tools disponíveis
get_figma_file: payload bruto do arquivo inteiro (debug pesado)parse_figma_url: extraifileKeyenodeIdde URLget_figma_nodes: busca nós por IDsget_figma_node_from_url: busca nó direto com URL completaget_figma_node_normalized: metadata + estilos/tokens/assets normalizadosget_figma_images: URLs de renderização de nósget_figma_components: componentes publicadosget_figma_styles: estilos publicadosget_figma_variables: variáveis locaisvalidate_figma_to_code_index: valida índice global e docs por componentepreview_figma_component_mapping: mostra melhor match de componente DS para um node Figmagenerate_flutter_component_from_figma: gera snippet Flutter mínimo via mapping federadogenerate_flutter_page_from_figma: gera estrutura Flutter de página inteira com DS quando houver match
Economia de tokens (recomendado)
Use estes parâmetros em tools de leitura/mapping/geração:
responseMode:compact|standarddebugTelemetry:true|false
Sugestão para uso normal:
responseMode: "compact"debugTelemetry: false
Quando quiser medir custo real de payload:
debugTelemetry: trueretornameta.payloadSizeBytesemeta.responseSizeBytes.
Observações:
- Tools com
depthusam default conservador1quando não informado. - Preview de matching limita candidatos por padrão para reduzir resposta (
compact: 3,standard: 10).
Modelo federado Figma -> Code
Cada componente do Design System deve manter seu próprio arquivo:
{component}/docs/figma-to-code.md
E todos os componentes devem ser registrados em:
docs/figma-to-code-index.yaml
Documentação de suporte:
docs/specs/figma-to-code-component-doc-spec.mddocs/figma-to-code-authoring-guide.mddocs/templates/component-figma-to-code.template.md
Configuração no VS Code
No workspace, use .vscode/mcp.json:
{
"inputs": [
{
"id": "figma-token",
"type": "promptString",
"description": "FIGMA_TOKEN for Soma Nexus MCP",
"password": true
}
],
"servers": {
"soma-nexus-figma-mcp": {
"type": "stdio",
"command": "npm",
"args": ["run", "dev"],
"env": {
"FIGMA_TOKEN": "${input:figma-token}"
}
}
}
}
Na primeira vez, VS Code pergunta token e guarda valor localmente.
Fluxo recomendado (design-to-code)
validate_figma_to_code_indexparse_figma_urlpreview_figma_component_mappinggenerate_flutter_component_from_figma(quando URL aponta para componente)generate_flutter_page_from_figma(quando URL aponta para frame/página)get_figma_node_normalized(debug/inspeção)get_figma_images(se precisar assets)
Esse fluxo evita payload gigante e melhora estabilidade da geração de código.
Contrato de resposta
Sucesso:
{
"ok": true,
"data": {}
}
Erro:
{
"ok": false,
"error": {
"code": "FIGMA_UNAUTHORIZED",
"message": "Figma token unauthorized.",
"details": {}
}
}
Установка Soma Nexus
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/pablostefan/soma_nexusFAQ
Soma Nexus MCP бесплатный?
Да, Soma Nexus MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Soma Nexus?
Нет, Soma Nexus работает без API-ключей и переменных окружения.
Soma Nexus — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Soma Nexus в Claude Desktop, Claude Code или Cursor?
Открой Soma Nexus на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Soma Nexus with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
