Sapiens Sintéticos vs SSTV Decoder
A side-by-side look at the Sapiens Sintéticos and SSTV Decoder MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Sapiens Sintéticos for multimedia process work as a local process; choose SSTV Decoder for multimedia process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Sapiens Sintéticos when
- You need dedicated capabilities in the Multimedia Process domain.
- You prefer a local stdio subprocess transport.
- You want tools like
sapiens_pipeline, sapiens_carrossel, sapiens_image.
SChoose SSTV Decoder when
- You need dedicated capabilities in the Multimedia Process domain.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | S SSTV Decoder | |
|---|---|---|
| Category | Multimedia Process | Multimedia Process |
| Quality signal | 63/100 · Good | 37/100 · Fair |
| Install command | Confirmed | Not confirmed yet |
| Transport | Local subprocess (stdio) | — |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1 | — |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 40 | Not listed |
| Full listing | View Sapiens Sintéticos | View SSTV Decoder |
Tools & capabilities
Sapiens Sintéticos tools 40
sapiens_pipelineCRUD do content pipeline Sapiens (sources/productions/publishables). Sub-actions: list_sources, list_articles (use includeDrafts pra incluir drafts; onlyAvailable pra esconder os já virados em source), get_source, get_production, list_versions, add_article_as_source, create_draft_article_and_source (seed), create_production (sourceId+format → productionId draft), update_production (substitui payload, opcionalmente muda status), finalize_production (cria publishable v1, v2... com snapshot), remove_production, remove_source, set_source_done, update_source_notes, restore_version (volta payload duma versão antiga), set_publishable_title (renomeia um publishable), backfill_via (rotula em lote o campo 'via' das productions antigas; dryRun=true só lista), propose_mega_grafico_plan (granular: só gera plano via Gemini, devolve fullPrompt+spec), run_mega_grafico_full (ONE-SHOT, recomendado: cria production+propõe plano+gera imagem+aplica selo Sapiens+finaliza publishable numa chamada só), generate_carousel (gera um carrossel standalone a partir de brief OU articleId, com imagens do banco; devolve id + url do editor pro humano abrir, ajustar e exportar; cobra Sinapses, reembolsa se falhar; model é a FORMA: 'feed' (padrão), 'reflexao', 'case' ou 'editorial' (a IA escolhe os layouts); aspect é o TAMANHO da folha: '4:5' (padrão, o feed mostra inteira) ou '9:16' (tela cheia); dá pra trocar os dois depois no editor. O membro faz o mesmo pela sapiens_carrossel). generate_carousel_production (o IRMÃO PIPELINE do generate_carousel: recebe um sourceId de artigo, CRIA a production carrossel_ig e a preenche pelo MESMO motor da casa, já no shape editorial (templateId+slots) que o editor de pipeline renderiza — prefira ESTE a create_production+payload cru pro carrossel, que abre VAZIO no editor; devolve productionId + url do editor de pipeline; admin-only, cobra Sinapses, reembolsa se falhar; model opcional trava a folha registrada; beats opcional entrega copy PRONTO por beat da espinha, [{n, slots}], quando o agente JÁ escreveu e validou os blocos: com beats o Gemini de escrita NÃO roda e a rodada cobra só o picker de imagens, zero com autoPickImages=false; caption opcional vira a legenda do meta). CARROSSEL FINO (edição sem tela, admin-only): list_carousels (seus carrosséis standalone), get_carousel (payload completo + catálogo de templates com slots/limites + paletas + o formato da peça e os válidos — tudo pra VOCÊ escrever os slides), update_carousel (payload inteiro de volta, normalizado no servidor; preserve os campos image dos slides que não mexeu E o theme inteiro, com a folha (theme.sheet) e a assinatura (theme.signature): o que faltar volta pro padrão), carousel_auto_images (IA escolhe imagens do banco pros slides de foto, 60 Sinapses; aceita carouselId standalone OU productionId de carrossel da pipeline; makeVisual=true converte slides de texto pra layouts de foto antes — ritmo visual; generateMissing=true gera imagem nova pros que o banco não cobrir, ~450 Sinapses cada, até 4, avise o custo antes), carousel_generate_image (imagem nova pra UM slide, ~450 Sinapses, customPrompt opcional), capa_ia (A CAPA SEAMLESS: gera uma imagem 16:9 contínua com o TEXTO QUEIMADO dentro dela e o elemento vivo cruzando as letras, fatia em duas peças 3:4 no servidor e, com carouselId, já põe as duas na frente do carrossel. É a capa mais bonita da casa e a única em que o sujeito passa na frente e atrás do título, porque o texto é parte da imagem, não overlay. Args: capaHeadline (obrigatório), capaSubline, capaRightText (cai no 2º slide), capaElement e capaVibe (omitidos, a IA escolhe pela pauta), capaImageModel. O MOTOR é a decisão que mais muda o resultado, porque capa é tipografia: gpt-image-2-high (default, 1200, o único da casa que entrega letra pequena legível, sai em 1536x1024) contra nano-banana-max (900, cena mais fiel e 2K de verdade, letra erra mais). Cobra pelo catálogo, no motor que rodou, e a peça entra na sua galeria como qualquer geração. Depois de gerada, ANIMAR a capa (o elemento deriva e o texto fica congelado) é ato do editor, não do agente). Fluxo confortável (standalone): generate_carousel → get_carousel → update_carousel (afia os textos) → carousel_auto_images → humano abre a url pra exportar. Fluxo pipeline (carrossel atrelado a um artigo/source): generate_carousel_production (sourceId) → humano abre a url do editor de pipeline pra revisar e finalizar (finalize_production). Fluxo pipeline com copy do agente (a skill escreveu os blocos): generate_carousel_production (sourceId + model + beats) → carousel_auto_images (productionId) se faltar foto → humano revisa e finaliza. Pra mega_grafico, SEMPRE prefira run_mega_grafico_full em vez de sequenciar manualmente (menos drift). Idempotente só na production (passa productionId pra reusar a MESMA row), mas cada run RE-GERA a imagem e cobra de novo (~900 Sinapses): não é grátis re-rodar. OBRIGATÓRIO perguntar ao user antes se withHelen=true (cartoon Helen interage com tema, ~15-25% do poster) ou false (poster 100% diagramático). Custo ~900-1000 sinapses por geração. run_mega_grafico_full, generate_carousel, generate_carousel_production, carousel_auto_images (com generateMissing) e carousel_generate_image são SÍNCRONAS e pesadas: vale a REGRA DO TIMEOUT (podem cobrar mesmo voltando 'Timeout'; cheque get_carousel/dashboard antes de repetir). Use skipFinalize=true se quiser deixar production em 'ready' pro admin revisar antes de publishable. Payload livre por formato — chame sapiens_meta action=formats pra ver schemas sugeridos.sapiens_carrosselO CARROSSEL do Instagram da pessoa, pelo agente (qualquer conta logada, só os carrosséis DELA). Puxe a skill 'carrossel' antes. Sub-actions: generate (gera do zero a partir de UMA fonte: brief, articleId de artigo publicado ou userArticleId de artigo dela; 350 Sinapses já com a escolha de fotos, estorna se falhar; model é a FORMA: feed (padrão, 9 slides), reflexao, case ou editorial; aspect é o TAMANHO: 4:5 (padrão, a folha que o feed mostra inteira) ou 9:16; devolve id + url do editor), list (os carrosséis dela, com id, título, nº de slides e url), get (payload inteiro + catálogo de layouts com os slots e limites de cada um, paletas, folhas e a assinatura: tudo pra VOCÊ escrever os slides), update (payload INTEIRO de volta, normalizado no servidor: mande o theme inteiro, com folha e assinatura, e o image de todo slide que não mexeu, senão volta pro padrão e a foto some), auto_images (a IA escolhe fotos do banco pros slides, 60 Sinapses, estorna se não tiver o que preencher; makeVisual converte slides de texto em layout de foto antes; generateMissing gera foto nova pros que o banco não cobrir, até 4, ~450 Sinapses cada, avise o custo antes), generate_image (foto nova pra UM slide, ~450 Sinapses, customPrompt opcional), set_image (põe no slide uma peça da pessoa ou pública pelo ID citável img_…, sem custo; é como ela usa as PRÓPRIAS fotos), cover (a Capa IA: capa 16:9 com a manchete QUEIMADA na imagem e um elemento vivo cruzando as letras; com carouselId fatia em duas e põe na frente do carrossel no lugar da capa IA anterior; cobra pelo motor da capa, confirme o custo antes). A ASSINATURA (theme.signature: o nome no topo, a marca no canto e o @ do fecho) nasce da marca da pessoa, ou do nome dela quando não tem marca; o @ é o dela no Instagram, não invente. O BRAND veste a peça inteira: cor (o destaque é a cor do brand que lê no fundo, trocável no editor), fonte do título e do corpo, voz e assinatura; no generate, brandSlug escolhe outro brand que não o padrão da conta. Carrossel que vem de FORA entra pelo update: cada slide de lá casa com um layout do catálogo do get pelo papel (capa, corpo, cta) e pela foto, e o estilo vem do brand (sapiens_brand action=import), não do layout. O carrossel vai até 15 slides. generate, auto_images com generateMissing, generate_image e cover são SÍNCRONAS e pesadas: vale a REGRA DO TIMEOUT (confira em action=list antes de repetir). Baixar o arquivo é no editor (a url): aqui sai a receita pronta. O carrossel atrelado a uma jogada do Workflow segue pela sapiens_pipeline.sapiens_imageOperações de imagem via Sapiens (Gemini, GPT Image 2 e 2.5, Grok, Seedream/ByteDance). Sub-actions: 'upscale' (sourceImageId de uma imagem SUA pronta: a mesma peça em resolução maior vira peça nova no acervo, a original fica; cobra Sinapses, preço fixo igual ao da ficha no site; SÍNCRONA e pode passar de 2 min, então Timeout é o cliente desistindo: olhe sapiens_gallery action=list antes de repetir), 'sombra' (sourceImageId de uma foto SUA pronta: extrai a sombra, o mapa de profundidade colorido da foto, como peça nova no acervo, pra usar de referência de pose e volume; cobra Sinapses, preço fixo; síncrona), 'generate' (gera imagem completa imediato — prompt+model+aspectRatio+size; suporta mode=edit/variation e MULTI-REFERÊNCIA: combine até 4 imagens como referência numa geração só, igual ao modal 'Selecionar Referência' do web — via referenceImageUrls (sua galeria + Acervo + personagens públicos de sapiens_character) e/ou sourceImageIds (ids da sua galeria); refs valem pros modelos robustos nano-banana-2/gpt-image-2-*/grok-2-image*/seedream-*; EDIÇÃO POR ÁREA: sourceImageId + maskRegions (caixas em fração da imagem) muda SÓ a região marcada e devolve o resto igual ao pixel, no nano-banana-2 e no nano-banana-max, pelo preço da geração comum; FUNDO TRANSPARENTE: transparentBackground=true devolve PNG com alpha, o recorte feito pelo próprio motor, pelo preço da geração comum e sem o Remover Fundo pago depois, só na linha GPT Image (supportsTransparentBackground em action=models; nos outros recusa sem cobrar)), 'compose' (combina persona+screen via Gemini pra app-demo Shorts; 25 sinapses, rate limit 10/min). generate=image one-shot, compose=montar start frame app-demo. 'request_generation' é legado e recusa sem cobrar: vídeo nasce inteiro em sapiens_video action=create. TEMPLATE: passe templateSlug numa generate pra usar um super-prompt travado da casa — o `prompt` vira só a CENA (quem + pose + objeto-conceito) e o template embrulha estilo+fundo+enquadramento+ref de traço. 'retrato-sapiens-v1' = retrato editorial cartoon de um personagem no grid verde Sapiens (mesma 'mão' dos artigos); sem ref própria, injeta a Helen como âncora de traço (passar referenceImageUrls troca quem aparece). Mutuamente exclusivo com brandSlug. Sub-action 'models' (sem custo, sem login): lista o catálogo vivo (modelos ativos + preço cobrado em 1K com override admin + resolutionAdders, o adder por resolução já clampado ao teto de cada motor + maxResolution + se aceita referência) pra descobrir modelo/preço em vez de chutar. O preço de uma geração é priceSinapses + resolutionAdders[size], então 2K/4K custam MAIS que o número base: nunca cite o base como se fosse o total quando o size não for 1K. NOTA: generate é SÍNCRONA e cobra ao concluir; modelo pesado (Pro, gpt-image-2-high, Grok quality, 2K/4K) cai na REGRA DO TIMEOUT (cheque sapiens_gallery action=list antes de repetir, evita cobrança dupla).sapiens_metaUtilitários transversais: start (porta de entrada do primeiro contato — sem login ensina a conectar, com login mostra saldo/tier + primeiros poderes com exemplo pronto + 'comece por aqui'), login (conecta a conta com o código de sapiensinteticos.com/conectar-claude, salva a sessão localmente; ela vale 90 dias e renova sozinha a cada uso), logout (desconecta de verdade: revoga a chave no servidor e apaga o token local), whoami (tier user/admin + saldo + email), credits (saldo agregado), subscription (plan + status + saldo por bucket subscription/grants/free + warnings low/critical), formats (schemas por formato), health (inclui a versão do MCP), version (qual versão do sapiens-mcp está REALMENTE rodando + se é a última do npm; não exige login; use pra saber se o client pegou a versão nova ou ficou preso em cache do npx), app_url (URLs canônicas), precos (a tabela de preço do membro em duas carteiras separadas, com regras próprias: app = cada motor do App em Sinapses, com o detalhe por resolução e por segundo de vídeo e o link do card em /motores; api = a API da conta, com saldo próprio em dólar: preço por imagem, a partir de no vídeo (o exato pela cotação grátis) e texto por milhão de tokens com midia=texto. Sinapse não se converte em dólar. Pra comparar com fal.ai, WaveSpeed ou outro serviço que cobra em dólar, use a parte api. midia recorta, busca filtra pelo nome). Use credits/subscription antes de gerar imagem pra avisar se vai estourar.sapiens_skillAs SKILLS da casa: o passo a passo travado de cada fluxo do Sapiens, servido pelo próprio connector (sem login, sem custo, sem rede). LEIA A SKILL ANTES DE OPERAR O FLUXO: é mais barato que errar uma geração que cobra Sinapses. Sub-actions: 'list' (índice vivo: slug + quando usar cada uma, grátis), 'get' (o SKILL.md inteiro, passe name=<slug>). Slugs: primeiros-passos | voz-da-casa | repertorio | musica | video | imagem | personagem | studio | forum-comunidade | companhia | trilhas | minha-voz | minha-soul | curriculo | pontes | publicar | carrossel | sapiens-api. O mesmo conteúdo também sai como resource MCP em skill://sapiens/<slug>/SKILL.md pra quem lê resources.sapiens_repertorioAcervo pessoal de filme/série/anime/jogo/jogo de tabuleiro/livro/música/pessoa (Repertório, o segundo cérebro do user). Reads: list (filtros mediaType/status), search (texto em title/genres/tags), get (detalhe), popArticles, resolve (busca capa/ano/id nos providers server-side: OMDb/IGDB-Twitch/AniList/Google Books/iTunes/Wikidata). Mutations (qualquer logado, mexem no PRÓPRIO acervo): add_item, update_item (status/rating/tags/note/isPublic), remove_item. CAPTURA ONE-SHOT travada na lista de providers: quando o user fala natural ('acabei de ver Duna 2, nota 9', 'tô jogando Hollow Knight', 'li tal livro'), (1) infira mediaType e status (assisti/zerei/li=completed, quero=backlog, tô jogando/vendo=active, dropei=dropped) e rating se citado; (2) chame action=resolve {mediaType, query}, escolha o candidato certo e faça add_item passando SÓ o source + externalId DELE + os campos pessoais (status/rating/tags/note). O servidor re-resolve no provider e grava título/capa/ano canônicos — você NÃO manda título/capa nem inventa externalId. (3) Se o resolve não achar (lista vazia/providerKeyMissing), NÃO dá pra adicionar: diga ao user que não encontrou nos providers (não fabrique entry manual). Upsert/dedup por (userId, source, externalId). Só pergunte se ambíguo entre candidatos. FERRAMENTAS DE IA (Repertório de Ferramentas): fluxo separado (vêm do catálogo aitag, não dos providers de mídia). action=search_tools {query} acha a ferramenta no catálogo e devolve o toolId; action=add_tool {toolId, favorite?, rating?, note?} grava como mediaType 'tool' (estar no acervo já é 'usei'; favorite=true liga a estrela). Use quando o user fala 'adiciona o Midjourney/Cursor no meu repertório de ferramentas' ou 'uso tal ferramenta de IA'. Cada ferramenta aponta pra página dela no aitag. CATÁLOGO (ADMIN, o dono): action=catalog_tool cadastra no AItag uma ferramenta OPEN SOURCE que ainda não está lá {toolId, name, githubUrl, categoryEn, descriptionEn, descriptionPt, e de preferência reviewEn/reviewPt, websiteUrl, tags}; devolve created, toolId e a url aitag.app/tool/<toolId>. Idempotente: o mesmo repo (mesmo com outro toolId) devolve a ficha existente e só preenche a análise que estiver vazia, nunca sobrescreve. Rode search_tools antes; é a porta da skill achado. SAPIENS (pessoas, ombros de gigantes; a aba no site chama Sapiens): mediaType 'person' cataloga gente que inspira (cineasta, mangaká, cientista, escritor) via Wikidata. Mesmo fluxo de mídia: resolve {mediaType:'person', query:'Osamu Tezuka'} → add_item com source 'wikidata' + o QID do candidato. O servidor grava foto, ocupações, bio e o link da Wikipedia; entra como completed (estar no acervo = me inspira). Use quando o user fala 'adiciona o Miyazaki nas minhas inspirações/nos meus sapiens/no meu repertório'. JOGO DE TABULEIRO (e de cartas; a aba no site chama Tabuleiro): mediaType 'boardgame', porque 'game' é videogame e o IGDB não conhece tabuleiro. Também via Wikidata: resolve {mediaType:'boardgame', query:'Galactic Cruise'} → add_item com source 'wikidata' + o QID do candidato. Busque pelo título em inglês, que é como a Wikidata cadastra; o designer vem no campo authors do candidato e separa homônimos. O servidor grava designers, editoras e o link da página do jogo no BGG. Lançamento muito recente pode ainda não estar na Wikidata: resolve vazio = diga isso à pessoa, não fabrique. Use quando o user fala 'joguei Catan', 'quero jogar Rebirth', 'adiciona esse jogo de tabuleiro'.sapiens_galleryBrowse, publicação e upload das imagens do user. Sub-actions: list (últimas N peças, com prompt/model/url + isPublic + acervoUrl; kind=image por default, kind=video traz os takes com posterUrl, a capa, e kind=all mistura. Depois de ingerir ou gerar vídeo, é o list kind=video que dá a capa pra mostrar miniatura + player em vez de link solto), get (1 imagem com metadados, opcionalmente base64), publish (torna a PRÓPRIA imagem pública: entra na galeria pública + feed Pinterest, e ganha página indexável /imagem/<id> se o modelo não for degen devolve publicPageUrl; publicado NÃO despublica, não existe unpublish), upload (traz pra galeria uma peça gerada FORA da casa, por sourceUrl https, filePath local ou base64; ADMIN por ora), ingest (A PONTE, qualquer conta logada: peça que a PESSOA dirigiu com a ficha do personagem daqui e um motor de fora renderizou, no crédito dela (Kie, fal, Magnific, Sogni, a própria placa): entra NATIVA na timeline e nasce PRIVADA (isPublic false), publicável DEPOIS por ela como qualquer geração da casa, nunca sozinha, com custo 0 em Sinapses e o custo real guardado em externalCost; carrega o prompt VERBATIM, as referências da casa (referenceImageIds), o personagem (characterId) e o motor (externalEngine 'provedor-motor'); a peça chega por filePath (local, só no MCP instalado), sourceUrl (o render, baixado pelo MCP na máquina da pessoa, nunca pelo servidor) ou base64; o carimbo +18 nasce na entrada pela CLASSE do provedor (peso aberto como Sogni, Replicate, HF, fal, WaveSpeed, Civitai e a própria placa entram carimbados, só a curadoria tira; serviço com moderação como Kie, Magnific, Freepik, Krea entra sem) ou por unfiltered=true dito pela pessoa (carimbo dela, ela tira depois); idempotente por sourceUrl ou pelo hash do arquivo, então re-ingerir corrige a ficha em vez de duplicar; tetos 12 MB imagem, 60 MB vídeo, 40 por dia. A chave do provedor NUNCA passa por aqui: quem gerou foi o harness da pessoa. Passo a passo na skill 'pontes'), refs (acopla peças da casa como REFERÊNCIA numa peça que já existe, de upload ou de ingest; ADMIN, e só na própria peça), processo (O COMO JUNTO DO QUE: anexa a uma peça as peças que mostram como ela foi dirigida, o mapa de rota desenhado sobre o still, a prancha de frames com o tempo de cada marco, o antes e depois de duas rodadas; elas viram a seção 'Como foi feito' na página pública da peça, na ordem que você mandar e com a sua legenda por peça; qualquer membro, só na própria peça, teto de 12. É IRMÃ do refs e a diferença importa: refs é o INSUMO que entrou na geração, processo é o REGISTRO de como ela foi dirigida, e uma lista não mexe na outra. Peça de processo privada não aparece pra quem está de fora nem em miniatura: pra aparecer, publique ela também), cast (QUEM ESTÁ EM CENA numa peça que já existe, quando é mais de uma criatura: characterIds em ordem, o protagonista primeiro, e a peça passa a contar na ficha de todos eles em vez de sumir da segunda; qualquer membro, na própria peça), parts (O INTEIRO E OS PEDAÇOS de um vídeo: o clipe de 30s que foi montado a partir de dois takes de 15s, a fita longa feita de partes. COM imageId devolve a ficha de parentesco daquela peça, quais são as partes dela e de qual inteiro ela é parte, com a url do arquivo completo pra baixar. SEM imageId devolve o que AINDA NÃO FOI MONTADO: varre os takes soltos da conta, agrupa os que têm cara de par (mesmo personagem, mesmo período, prompt de 'Part one/Part two' ou arquivo terminando em -a/-b) e diz o PORQUE de cada agrupamento, pra você saber o que falta juntar antes de o autor perguntar. É heurística e não monta nada sozinha: adianta a descoberta, quem decide é quem lê. characterId filtra por personagem. Sem custo), link_parts (LIGA o inteiro aos pedaços: imageId é o vídeo montado e partIds são os takes NA ORDEM em que aparecem nele. O juntador da casa e o ingest que traz referências de vídeo já gravam esse laço sozinhos; esta porta é pra montagem feita FORA (ffmpeg na máquina, ingest do arquivo já pronto) e pra corrigir ligação errada. Só na própria peça, teto de 16 partes, e a lista TROCA o que estava gravado antes. Sem custo), reprovar (O VETO do dono: imageId + motivo, o porquê numa frase concreta. A peça que errou (rosto do personagem trocado, mão quebrada, a referência errada) não sai mais por porta nenhuma, fila do Distribution, publicar, Telegram, e some das levas do garimpo; fica no acervo com o porquê, pra ensinar. Chame NO MESMO TURNO em que o dono condena uma peça: peça condenada e não marcada volta numa leva. desfazer=true tira o veto. Imagem e vídeo, só na própria peça, sem custo), reprovadas (as peças vetadas da conta com o prompt que as gerou e o motivo, a mais recente primeiro; characterId filtra por personagem. LEIA ANTES de gerar de novo um personagem que já teve peça reprovada: é a lista do que não repetir. Sem custo), carimbo (o +18 da peça: imageId + adulta true liga, false tira, com a regra do botão da ficha: a curadoria mexe em qualquer carimbo, inclusive o que a ponte põe por classe de motor sem autor, e o dono liga na própria peça e só tira o que ele mesmo pôs. Peça carimbada não entra em praça sfw do Distribution, então tirar o carimbo de peça vestida destrava Instagram, TikTok, YouTube e LinkedIn; peça com nudez fica carimbada. Sem custo). Use list/get pra reusar imagem como referência (passe o imageId em sapiens_image mode=edit ou mode=variation) ou pra mostrar pro user o que ele já tem; publish quando o user quer divulgar a imagem dele. IMPORTANTE sobre upload: a peça entra PRIVADA e continua privada: o servidor recusa publicar e recusa compartilhar na comunidade, porque ela é do usuário e a responsabilidade é dele. O caminho pra ela virar coisa pública é usar como referência numa geração daqui e publicar o resultado. O refs escreve só proveniência (de que ficha/folha a peça nasceu): não promove nada, e um upload continua sem publicar depois de ganhar referência. COMO A PEÇA FOI FEITA: list aceita skill=<slug> e devolve só o que saiu daquela skill (o mesmo slug que sapiens_image gravou em skills), com a busca varrendo as últimas 200 peças antes de cortar no limit; cada item volta com o campo skills, e null ali quer dizer que ninguém marcou, não que foi feita sem skill.sapiens_pontesGERAR COM A CHAVE DA PESSOA (só no MCP instalado): a outra porta ao lado da Sinapse. Chama o provedor com a chave que mora no ambiente DESTA máquina (o campo do plugin ou da extensão, ou o env do config do cliente MCP: FAL_KEY, KIE_API_KEY, WAVESPEED_API_KEY, REPLICATE_API_TOKEN, OPENROUTER_API_KEY) e traz a peça pro acervo como nativa, custo 0 em Sinapses: a pessoa paga o preço do provedor, sem margem da casa. A chave NUNCA vai em arg, prompt ou chat, nunca volta no resultado e nunca passa pelo Sapiens: a tool lê do ambiente e o pedido sai daqui direto pro provedor. No conector remoto (claude.ai, ChatGPT) esta tool não existe; lá é Sinapse (sapiens_image, sapiens_video) ou o harness da pessoa + sapiens_gallery action=ingest. Sub-actions: 'balcoes' (quais chaves estão configuradas, pelo NOME, e como configurar; grátis, sem rede), 'gerar' (provedor 'fal', 'kie', 'wavespeed', 'replicate' ou 'openrouter' + modelo = o slug NO PROVEDOR, igual à página do modelo (fal: o id do endpoint, ex 'fal-ai/flux/dev'; Kie: o 'model' do Market; WaveSpeed: o slug da página, ex 'wavespeed-ai/flux-2-klein-9b/text-to-image'; Replicate: 'dono/nome', ou 'dono/nome:<versão>' pra modelo de comunidade) + input = o corpo que a doc do provedor descreve pra esse modelo, com o prompt DENTRO. COBRA NA CONTA DA PESSOA no provedor: confirme modelo e custo com ela antes. O job fica gravado nesta máquina ANTES de esperar o render, e o pedido idêntico em 30 minutos devolve o job que já existe em vez de cobrar de novo (forcar=true repete de propósito). Espera até aguardarSegundos (padrão 45) e, pronto, ingere sozinho com characterId, referenceImageIds, prompt verbatim e o custo quando o provedor diz), 'status' (jobId: consulta o provedor e, se terminou, traz pro acervo; é o que se chama depois de um gerar que voltou 'rodando', NUNCA gerar de novo), 'jobs' (os jobs desta máquina, sem rede). A FICHA DO PERSONAGEM entra no input: pegue passportPrompt e mainImageUrl/imageUrls em sapiens_character action=get, ponha o descritor no começo do prompt e as imagens no campo de referência que o modelo aceita (image_url, image_urls, conforme a doc dele); o bloco NEGATIVE do passaporte vai no campo negative_prompt quando o modelo tem um. O prompt passa pelo piso de idade da casa antes de sair (18 é o piso). Peça de fal, WaveSpeed ou Replicate entra com o carimbo +18 por classe (peso aberto), igual ao ingest manual; Kie entra sem. Passo a passo na skill 'pontes'.sapiens_communityChat da comunidade Sapiens (assinantes + alumni). Sub-actions: list (últimas N mensagens da sala 'geral' por default), send (Claude posta como intercessor do user; sufixo '· via Claude' é adicionado pelo servidor), react (toggle emoji numa mensagem — allowlist 👍🔥❤️🚀🤯), participants (quem está na sala: username/name/isBot + o `mention` pronto pra usar — use pra saber com quem falar), search_users (acha alguém por parte do nome/@username, autocomplete de menção). MENÇÃO: escreva '@username' no content do send e o servidor NOTIFICA a pessoa citada (sino + Telegram); descubra o username certo via participants/search_users antes. ANEXO do PRÓPRIO acervo no send: mediaAssetKind (track|video|film|comic) + mediaAssetId monta um card da peça (posse conferida no servidor); asTese=true posta a fala como TESE (card de marca, pingável pro Fórum). Voz nas postagens deve seguir o DNA editorial Sapiens (anti-corporate, primeira pessoa, sem em-dash).sapiens_articleNÃO CRIA ARTIGO: este tool só mexe em artigo que JÁ existe. Pra criar draft novo do blog use sapiens_pipeline action=create_draft_article_and_source (devolve articleId + sourceId), ou sapiens_quote_pop pra quote e pop-article. Não confunda com sapiens_write, que é o espaço pessoal do membro em /u/<username> (tabela user_articles), e nunca salve o texto num .md solto no repo: draft de blog mora na tabela articles. CRUD do resto: get (by slug, retorna doc completo pra edit local), update (patch em title/excerpt/tldr/content/tags/etc + VISUAIS: thumbnailUrl capa webp, ogImageUrl JPEG do preview social, bodyImages array das ilustrações inline, conceptMap mapa visual, pra recapear um artigo num novo estilo; NÃO toca status/column/format), publish (status='published', set publishedAt), unpublish (volta pra draft), delete (irreversível), ensure_visuals (gera banner/ilustrações inline/conceptMap que faltam no artigo; idempotente, pula o que existe; ~2550 Sinapses num artigo pelado (capa 450 + 2 ilustracoes de 450 + mapa 1200; inlineCount=1 baixa pra ~2100), forceBanner/forceInline/forceConceptMap regeram). ensure_visuals é ASSÍNCRONA: volta NA HORA com {status:'running', plan} e a leva corre no servidor, como o vídeo. NÃO repita a chamada pra ver se andou (cada leva gera e COBRA de novo, e as ilustrações somam) — acompanhe com visuals_status (custo 0) até jobStatus='done' ou 'error'. Quando não há nada faltando, ela responde na hora com status:'idle' e o retrato dos visuais, de graça: é a sonda pra saber o que o artigo já tem. Leva já em andamento devolve alreadyRunning:true em vez de abrir outra. visuals_status (custo 0) traz jobStatus (none/running/done/error/stale), o plano da leva, custo, erro e o estado real (hasBanner, inlineCount, hasConceptMap); 'stale' é leva que passou do teto de 10min do servidor sem fechar, ou seja, ninguém está mais gerando.sapiens_writeArtigos self-serve do PRÓPRIO usuário (qualquer conta logada, não só admin): espaço pessoal, aparece em /u/<username>, NÃO é o blog editorial. ESCOLHA A PORTA CERTA: texto que a PESSOA já escreveu vai em create (GRÁTIS, nada reescrito); IA só entra em generate (400 Sinapses). Gerar e depois sobrescrever com o texto original é queimar 400 à toa. Sub-actions: create (salva o texto pronto do autor: title obrigatório + content markdown; nasce rascunho, custo 0; brandSlug veste a peça com um design system (omitido, herda o padrão da conta) e é o que faz capa e imagens saírem no estilo DELE, não no da casa; coverImageId/coverImageUrl anexam uma capa que ele já tem, também de graça), generate (gera 1 artigo na voz Sapiens a partir de brief livre, ou reescrevendo um artigo publicado/texto teu; custa 400 Sinapses, reembolsa se falhar; salva como rascunho. Capa: por padrão gera uma capa-cortesia grátis, já no design system do autor quando ele tem um; se você JÁ tem a imagem (gerou via sapiens_image, ou o artigo é sobre ela), passe coverImageId (id da tua galeria) ou coverImageUrl (host Sapiens) pra ELA virar a capa em vez da cortesia), list (teus artigos), get (1 artigo teu por id, corpo completo), update (edita title/content/excerpt/tldr), publish (publish=true publica no teu perfil, false volta pra rascunho). Identidade vem do sessionToken; cobra as Sinapses do dono do token. Pra blog editorial curado (owner-only) use sapiens_article. NOTA (generate): é SÍNCRONA (texto + capa) e cai na REGRA DO TIMEOUT; sem idempotência, repetir às cegas cria um 2º rascunho e cobra 400 de novo (cheque action=list antes; o artigo do timeout fica salvo como rascunho).sapiens_quote_popPublica curado da Coluna Sapiens (publish_quote), Coluna Repertório (publish_pop) ou Educativo (publish_educativo) via session token. publish_quote: cria entry com column='sapiens', exige objeto quote completo (text/author/sourceWork/license/referenceImage/flowImage). publish_pop: cria entry com column='repertorio' format='pop-article', exige popReference{featuredItemId,relatedItemIds?,lensTheme?}. publish_educativo: cria artigo derivado de aula (Trilhas → Blog), exige educativeReference{sourceLessonId,angle?,partNumber?,totalParts?}. Default status='draft' (admin revisa em /dashboard/admin/...); publishNow=true publica direto.- +28 more on the listing page
SSTV Decoder tools
No tool names declared yet. Check the project README from the listing page.
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Sapiens Sintéticos
{
"mcpServers": {
"sapiens-sint-ticos": {
"command": "npx",
"args": [
"-y",
"sapiens-mcp"
]
}
}
}
SSTV Decoder
No confirmed install command for SSTV Decoder yet — follow the setup steps linked from its listing page rather than a guessed package name.