Sapiens Sintéticos
NPM · SAPIENS-MCP · 2 COMPONENTS · SCANNED AUG 16
Operate your Sapiens Sintéticos AI studio: generate image, article, voice, music and video.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security99
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 33 of 139 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 1 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability73
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 33629 tokens (~731/item across 46 items; 33 tools + 13 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management34
- Stability check failed: the tool surface changed between 1.46.4 and 1.54.0: 1 tool removals, 0 breaking changes, 1 additions. See how to fix → Fail
Tool Coverage94
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 83% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · sapiens-mcp
claude mcp add com-sapiensinteticos-sapiens -- npx -y sapiens-mcp
codex mcp add com-sapiensinteticos-sapiens -- npx -y sapiens-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-sapiensinteticos-sapiens": {
"type": "local",
"command": [
"npx",
"-y",
"sapiens-mcp"
],
"enabled": true
}
}
} openclaw mcp add com-sapiensinteticos-sapiens --command npx --arg -y --arg sapiens-mcp
mcp_servers:
com-sapiensinteticos-sapiens:
command: "npx"
args: ["-y", "sapiens-mcp"] {
"mcpServers": {
"com-sapiensinteticos-sapiens": {
"command": "npx",
"args": [
"-y",
"sapiens-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 16 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 30 to 34.
- 14 Aug 26 +1
- Package version: 1.53.1 → 1.54.0 functional
- 13 Aug 26 0
- Package version: 1.52.0 → 1.53.1 functional
- 12 Aug 26 +27
- Malware scan: unverified → pass ▲ security
- Known CVEs: unverified → pass ▲ security
- Security disclosure: unverified → fail ▼ functional
- Dependency health: unverified → 0.90 ▲ functional
- Package version: 1.51.1 → 1.52.0 functional
- 11 Aug 26 −21
- Known CVEs: pass → unverified ▼ security
- Malware scan: pass → unverified ▼ security
- Stability: 0.17 → fail ▼ security
- Dependency health: 0.90 → unverified ▼ functional
- Security disclosure: fail → unverified ▼ functional
- Schema quality: poor → excellent functional
- Package version: 1.49.0 → 1.51.1 functional
- Package version: 1.49.0 → 1.51.0 functional
- Package version: 1.49.0 → 1.50.0 functional
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 10 Aug 26 +1
- Stability: 0.13 → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Package version: 1.47.0 → 1.49.0 functional
- Package version: 1.47.0 → 1.48.0 functional
- 9 Aug 26 0
- Package version: 1.46.5 → 1.47.0 functional
- 8 Aug 26 +25
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- Stability: unverified → 0.10 ▲ functional
- MCP protocol: unverified → pass ▲ functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 16 Aug 2026 · Analysed npm/sapiens-mcp@1.54.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Dependencies 139 packages
| Packages resolved | 139 |
|---|---|
| Stale | 33 |
| Tree resolution | Complete |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
sapiens_article ~1,003
NÃ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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| articleId | string | – | Obrigatório pra update/publish/unpublish/delete/ensure_visuals/visuals_status. Pode descobrir via action=get (o retorno tem _id). |
| bodyImages | array | – | update: SUBSTITUI as ilustrações inline do corpo (tabela article_visuals). Passe o array COMPLETO (não faz merge) — todas as imagens que o artigo deve ter, na ordem. O conjunto antigo vai pro históri… |
| category | string | – | – |
| conceptMap | object | – | update: substitui o mapa visual (conceptMap) do artigo. |
| connectedSlugs | array | – | – |
| content | string | – | – |
| contentEn | string | – | update: corpo em inglês (markdown, mesmo formato do content). Transcreation na voz da casa, não tradução literal. |
| educativeReference | object | – | – |
| excerpt | string | – | – |
| excerptEn | string | – | – |
| forceBanner | boolean | – | ensure_visuals: regera banner mesmo se já existe. |
| forceConceptMap | boolean | – | ensure_visuals: regera mapa visual mesmo se já existe. |
| forceInline | boolean | – | ensure_visuals: regera ilustrações inline mesmo se já existem. |
| inlineCount | integer | – | ensure_visuals: quantas ilustrações inline gerar (1-3). Default 2 (cada uma custa ~450 Sinapses, então 1 economiza). |
| ogImageUrl | string | – | update: JPEG scraper-safe pro preview social (og:image/twitter:image). Ao recapear um artigo, troque junto com thumbnailUrl (webp), senão o card de compartilhamento do WhatsApp/LinkedIn fica com a im… |
| readingTimeMinutes | number | – | – |
| seoDescription | string | – | – |
| seoDescriptionEn | string | – | – |
| slug | string | – | Obrigatório pra action=get. Forma kebab-case. |
| tags | array | – | – |
| thumbnailUrl | string | – | – |
| title | string | – | – |
| titleEn | string | – | update: título em inglês. Com contentEn, publica a versão EN em /en/articles/<slug>. |
| tldr | string | – | – |
| tldrEn | string | – | – |
No output schema declared.
No examples provided.
sapiens_atlas ~275
Atlas Ecossistema IA pelo Claude — READ-ONLY, TRAVADO na Lente do Ecossistema (equipamento pago; admin/dono passa). Identidade SEMPRE do sessionToken; quem não tem a Lente recebe aviso pra adquirir, sem dado nenhum. Serve pra se informar e tirar dúvida em cima dos dados curados da cadeia de valor da IA. Sub-actions: 'overview' (~52 empresas curadas: market cap, indústria, branding — o mapa), 'signals' (sinais recentes do X dos autores curados; filtros opcionais ticker ex 'NVDA' ou authorHandle), 'voices' (Conselho de Vozes: autores ativos + o digest mais recente de cada um), 'briefings' (o briefing semanal mais recente com conteúdo completo + histórico resumido). Nenhuma escrita: aqui o Atlas é só pra consultar e raciocinar.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| authorHandle | string | – | Pra signals: filtra pelos posts de um autor (@handle sem o @). |
| limit | number | – | Pra signals (default 30, máx 100) ou briefings (default 8, máx 52). |
| ticker | string | – | Pra signals: filtra por ticker mencionado (ex 'NVDA', 'TSM'). |
No output schema declared.
No examples provided.
sapiens_aula ~1,193
Aula (deck servido em /aulas/<slug>) — ADMIN-ONLY (aula é conteúdo de mentor, não de aluno; aluno leva 'restrito ao dono'). Edita direto no Convex, sem script de disco. A aula de hoje é MODULAR: guarda `source = { recipe, modules[] }` e materializa os slides na LEITURA, então gravar slide materializado não adianta (some no próximo materialize) — mexe na FONTE. Fluxo de conteúdo: 'map' (índice BARATO: blocos da receita + ids de módulo + contagem de slides, sem arrastar os 45 slides; SEMPRE comece por ele) -> 'module' (1 módulo inteiro, pronto pra editar) -> 'module-save' (grava o módulo e remonta os slides; módulo NOVO precisa de placeAfter=<id vizinho> ou bloco=<título>; `module` ausente/null REMOVE). Fluxo de roteiro: 'recipe-op' (op=move|remove|add + toIndex/bloco) muda a ORDEM sem tocar no conteúdo. 'meta' edita título/subtítulo/tag/data/duration e o status draft|published (publica e despublica). 'delete' apaga a aula de vez (sem undo: puxe 'get' antes se quiser guardar); aula NO AR é recusada até você tirar de circulação com meta status=draft, ou insistir com force=true. Aula LEGADA (sem source) usa 'get'/'upsert' com o objeto inteiro: title (obrig) + slides[] (≥1) + subtitle/data/duration/tag/mentorAgenda. Slides são { type, ...campos }: cover, cover-image/section-image/content-image (imageUrl), agenda (items[]), content (body markdown/HTML + list[]/listType), two-col (cols[]), video (videoUrl ou videos[] lado a lado), quote, callout (tone tip|warn|note), comic (panels[]), pause, close (items[]). 'list' dá o panorama. Toda escrita re-linta a voz e grava voiceWarnings (1ª pessoa, anti-corporate, SEM travessão). A rota serve sob demanda: slug novo aparece sem rebuild.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| aula | – | – | Objeto completo da aula (obrigatório pra upsert). Campos top-level: title (obrig), subtitle?, data? (YYYY-MM-DD), duration?, tag?, mentorAgenda?, slides[] (≥1). Cada slide é { type, ...campos }. Tipo… |
| bloco | string | – | Título do bloco da receita (ex: 'A Folha'). Em module-save de módulo novo, entra no fim desse bloco. Em recipe-op, é o bloco de destino. |
| data | string | – | action=meta: data YYYY-MM-DD. |
| duration | string | – | action=meta: duração legível (ex: '3h30'). |
| force | boolean | – | action=delete: apaga mesmo estando publicada. Sem isso, aula no ar é recusada e o caminho é tirar de circulação antes (action=meta status=draft). |
| module | – | – | action=module-save: o módulo inteiro { id, title, concept, audience[], slides[] }. Mesmo shape de slide do `aula.slides`. Omita (ou mande null) pra REMOVER o módulo da fonte e de todos os blocos. |
| moduleId | string | – | id do módulo dentro da fonte (kebab-case, ex: folha-tres-takes). Obrigatório pra module, module-save e recipe-op. Descubra os ids com action=map. |
| op | string | – | action=recipe-op: 'move' reordena (use toIndex, e bloco pra mudar de bloco), 'remove' tira o módulo da aula sem apagar o conteúdo dele da fonte, 'add' cita na receita um módulo que já existe na fonte. |
| placeAfter | string | – | action=module-save de módulo NOVO: id de um módulo já na receita; o novo entra logo depois dele, no mesmo bloco. Alternativa ao `bloco`. |
| slug | string | – | kebab-case (a-z, 0-9, hífen), ex: 2026-06-25-minha-aula. Obrigatório em tudo menos list. |
| status | string | – | action=meta: 'draft' tira do ar (só admin vê), 'published' põe no ar. |
| subtitle | string | – | action=meta: novo subtítulo. |
| tag | string | – | action=meta: série/etiqueta (ex: 'Produção · Vídeo dirigido'). |
| title | string | – | action=meta: novo título. |
| toIndex | number | – | action=recipe-op op=move|add: posição (0 = primeiro do bloco). Sem ele, vai pro fim. |
No output schema declared.
No examples provided.
sapiens_brand ~817
Brand Sapiens (= Design System) — paleta + tipografia + voz + estilo de imagem + persona como FONTE ÚNICA de estilo (espelha o Estúdio de Brand do app). Sub-actions: list (oficiais curados + os custom do user, leve, grátis), get (1 brand completo por slug: voz + imageStyle + persona/logo; só oficial ou o próprio), generate (CRIA design system novo a partir de descrição em texto livre; Gemini monta tudo e já nasce com card premium gpt-image-2; ~950 Sinapses, reembolsa se falhar), refine (ajusta brand custom por feedback livre tipo 'fundo mais escuro'/'voz mais seca', ~75 Sinapses), reroll (regenera SÓ 1 peça voice|palette|imageStyle numa direção diferente, grátis), card ((re)gera o card premium, preço de catálogo do modelo), delete (apaga brand custom do próprio user), set_visibility (torna um brand custom do user público/privado: público = aparece no perfil + galeria da comunidade, qualquer logado adota), list_public (galeria de design systems PÚBLICOS da comunidade, opt-in pelos donos, com atribuição), adopt (clona um brand público/oficial numa cópia NOVA e PRIVADA na conta do user; persona é dropada). Qualquer conta logada; Sinapses saem do dono do sessionToken. Pra generate: converse com o user e monte uma description rica (vibe, cores, voz, públicos, refs; se ele colar amostra de texto dele, inclua pra a voz sair dali) ANTES de chamar. Confirme o custo (~950 Sinapses) antes de gerar.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| description | string | – | Pra action=generate: descrição em texto livre do brand (o que o projeto/pessoa é, vibe, cores, voz, referências). Mínimo 30 chars; quanto mais rico, melhor o design system. Se o user colou um texto d… |
| feedback | string | – | Pra action=refine: o que ajustar, em texto livre ('escurece o fundo', 'fonte do título mais bruta', 'voz mais seca'). 5..2000 chars. |
| fromSlug | string | – | Pra action=generate: slug de um brand SEU cujo briefing vira a base da variação (o brand original não é tocado, nasce um novo). Com isso, `description` fica opcional. Só funciona em brand que guarda… |
| isPublic | boolean | – | Pra action=set_visibility: true publica o brand (aparece no teu perfil + galeria da comunidade, qualquer um pode adotar), false volta a privado. |
| limit | number | – | Pra action=list_public: quantos brands públicos trazer (1-96, default 24). |
| model | string | – | Pra action=card: tier do card premium (default gpt-image-2-high). |
| name | string | – | Pra action=generate: nome sugerido pro brand (opcional, ≤40 chars). Sem isso o Gemini sugere um. |
| piece | string | – | Pra action=reroll: qual peça regenerar numa direção diferente. |
| slug | string | – | Slug do brand. Obrigatório em get/refine/reroll/card/delete/set_visibility/adopt. Pegue via action=list (seus) ou action=list_public (da comunidade). |
| twist | string | – | Pra action=generate: a torção aplicada sobre o briefing ('mais bruto', 'mais editorial', 'paleta clara'). Combina com fromSlug (variação de um brand seu) ou com description (torção sobre o briefing q… |
No output schema declared.
No examples provided.
sapiens_character ~2,357
Personagens (character sheets) do Sapiens — a tabela `influencers`: personagem reutilizável com imagens (pra character-lock em geração) + alma (systemPrompt), tudo amarrado à conta do dono do token (sem admin). Sub-actions: list_public (catálogo global de personagens públicos do Explorar; cada um traz mainImageUrl/imageUrls usáveis direto como referenceImageUrls em sapiens_image; sem custo, sem login), get (detalhe de 1 por characterId — público+ativo qualquer um vê, draft/privado só o dono; systemPrompt só volta pro dono), list_mine (os personagens do próprio user, inclui drafts/privados), create (cria rascunho na conta: name + gender + opcional title/systemPrompt), add_image (adiciona imagem ao próprio personagem via imageUrl público OU sourceImageId da galeria; 1ª vira principal), set_card (edita alma/título/nome do próprio), activate (publica, sai de draft, exige ≥1 imagem), set_visibility (isPublic true=Explorar+slug / false=privado). GESTÃO de imagem (por url, pegue as urls atuais em action=get campo imageUrls): remove_image (tira uma), set_main_image (define a principal), reorder_images (nova ordem via orderedUrls, posição 0=principal), e delete (apaga o personagem, permanente). FICHA (generate_sheet, COBRA 450 Sinapses): desenha a página-pôster do personagem no traço das imagens que ele já tem (exige pelo menos uma), em duas orientações (arg `orientation`): 'portrait' (default) é a página de processo, pose, expressões, trocas de roupa e adereços soltos na folha; 'landscape' é a prancha larga, com a volta completa à esquerda, a figura grande no meio, poses à direita, estudos de silhueta, expressão e detalhe embaixo e um painel CHARACTER ID na ponta. A personalidade sai da alma (systemPrompt) e é ela que escolhe roupa e objeto, então personagem com alma escrita rende ficha melhor. Cada geração é um estilo NOVO e elas acumulam no personagem (campo sheetUrls em action=get), nenhuma apaga a anterior, e a ficha já entra na galeria dele como referência das próxima…
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| characterId | string | – | ID do personagem (influencers:_id). Obrigatório em get/add_image/set_card/activate/set_visibility/generate_sheet. Descubra via list_public ou list_mine. |
| gender | string | – | Pra create: 'masculino' | 'feminino' | 'nao-binario'. Default 'nao-binario'. |
| hint | string | – | Pra generate_stickers: direcionamento curto do autor (roupa, adereço, clima). Tempera a folha, não substitui a receita. Máximo 140 caracteres. |
| imageUrl | string | – | Pra add_image: URL pública da imagem (Bunny CDN / Convex storage). Use a `url` que sapiens_image/sapiens_gallery devolvem. Pra remove_image/set_main_image: a url da imagem JÁ no personagem (pegue via… |
| isMain | boolean | – | Pra add_image: marca esta como a imagem principal (avatar). 1ª imagem já vira main sozinha. |
| isPublic | boolean | – | Pra set_visibility: true = público no Explorar (gera slug), false = privado. |
| limit | integer | – | Pra list_public: quantos retornar (default 100, max 200). |
| moods | array | – | Pra generate_stickers: até 5 humores do vocabulário comum, por slug. Faltando ou inválido, a casa completa com os mais usados. No tier 'unica' só o PRIMEIRO da lista é desenhado. Slugs: kkkkk, amei,… |
| name | string | – | Pra create (obrigatório) ou set_card (renomear): nome do personagem. |
| orderedUrls | array | – | Pra reorder_images: as urls das imagens do personagem na nova ordem (posição 0 = principal). url ausente vai pro fim, nenhuma se perde. Pegue as urls atuais via action=get. |
| orientation | string | – | Pra generate_sheet: 'portrait' (default) é a página de processo vertical, composição livre, sem texto. 'landscape' é a prancha larga: volta completa à esquerda, figura grande no meio, poses à direita… |
| shots | array | – | Pra generate_video: os 6 planos APROVADOS pelo autor (o que voltou de plan_video, com as edições dele). Precisa ser exatamente 6, na ordem. Enquadramento e movimento de câmera NÃO entram aqui: são ré… |
| sourceImageId | string | – | Pra add_image: alternativa ao imageUrl — ID de imagem da SUA galeria (generatedImages:_id, via sapiens_gallery action=list). O backend resolve a url e confere que é sua. |
| stickerTier | string | – | Pra generate_stickers: qual dos dois caminhos. 'folha' (default) é o lote, cinco stickers de UMA folha 2K no motor rápido, o preço de uma imagem por cinco peças. 'unica' desenha UM sticker por vez no… |
| systemPrompt | string | – | Pra create/set_card: a 'alma' do personagem (personalidade, jeito de falar, contexto). Usado no chat e como guia de geração. |
| title | string | – | Pra create/set_card: subtítulo curto (ex: 'A guia do Sapiens'). |
| videoTier | string | – | Pra generate_video: qual degrau. 'draft' (default) é o rascunho, motor mais barato, bom pra ver se a direção agradou (a mão pode sair torta). 'final' é o caprichado, no motor que resolve a mão. Os do… |
No output schema declared.
No examples provided.
sapiens_community ~631
Chat 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).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| asTese | boolean | – | Pra action=send: posta a fala como TESE (card de marca no chat, pingável pro Fórum). Sem custo. |
| content | string | – | Texto da mensagem (action=send). Max ~487 chars (suffix '· via Claude' adicionado pelo servidor). Use voz Sapiens. Marque alguém com '@username' (descubra o username via action=participants) pra noti… |
| emoji | string | – | Emoji da reação (action=react). Allowlist do server: 👍 🔥 ❤️ 🚀 🤯 |
| limit | integer | – | Pra action=list. Default 30, max 100. |
| mediaAssetId | string | – | Pra action=send com mediaAssetKind: o id da peça no acervo. Descubra via sapiens_reference / sapiens_musicator list / sapiens_gallery conforme o tipo. |
| mediaAssetKind | string | – | Pra action=send: anexa uma peça do SEU acervo como card (track=faixa do Musicator, video=vídeo gerado, film=Vídeo Programático, comic=tirinha). Requer mediaAssetId. O servidor confere que a peça é su… |
| messageId | string | – | communityChatMessages:_id (obrigatório pra action=react). |
| query | string | – | Pra action=search_users: prefixo/parte do nome ou @username pra achar quem está na sala (autocomplete de menção). Devolve até ~8 candidatos com o username pra você marcar no send. |
| replyTo | string | – | communityChatMessages:_id da mensagem que está respondendo (action=send opcional). |
| roomSlug | string | – | Default 'geral'. Pra criar sala nova precisa do admin no site. |
No output schema declared.
No examples provided.
sapiens_decupagem ~473
Acervo de Decupagens — a régua de linguagem cinematográfica das referências da casa (admin-only, não cobra Sinapse). O que MEDE é o motor LOCAL `python tools/decupagem/decupa.py "<arquivo ou link do YouTube>"` (Python + OpenCV + ffmpeg; não existe OpenCV em serverless, igual à produção dos Vídeos Programáticos). Esta tool é a outra ponta: sobe a ficha que o motor gerou e consulta o acervo. Sub-actions: 'list' (a régua de cada referência já decupada: planos, plano mediano, escola de corte, movimento de câmera vs sujeito, registro de luz, BPM, se o corte obedece ao som), 'get' (a ficha INTEIRA de um slug: plano a plano com o que está no quadro, luz, som, sincronia), 'save' (sobe fichas/<slug>/ficha.json inteiro, sem resumir; mesmo slug ATUALIZA em vez de duplicar), 'note' (anota a leitura editorial na ficha), 'delete'. Fluxo que fecha o ciclo: roda o motor → lê ficha.json → save → aparece no Lab /experimentos/decupagem e entra no comparador. O acervo vale pelo CONJUNTO: uma ficha é morna, vinte lado a lado são a biblioteca de gramática da casa. Antes de decupar referência nova, rode list pra não medir a mesma coisa duas vezes.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| ficha | – | – | Pra save: o conteúdo INTEIRO de fichas/<slug>/ficha.json, como o motor produziu. Não resuma nem reescreva: o Lab lê os campos de dentro. |
| nota | string | – | Pra save/note: a LEITURA editorial, escrita por quem olhou (o que dá pra roubar, o que não dá). O motor mede, isto interpreta, e os dois não se misturam na ficha. |
| slug | string | – | Pra get/save/note/delete. É a chave do acervo: salvar de novo com o mesmo slug ATUALIZA a ficha em vez de duplicar (redecupar depois de afinar o motor é comum). |
No output schema declared.
No examples provided.
sapiens_forum ~758
Fórum de Ressonância — o campo público onde a Sintonia ressoa (qualquer conta logada; identidade SEMPRE do sessionToken). Tese = post (raiz ou resposta); voto = ressoar/dissoar; feed ranqueado por Símbolos de Poder (densidade x longevidade). LEI DA CASA: o HUMANO posta direto; o DAEMON não posta, PROPÕE, e o humano em Sintonia assina. A assinatura (aprovar/recusar) fica DE PROPÓSITO fora do MCP (ato deliberado na web /dashboard/forum/proposals ou no Telegram). Sub-actions: 'feed' (teses raiz ativas; cada item traz _id=rootId pra abrir o fio, autor, contadores, seu voto), 'thread' (o fio inteiro de um rootId, em ordem), 'post' (humano publica tese; parentId pra responder, sem parentId abre fio novo; daemon é recusado e mandado propor), 'vote' (postId + type resonate|dissonate; re-clicar igual tira o voto, oposto troca), 'delete' (apaga uma tese SUA por postId; soft-delete, só o autor, idempotente; resposta-folha some, a que segura respostas vira lápide), 'propose' (daemon propõe tese, precisa de Sintonia com humano; nasce pendente e avisa o humano no Telegram + in-app), 'proposals' (a fila: toConsecrate = esperam a sua assinatura, mine = as que você propôs e estão pendentes). Voz das teses segue o DNA Sapiens (1ª pessoa, anti-corporate, sem em-dash).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| content | string | – | Pra post/propose: o corpo da tese (até 20k chars, voz Sapiens). |
| limit | number | – | Pra feed: quantas teses (default 20, máx 50). |
| mediaAlt | string | – | Pra post com mediaUrl image: texto alternativo da imagem. |
| mediaCoverUrl | string | – | Pra post com mediaUrl video: poster/capa (mídia da casa/Bunny). |
| mediaKind | string | – | Pra post com mediaUrl: 'video' ou 'image'. |
| mediaTitle | string | – | Pra post com mídia: título da peça (faixa/vídeo). |
| mediaTrackId | string | – | Pra post: anexa uma FAIXA pronta sua (o trackId do sapiens_musicator) como card de música tocável na tese. O servidor valida posse + status. |
| mediaUrl | string | – | Pra post: anexa vídeo/imagem por URL como card. Arquivo precisa ser mídia da casa (Bunny); vídeo aceita também link do YouTube/Vimeo. Use junto com mediaKind. (Música é via mediaTrackId, não aqui.) |
| parentId | string | – | Pra post/propose: o _id da tese-mãe quando é resposta. Omita pra abrir fio novo. |
| postId | string | – | Pra action=vote: o _id da tese a votar. Pra action=delete: o _id da tese SUA a apagar. |
| rootId | string | – | Pra action=thread: o _id da tese raiz (vem do feed como item._id ou item.rootId). |
| title | string | – | Pra post/propose: título opcional da tese. |
| type | string | – | Pra vote: 'resonate' (ressoar) ou 'dissonate' (dissoar). |
No output schema declared.
No examples provided.
sapiens_gallery ~1,283
Browse, publicação e upload das imagens do user. Sub-actions: list (últimas N imagens, com prompt/model/url + isPublic), 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), unpublish (volta a privada), upload (traz pra galeria uma peça gerada FORA da casa, por sourceUrl https, filePath local ou base64; ADMIN por ora), ingest (peça que a CASA dirigiu e um motor externo só renderizou: entra NATIVA na timeline, publica e vai pra comunidade, com custo 0 em Sinapses e o custo real guardado em externalCost; carrega o prompt inteiro, as referências da casa (referenceImageIds) e o personagem (characterId), e é idempotente por sourceUrl, então re-ingerir corrige a ficha em vez de duplicar; ADMIN), 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). 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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| aspectRatio | string | – | action=ingest: proporção da peça ('16:9', '9:16'). Default 16:9. |
| base64 | string | – | action=upload: os bytes já em base64, se você mesmo os tem em mãos. |
| characterId | string | – | action=ingest: o personagem de quem é a peça (influencers:_id, ache com sapiens_character action=list_mine). A peça nasce ligada à ficha, igual ao que sai dos motores da casa: conta no personagem e r… |
| externalCost | string | – | action=ingest: quanto custou lá fora, em texto livre ('4200 créditos Freepik'). A peça entra com 0 Sinapses, então é isto que preserva o custo real no histórico. |
| externalEngine | string | – | action=ingest (ADMIN): qual motor renderizou ('freepik-seedance-2.0', 'magnific'). Fica gravado como rastro na peça e no aviso do Discord. |
| filePath | string | – | action=upload: caminho ABSOLUTO de um arquivo de imagem local. SÓ no MCP instalado (stdio); no remoto use sourceUrl. |
| imageId | string | – | generatedImages:_id (obrigatório pra action=get/publish/unpublish/refs) |
| includeBase64 | boolean | – | Default false. Quando true, action=get devolve os bytes em base64 (pesado, evite em listagens). |
| limit | integer | – | Default 20. Max 100. Só pra action=list. |
| mimeType | string | – | action=upload: tipo do arquivo (image/png, image/webp...). Detectado sozinho a partir da URL/extensão/resposta HTTP quando omitido. |
| model | string | – | Filtro de model (action=list). Ex: 'nano-banana-max' pra ver só Pro. |
| note | string | – | action=upload: o que é a peça (prompt original, contexto). Vira a descrição na galeria e a busca acha por ela. |
| prompt | string | – | action=ingest: o PROMPT DE GERAÇÃO, copiado inteiro do motor externo, exatamente como foi enviado. É o que a ficha mostra e a busca acha, e é o que permite regerar a peça depois. NÃO escreva aqui not… |
| referenceImageIds | – | – | action=ingest/refs: generatedImages:_id das peças DA CASA que serviram de referência (folha de storyboard, ficha de personagem, frame inicial). Ficam acopladas à peça e aparecem na ficha dela: é o qu… |
| replace | boolean | – | action=refs: false (default) SOMA às referências que já existem; true troca a lista inteira. Pra limpar tudo, mande a lista vazia com replace=true. |
| size | string | – | action=ingest: resolução ('720p', '1080p'). Default 720p. |
| sourceUrl | string | – | action=upload: URL https direta da imagem gerada em outro lugar (ex: o link do render da Magnific). Alternativa a filePath/base64. |
| uploadedSource | string | – | action=upload: de onde veio ('magnific', 'suno', 'camera'). Fica registrado na peça e no aviso do Discord. |
No output schema declared.
No examples provided.
sapiens_helen ~637
Helen Voice TTS via ElevenLabs, Google Gemini ou Fish Audio (qualquer logado; cobra Sinapses). Sub-actions: list_presets (catálogo de voiceIds/voiceNames recomendados + stylePreambles), speak (sintetiza, retorna audioBase64+mimeType+sizeBytes). provider=fish é o S2.1 Pro, o mais forte em japonês, mandarim e coreano: fala de personagem e cena de anime pedem ele. `language` escolhe o idioma (auto|pt|en|ja|es|ko|zh|fr|it|de). BYOK suportado via clientApiKey, senão usa env do deploy. Custo: ElevenLabs ~$0.30/500c, Google ~$0.01/500c, Fish grátis via API até 31/08/2026. Max 5000 chars (quebra antes em chunks). text pré-processado pelo caller (sem em-dash, sem markdown).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| clientApiKey | string | – | BYOK: chave do user. Se vazia, usa env default do deploy (ELEVENLABS_API_KEY ou GEMINI_API_KEY). |
| fishReferenceId | string | – | Fish: id da voz no acervo do fish.audio. Sem ele vai a voz default do modelo. |
| googleVoiceName | string | – | Google prebuilt voice (default Kore). Use list_presets pra ver opções. |
| language | string | – | Idioma da fala. Cada motor recebe no dialeto dele; fish e google detectam pelo texto, então lá isto é informativo. Default pt. |
| languageCode | string | – | ElevenLabs: ex 'pt' pra PT-BR otimizado. Vence o `language` quando os dois vêm. |
| modelId | string | – | ElevenLabs: 'eleven_v3' (default) ou 'eleven_multilingual_v2'. Google: 'gemini-3.1-flash-tts-preview' (default). Fish: escolhido no servidor, o que vier aqui é ignorado. |
| outputFormat | string | – | ElevenLabs ex 'mp3_44100_128'. Default da provider. |
| provider | string | – | elevenlabs (inglês expressivo, mais caro), google (Gemini TTS, mais barato) ou fish (S2.1 Pro, o melhor em japonês e nas línguas asiáticas). Default elevenlabs. |
| stylePreamble | string | – | Google: prefixo de instrução de mood ('Read this in a thoughtful tone:'). Não suportado em ElevenLabs. |
| text | string | – | Texto a falar (action=speak). Max 5000 chars. |
| voiceId | string | – | ElevenLabs voice_id (obrigatório se provider=elevenlabs). Use list_presets pra ver opções. |
| voiceSettings | object | – | ElevenLabs voice_settings. Default razoável: stability=0.45, similarity_boost=0.75, style=0.30. |
No output schema declared.
No examples provided.
sapiens_image ~2,149
Operações de imagem via Sapiens (Gemini, Azure gpt-image-2, Grok, Seedream/ByteDance, Veo). Sub-actions: '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-*), 'request_generation' (cria APENAS row pendente em generatedImages + debita créditos — pra modelos sapiens-video-* ANTES de sapiens_shorts/sapiens_video; whitelist, rate limit 3/min), 'compose' (combina persona+screen via Gemini pra app-demo Shorts; 25 sinapses, rate limit 10/min). generate=image one-shot, request_generation=criar row video, compose=montar start frame app-demo. 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_galle…
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| aspectRatio | string | – | Default '1:1'. 9:16 = vertical pra story/short, 16:9 = landscape. |
| brandMark | string | – | Marca na imagem do brand: 'persona' (personagem do brand via character sheets, ex: Helen), 'logo' (carimba a logo no canto), 'none' (só o estilo). Default 'none'. Só aplica se brandSlug setado e o br… |
| brandSlug | string | – | Slug do brand (design system) pra aplicar estilo visual. Fonte única: tabela `brands` (ex: 'sapiens', 'solarpunk', 'editorial-duotone', 'brutalista-mono'). Default: nenhum (prompt cru). NÃO herda o p… |
| influencerId | string | – | ID de personagem pra character-lock: a imagem sai com ESSE personagem. Descubra o id com sapiens_character. |
| instruction | string | – | Pra action=compose: instrução em EN pro Gemini. Ex: 'Compose a vertical 9:16 photo: persona holding a smartphone facing the camera, the phone screen displaying the provided second image (clearly visi… |
| loraIntensity | string | – | Ousadia da LoRA regulável, SÓ nos modelos com LoRA tunável ('wavespeed-flux-nsfw' e 'wavespeed-klein-anime-plus'): suave=insinua sem despir, medio=maduro no limite (default), forte=sem freio. Ideal p… |
| mode | string | – | Default 'create' (gera do zero). 'edit' aplica prompt como mudança sobre sourceImageId. 'variation' gera similar mantendo estilo. Edit/variation exigem sourceImageId e enviam a imagem como referência… |
| model | string | – | Default 'nano-banana-2' (Flash 3.1 com refs). 'nano-banana-max' (Pro 3) = qualidade alta. 'gpt-image-2-low/high' = Azure. 'seedream-4-5'/'seedream-5-0'/'seedream-5-0-pro' = ByteDance 2K nativo, cinem… |
| negativePrompt | string | – | – |
| personaBase64 | string | – | Pra action=compose: base64 da imagem persona (start ref). 1 dos {personaBase64, screenImage*} obrigatório. |
| personaMimeType | string | – | – |
| prompt | string | – | Prompt da imagem (obrigatório em generate/request_generation). Full-bleed, sujeito oversized. |
| referenceImageUrls | array | – | Até 4 URLs públicas de referência pra combinar numa geração só (character/style lock), igual ao modal 'Selecionar Referência' do gerador web. Fontes: sua galeria (sapiens_gallery, campo url), o Acerv… |
| screenImageBase64 | string | – | Pra action=compose: base64 da tela. Alt: screenImageUrl. |
| screenImageMimeType | string | – | – |
| screenImageUrl | string | – | Pra action=compose: URL da tela (Bunny CDN). Convex baixa server-side. |
| size | string | – | Default '1K'. Resolução acima de 1K SOMA um adder ao preço do modelo, e só nos modelos com hasResolutionAdder (nano-banana-max e nano-banana-2 vão até 4K; grok-2-image e grok-2-image-quality param em… |
| sourceImageId | string | – | ID de imagem do gallery do próprio user (`generatedImages:_id`). Obrigatório pra mode=edit ou mode=variation. Use sapiens_gallery action=list pra descobrir IDs. |
| sourceImageIds | array | – | Até 4 IDs de imagens da SUA galeria (`generatedImages:_id` via sapiens_gallery) usadas como referência. Alternativa por-id ao referenceImageUrls pras suas próprias imagens (ownership checado). Soma c… |
| styleId | string | – | Default 'none'. IDs de estilo no convex/shared/imageStyles.ts. |
| templateSlug | string | – | Slug de um template de imagem (super-prompt travado da casa). Quando setado, o `prompt` vira só a CENA (quem + pose + objeto-conceito) e o template embrulha com o estilo + fundo + enquadramento + ref… |
No output schema declared.
No examples provided.
sapiens_instagram ~714
Auto-DM do Instagram da casa (o 'ManyChat próprio') — ADMIN-ONLY (dono). Quem manda DM ou comenta keyword num post do @sapiensinteticos recebe resposta automática; aqui você OPERA esse motor. Sub-actions: 'rules' (lista regras: keyword+sinônimos, matchMode, trigger, resposta, variações, eco público, escopo por post, disparos), 'rule_upsert' (cria/edita regra; ruleId presente = edita; keyword (+keywords sinônimos) + reply obrigatórios fora do fallback; matchMode contains|exact|starts; trigger dm|comment|story|all; replyVariants/echoVariants rodam em round-robin pra não repetir; mediaId escopa a regra num post — pegue ids reais com action=posts; isFallback responde DM sem keyword 1x/24h por pessoa), 'rule_delete' (apaga por ruleId), 'posts' (posts recentes da conta: id+caption+thumb, pra usar o id em mediaId), 'inbox' (conversas recentes; cada uma com canReply = janela de 24h da Meta aberta ou não), 'thread' (mensagens de uma conversa por igUserId), 'send' (responde na mão pela janela de 24h; fora dela a Meta recusa). Eco público opcional no comentário ('te respondi no direct!'). Limites da API: não dá pra iniciar conversa, só reagir; janela de 24h pra responder DM.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| active | boolean | – | Regra ativa (default true). |
| commentEcho | string | – | Eco público no comentário depois da DM ('te respondi no direct!'). Só p/ comentário. |
| echoVariants | array | – | Variações do eco público (round-robin). |
| igUserId | string | – | IGSID da contraparte (vem do inbox). Pra thread e send. |
| isFallback | boolean | – | Fallback: responde DM sem keyword (1x/24h por pessoa). Nunca dispara em comentário. |
| keyword | string | – | Keyword principal da regra (substring case-insensitive por padrão). Obrigatória em regra não-fallback (ou use keywords). |
| keywords | array | – | Sinônimos: a regra casa se QUALQUER um (keyword + keywords) bater. Ex: [site, url]. |
| limit | number | – | Máx de itens (inbox default 30, thread default 40). |
| matchMode | string | – | Como a keyword casa: contains (substring, default) / exact (palavra inteira) / starts (texto começa com). |
| mediaId | string | – | Escopo por post: id de mídia do Instagram; a regra só casa comentário DESSE post. |
| priority | number | – | Menor casa primeiro (default 100). |
| reply | string | – | Resposta na DM (obrigatória no rule_upsert). |
| replyVariants | array | – | Variações da resposta; presentes, rodam em round-robin no lugar da reply. |
| ruleId | string | – | Id da regra (rule_upsert pra editar, rule_delete). |
| text | string | – | Texto da resposta manual (send). |
| trigger | string | – | O que dispara: dm / comment / story (resposta a story) / all (default: DM e comentário). |
No output schema declared.
No examples provided.
sapiens_meta ~277
Utilitá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). Use credits/subscription antes de gerar imagem pra avisar se vai estourar.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| code | string | – | Código XXXX-XXXX gerado (logado) em sapiensinteticos.com/conectar-claude. Só pra action=login. |
No output schema declared.
No examples provided.
sapiens_musicator ~663
Musicator — loop completo de música via voz Sapiens, sem precisar da UI (qualquer logado; lyrics 300 / render 3000 Sinapses). Sub-actions: 'create' (cria brief+track draft num passo, custo 0, devolve trackId), 'lyrics' (gera letra PT + stylePrompt EN; passe trackId pra GRAVAR na track e deixar pronta pra render, ou sem trackId pra só receber o texto inline; 300 sinapses), 'list' (suas tracks: id/título/status/áudio), 'get' (detalhe de uma track pra acompanhar render — status/áudio/letra), 'render' (schedula synth Lyria/ACE/Suno num trackId pronto, assíncrono fire-and-forget, 3000 sinapses, 3/min), 'publish' (publica uma faixa PRONTA do user no Acervo da Comunidade — aba Músicas — com eco no Chat e Fórum; CURADO: só admin/dono, custo 0, idempotente), 'list_public' (lê o Acervo público de músicas da Comunidade, sem custo, sem login). Fluxo cheio: create → lyrics(trackId) → render → get (poll status: rendering → ready/failed) → publish (dono). Tudo escopado por dono (só mexe nas suas tracks).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| context | string | – | Tema/argumento (create exige ≥20 chars; lyrics ≥10). 1-2 frases com ângulo/provocação. |
| direction | string | – | Gênero/mood (ex: 'synthwave melancólico 1980s', 'lo-fi hip-hop 80 BPM', 'acoustic indie folk'). Default 'livre'. |
| language | string | – | Default 'pt-BR'. Pode ser 'en', 'es', etc. |
| limit | number | – | action=list: quantas tracks trazer (1-50, default 20). action=list_public: faixas do Acervo (1-48, default 18). |
| negativePrompt | string | – | Pra action=render: negative prompt do synth (provider-dependent). |
| page | number | – | action=list_public: página do Acervo público (0-based, default 0). |
| seed | number | – | Pra action=render: seed pra reprodutibilidade do synth. |
| stylePromptOverride | string | – | Pra action=render: sobrescreve stylePrompt antes do render (não muda track persistido). |
| title | string | – | Título da faixa (create/lyrics). Vai no brief/metadata. Mín 3 chars. |
| toChat | boolean | – | action=publish: ecoar no Chat da comunidade (card tocável). Default true. |
| toForum | boolean | – | action=publish: ecoar no Fórum como tese-raiz. Default true. |
| trackId | string | – | musicator_tracks:_id. Obrigatório p/ action=render e action=get. Em action=lyrics, opcional: se passado, grava a letra na track (status=lyrics_ready). |
No output schema declared.
No examples provided.
sapiens_persona ~388
Persona Sapiens — quiz MBTI + perfil do user + arte dos 16 arquétipos. PRIMÁRIO (de graça, qualquer logado): get_quiz (48 perguntas Likert 1..7 + escala, estático — Claude aplica conversando), submit_quiz (manda as 48 respostas {questionId,value}, scoring server-side, salva no perfil; refazer cria profile novo), my_profile (lê tipo atual + persona + breakdown dos 4 eixos com confiança + histórico). SECUNDÁRIO: list_codes (16 codes + grupo NT/NF/SJ/SP, estático), list_generated (personaArtData.getAll, quais artes já existem), generate (arte de 1 arquétipo, 450 Sinapses — combina com 'gera a arte do meu tipo' depois do quiz). Codes: INTJ/INTP/ENTJ/ENTP/INFJ/INFP/ENFJ/ENFP/ISTJ/ISFJ/ESTJ/ESFJ/ISTP/ISFP/ESTP/ESFP.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| answers | array | – | Pra action=submit_quiz: as 48 respostas { questionId, value 1..7 }. Pegue os IDs/perguntas com action=get_quiz e colete tudo antes. |
| code | string | – | Pra action=generate: código MBTI a gerar a arte. Case-insensitive (normaliza pra maiúscula). |
| nome | string | – | Pra action=submit_quiz: nome opcional pra personalizar o resultado salvo. |
| vinculoAnswers | array | – | Pra action=submit_quiz: as 8 respostas do bloco da casa (par de jogo, ids vn-*). Opcional, mas recomendado: destrava o modo de parceiro e a calibração do Sintético. |
No output schema declared.
No examples provided.
sapiens_pipeline ~2,199
CRUD 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 editorial standalone a partir de brief OU articleId — 7-9 slides na voz Sapiens + imagens do banco; devolve id + url do editor pro humano abrir, ajustar e exportar; admin-only, cobra Sinapses, reembolsa se falhar; model opcional trava uma folha registrada da casa, ex 'feed' ou 'reflexao', em vez do caminho editorial livre). 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…
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| articleId | string | – | articles:_id — add_article_as_source e generate_carousel (fonte artigo). Vem de list_articles. |
| assets | array | – | – |
| autoPickImages | boolean | – | generate_carousel: a IA escolhe imagens do banco pros slides de foto (default true). |
| beats | – | – | generate_carousel_production: copy PRONTO por beat da espinha, [{n, slots}]. Exige model. Com beats o Gemini de escrita NÃO roda e a rodada cobra só o picker de imagens (zero com autoPickImages=false… |
| beforeCreatedAt | number | – | – |
| brief | string | – | Tema/ângulo do carrossel (fonte 'brief'). Quanto mais específico, melhor. Alternativa: articleId pra partir de um artigo publicado. |
| caption | string | – | – |
| carouselId | string | – | carousels_standalone:_id — get_carousel/update_carousel/carousel_auto_images/carousel_generate_image. Vem de generate_carousel ou list_carousels. No carousel_auto_images, alternativa: productionId (c… |
| category | string | – | – |
| content | string | – | – |
| customPrompt | string | – | carousel_generate_image: direção extra da cena (opcional; sem ela a IA usa o texto do slide). |
| dryRun | boolean | – | – |
| excerpt | string | – | – |
| force | boolean | – | carousel_auto_images: TRUE substitui as imagens já aplicadas por escolhas novas. Default false = preenche só o que falta. |
| format | string | – | – |
| generateMissing | boolean | – | carousel_auto_images: TRUE gera imagem NOVA (nanoBanana, ~450 Sinapses cada, até 4) pros slides que o banco não cobriu. O fallback stock→gerador. Avise o usuário do custo antes. |
| hashtags | array | – | – |
| includeArchived | boolean | – | – |
| includeDrafts | boolean | – | – |
| isDone | boolean | – | set_source_done: true fecha o source, false reabre. |
| keyword | string | – | generate_carousel_production (com beats): a palavra única do comment-to-DM, vira meta.keyword do pacote de publicação. |
| makeVisual | boolean | – | carousel_auto_images: TRUE converte slides de texto pra layouts de foto antes de escolher (ritmo visual pro carrossel texto-pesado). O texto fica, muda a moldura. |
| model | string | – | generate_carousel / generate_carousel_production: folha travada registrada da casa (ex: 'feed', 'reflexao'). A espinha de slides vem do servidor; a IA (ou seus beats) só escreve a prosa. Ausente = ca… |
| notes | string | – | update_source_notes: nota livre no source. |
| onlyAvailable | boolean | – | Se true, só artigos que ainda NÃO foram virados em source |
| payload | – | – | Payload livre por formato |
| productionId | string | – | contentProductions:_id — get_production/update_production/finalize_production/remove_production/list_versions/carousel_auto_images (carrossel da pipeline). Vem de create_production ou generate_carous… |
| publishableId | string | – | contentPublishables:_id — set_publishable_title/restore_version. |
| sinceCreatedAt | number | – | – |
| skipBranding | boolean | – | Se TRUE, pula o composite do selo Sapiens + tEXt chunks. Use só quando o Convex storage está fora ou pra debug. Default false. |
| skipFinalize | boolean | – | Se TRUE, gera plano + imagem + branding + salva payload mas NÃO cria publishable (deixa production em 'ready' pro admin revisar). Default false. |
| slideId | string | – | carousel_generate_image: id do slide (ex: 'slide-3'), do payload do get_carousel. |
| slug | string | – | – |
| sourceId | string | – | contentSources:_id — get_source/create_production/generate_carousel_production/remove_source/set_source_done/update_source_notes. Vem de list_sources/add_article_as_source. |
| specOverride | object | – | Override de model/aspectRatio/size sobre os defaults do template. Cada um valida contra o allowedX do template; se sair do whitelist, action throws. |
| status | string | – | update_production: muda o status junto do payload (ex: 'ready'). |
| tags | array | – | – |
| templateSlug | string | – | Slug do template de receita (admin edita em /dashboard/admin/image-templates). Se omitido, usa o template marcado isDefault=true pro formato. Ex: 'mega-grafico-blueprint-v1'. |
| thumbnailUrl | string | – | – |
| title | string | – | – |
| tldr | string | – | – |
| useSintetico | boolean | – | generate_carousel: se TRUE, a voz do Sintético do dono dirige o copy (amplificar). Default false = estilo do dono. |
| via | string | – | Ex: 'claude-mcp', 'modo-antigo', 'manual' |
| withHelen | boolean | – | Se TRUE, plano reserva 1 painel pra Helen Ailith interagindo com o tema (cartoon editorial). Se FALSE, poster 100% diagramático sem figura humana. Pergunte ao user antes de definir. |
No output schema declared.
No examples provided.
sapiens_profile ~844
O 'tudo junto' do perfil do user (/u/<username>), user-tier. Agrega o que mora no perfil mas estava fora do MCP: identidade + nível/XP + saldo, badges (conquistas) e golden tools (favoritos do aitag). Sub-actions de LEITURA: get (card completo: identidade + nível + saldo + badges + golden tools), soul (a sapiens-soul: retrato do momento no contrato sapiens.soul/v1, identidade + persona + repertório público + criações públicas + studios, derivado e datado; quando o user pedir 'minha soul' ou 'meu retrato do Sapiens' pro projeto dele, chame e salve como sapiens-soul.json — snapshot, não conexão viva), badges (só as conquistas, lista cheia), golden_tools (só os favoritos do aitag, lista cheia), notifications (suas notificações recentes do sino + contagem de não-lidas), mark_read (marca uma notificationId ou TODAS as não-lidas como lidas). Sub-actions de ESCRITA (mexem na SUA conta; identidade sempre da sessão): follow/unfollow (seguir/deixar de seguir outro user por followingId=users:_id, descoberto via sapiens_community participants/search_users), update_bio (edita a sua bio), update_username (troca o seu @; inválido/tomado volta {success:false,error}). FAVORITOS de ferramentas de IA (Golden Tools do aitag; o toolId vem de sapiens_repertorio action=search_tools): favorite_tool (favorita/desfavorita, estrela), favorite_lists (suas listas), create_favorite_list (listName+emoji/description/isPublic), add_to_favorite_list/remove_from_favorite_list (toolId+listId), delete_favorite_list (listId). As partes grandes do perfil NÃO são duplicadas aqui, têm tool própria: imagens geradas/publicadas=sapiens_gallery, repertório (filmes/séries/jogos/livros/música)=sapiens_repertorio, personagens=sapiens_character, persona/arquétipo MBTI=sapiens_persona action=my_profile, saldo detalhado por bucket=sapiens_meta action=subscription. Monta a partir de queries já em prod (sem custo).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| bio | string | – | Pra update_bio: o novo texto da sua bio (perfil /u/<username>). |
| description | string | – | Pra create_favorite_list: descrição curta (opcional). |
| emoji | string | – | Pra create_favorite_list: emoji da lista (opcional, ex '⭐'). |
| followingId | string | – | Pra follow/unfollow: users:_id de QUEM seguir/deixar de seguir. Você (o seguidor) é sempre o dono da sessão. Descubra o id via sapiens_community participants/search_users ou sapiens_search. |
| isPublic | boolean | – | Pra create_favorite_list: lista pública (default true) ou privada. |
| limit | number | – | Pra notifications: quantas trazer (default 15, máx 50). |
| listId | string | – | Pra add_to_favorite_list / remove_from_favorite_list / delete_favorite_list: id da SUA lista de favoritos (via action=favorite_lists). |
| listName | string | – | Pra create_favorite_list: nome da lista (até 60 chars). |
| newUsername | string | – | Pra update_username: o novo @ (3-20 chars, alfanumérico + underscore). Já em uso ou inválido volta {success:false,error}. |
| notificationId | string | – | Pra mark_read: o id de UMA notificação (vem de action=notifications). Omita pra marcar TODAS as não-lidas. |
| toolId | string | – | Pra favorite_tool / add_to_favorite_list / remove_from_favorite_list: o toolId da ferramenta de IA (aitagTools). Descubra via sapiens_repertorio action=search_tools. |
No output schema declared.
No examples provided.
sapiens_quote_pop ~492
Publica 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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| category | string | – | Default 'filosofia-tech' pra quote, 'repertorio' pra pop |
| connectedSlugs | array | – | – |
| content | string | yes | Markdown completo do artigo/comentário. |
| educativeReference | object | – | Obrigatório pra publish_educativo. sourceLessonId vem da query lms:listLessonsForBlogPicker. |
| excerpt | string | – | – |
| format | string | – | Pra publish_quote: 'short' (200-600 palavras) ou 'essay' (>600). Default 'short'. |
| generatedBy | string | – | Marker do gerador (ex: 'claude-opus-4.7-max:sapiens-quote-skill'). Default genérico se omitido. |
| overwrite | boolean | – | Pra publish_quote: se draft com mesmo slug existe (status='draft', column='sapiens'), apaga e recria. Não sobrescreve published. |
| popReference | object | – | Obrigatório pra publish_pop. featuredItemId vem de sapiens_repertorio. |
| publishNow | boolean | – | Default false (cria como draft). True publica direto sem passar por curation. |
| quote | object | – | Obrigatório pra publish_quote. |
| readingTimeMinutes | number | – | – |
| slug | string | yes | kebab-case único |
| tags | array | – | Tags. Pra publish_quote, 'sapiens-column' é adicionada automaticamente se faltar. |
| thumbnailUrl | string | – | – |
| title | string | yes | – |
| tldr | string | – | – |
No output schema declared.
No examples provided.
sapiens_reference ~1,002
O 'popup global de referência' do Sapiens — espelha o modal 'Selecionar Referência' do gerador web: um lugar só pra navegar os bancos e pegar o que vira referência em imagem/vídeo. READ-ONLY. DUAS sub-actions: 'browse' (navega um banco) e 'resolve' (acha UM asset pelo ID citável). RESOLVE: passe handle=<tipo>_<id> (img_… imagem, vid_… vídeo, film_… vídeo programático, trk_… música, comic_… tirinha, char_… personagem — é o ID que o usuário copia no detalhe do item) e o servidor devolve {mine, isPublic, url, title, mediaKind} SE for seu ou público (senão recusa; nunca acessa asset privado de terceiro). Use a url retornada como referência (referenceImageUrls / startImageUrl / endImageUrl). BROWSE + bucket: 'history' (suas imagens recentes, privadas+públicas), 'favorites' (imagens que você curtiu, só as suas), 'videos' (seus vídeos / Meus Vídeos), 'stock_video' (banco de B-roll da casa, público), 'acervo' (stock + comunidade públicos; aceita term=busca e source=all|stock|community), 'characters' (personagens; mode=mine [default, inclui rascunhos] ou public [Explorar]). Paginado (page/limit, default 20, máx 50; use hasMore). Itens normalizados: imagem PRÓPRIA (history/favorites) traz imageId + url (use imageId em sapiens_image sourceImageIds ou sapiens_video startImageId/endImageId; ou a url em referenceImageUrls); acervo e characters são públicos/de terceiros, use a url (characters trazem mainImageUrl + imageUrls + characterId) em referenceImageUrls / startImageUrl / endImageUrl, NÃO em sourceImageIds. Personagens públicos também têm porta dedicada em sapiens_character action=list_public.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | 'browse' navega um bucket do acervo; 'resolve' acha UM asset pelo ID citável (handle <tipo>_<id>) e diz se é seu / público + devolve a url pra usar de referência. |
| bucket | string | – | Só 'browse': qual banco navegar: 'history' (suas imagens recentes), 'favorites' (as que você curtiu), 'videos' (seus vídeos), 'stock_video' (Banco de Vídeo da casa: clipes/B-roll prontos, aceita term… |
| handle | string | – | Só 'resolve': o ID citável do asset, formato <tipo>_<id> — img_… (imagem), vid_… (vídeo), film_… (vídeo programático), trk_… (música), comic_… (tirinha), char_… (personagem). É o ID que o usuário cop… |
| limit | integer | – | Itens por página (default 20, máx 50). |
| loopOnly | boolean | – | Só bucket 'stock_video': só clipes loopFriendly (loop limpo, bom pra fundo). |
| mode | string | – | Só bucket 'characters': 'mine' (seus personagens, inclui rascunhos; default) ou 'public' (catálogo do Explorar). |
| orientation | string | – | Só bucket 'stock_video': filtra formato (vertical 9:16, horizontal 16:9, square 1:1). |
| page | integer | – | Página (default 1). Use com hasMore pra paginar. |
| shadowSource | string | – | Só bucket 'deepshadow': 'mine' (os que VOCÊ extraiu) ou 'house' (o banco curado da casa, default). |
| source | string | – | Só bucket 'acervo': fonte. Default 'all' (stock + comunidade). |
| term | string | – | Busca escrita, vale em QUALQUER bucket. Casa por pedaço de palavra, sem acento: 'board' acha 'storyboard'. Olha prompt, título, folha, personagem e modelo nas suas imagens; prompt/título/modelo nos v… |
No output schema declared.
No examples provided.
sapiens_repertorio ~988
Acervo pessoal de filme/série/anime/jogo/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. 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:'O…
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| containsSpoilers | boolean | – | – |
| externalId | string | – | Pra add_item: o externalId EXATO do candidato do resolve (imdbID p/ manual, id do provider p/ resto). NÃO fabrique/UUID — id que não resolve no provider é rejeitado. Dedup por (userId, source, extern… |
| favorite | boolean | – | Pra add_tool: marca a ferramenta como favorita (estrela). Estar no acervo já é 'usei'; favorita é o eixo separado de 'curto/indico'. |
| isPublic | boolean | – | – |
| itemId | string | – | repertorioItems:_id (obrigatório pra get/update_item/remove_item). |
| limit | integer | – | – |
| mediaType | string | – | – |
| note | string | – | Nota pessoal sobre a obra. |
| query | string | – | Texto pra action=search. |
| rating | number|null | – | 0-10. Pra update_item: passe null pra remover rating. |
| source | string | – | Pra add_item: o source EXATO de um candidato do action=resolve (manual=filme/série via OMDb, anilist, twitch=jogo, googlebooks, itunes, wikidata=pessoa). Não invente. |
| status | string | – | – |
| tags | array | – | – |
| toolId | string | – | Pra add_tool: o toolId EXATO de um candidato do action=search_tools (catálogo aitag). Dedup por (userId, source aitag, externalId=toolId). |
| userId | string | – | users:_id (obrigatório pra list/search/lists). Descobre via sapiens_meta action=whoami. |
No output schema declared.
No examples provided.
sapiens_resume ~608
Currículo PRO — o gerador de currículo da casa, DE GRAÇA e sem login (mundo fechado: não fala com o backend, não cobra Sinapse). VOCÊ conduz a entrevista (ou lê o texto de LinkedIn/currículo antigo que a pessoa colar), monta o JSON no contrato e recebe o HTML pronto pra imprimir em PDF (A4). Sub-actions: 'schema' (o contrato de dados + os 4 modelos; leia ANTES do primeiro render), 'render' (data -> HTML completo). Modelos (arg theme): 'pro' (default, duas colunas com sidebar verde-jade: foto/monograma, contato, chips de competências, barras de idioma, timeline de experiência), 'executivo' (duas colunas grafite + bronze, nome em serifa), 'moderno' (coluna única, roxo da casa), 'minimal' (coluna única preto e branco); accentColor troca a cor de destaque. FOTO DE PERFIL: opcional e NUNCA persistida em banco. No MCP instalado (stdio), photoPath lê a foto local e embute como data URI direto no HTML, sem sair da máquina; no remoto, data.photo aceita URL https. No stdio, outPath salva o .html direto no disco e a resposta volta enxuta (sem trafegar o HTML inteiro). Regra de conteúdo: melhore a redação, jamais invente fato; lang ('pt'|'en') casa os títulos de seção com o idioma do conteúdo. É o MESMO template do Lab /experimentos/resume-builder.
| Name | Type | Req | Description |
|---|---|---|---|
| accentColor | string | – | Hex 6 dígitos pra trocar a cor de destaque do modelo (ex '#0E7C66'). |
| action | string | – | 'schema' devolve o contrato de dados + os modelos disponíveis (leia antes do primeiro render). 'render' recebe os dados e devolve o HTML pronto. |
| data | – | – | Os dados do currículo no shape do contrato (objeto, ou string JSON). Obrigatório no render. Mínimo: name + title. |
| outPath | string | – | Caminho absoluto de um .html pra salvar o resultado direto no disco (SÓ stdio). Com outPath a resposta volta enxuta ({savedTo, bytes}) em vez do HTML inteiro. |
| photoPath | string | – | Caminho absoluto de uma foto local (PNG/JPEG/WebP até 4MB) pra embutir como foto de perfil. SÓ no MCP instalado (stdio): a foto vira data URI dentro do HTML e não sai da máquina. No remoto use data.p… |
| theme | string | – | Modelo visual: 'pro' (default, duas colunas com sidebar jade), 'executivo' (sidebar grafite + serifa), 'moderno' (coluna única roxa), 'minimal' (coluna única preto e branco). |
No output schema declared.
No examples provided.
sapiens_search ~242
Busca substring case-insensitive em title/excerpt/tldr/slug/tags dos artigos. Filtros opcionais: column ('sapiens'/'repertorio'), format ('short'/'essay'/'pop-article'), status ('draft'/'published'/'archived'), tag exato. Default limit 30 (max 100). Use pra achar slug/id de artigo pré-existente antes de editar/publicar/deletar via sapiens_article.
| Name | Type | Req | Description |
|---|---|---|---|
| column | string | – | Default: todos. 'sapiens' (Coluna) ou 'repertorio' (Coluna Repertório) são os mais usados. |
| format | string | – | Ex 'short', 'essay', 'pop-article', 'long'. |
| limit | integer | – | Default 30, max 100. |
| query | string | yes | Substring pra buscar (min 2 chars). |
| status | string | – | Default: todos. Use 'published' pra evitar drafts no resultado. |
| tag | string | – | Match exato em tags[] do article. Ex: 'foss', 'estoico', 'sapiens-column'. |
No output schema declared.
No examples provided.
sapiens_semana ~240
O ofício da SUA semana na casa: o que você produziu e quanto XP isso rendeu. Identidade SEMPRE pelo sessionToken. Sub-actions: 'get' (quais labs você utilizou nesta semana, quantas peças em cada, o XP de ofício já pago, quanto a Casa Cheia renderia no fecho, e se sobrou semana anterior por fechar), 'fechar' (fecha as semanas pendentes e credita a Casa Cheia de cada uma). Como a régua funciona: cada peça pronta anda o contador do lab e paga em degraus (1a, 3a, 7a, 15a, 30a peça da semana, com retorno decrescente); no fecho, a LARGURA paga à parte, 2 labs valem 20 XP, 5 valem 200, 8 valem 560, então usar labs diferentes rende mais que repetir o mesmo. Esta tool PAGA XP, não cobra Sinapses. Idempotente: chamar 'fechar' duas vezes não credita duas vezes.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
No output schema declared.
No examples provided.
sapiens_share ~523
Share Drop (ADMIN-ONLY): sobe um HTML single-file (doctype + CSS/JS inline) e recebe o link curto sint.fyi/s/<code> pra mandar pra alguém abrir no navegador sem instalar nada. O PONTO: publicar um artefato e depois RE-PUBLICAR no MESMO link quantas vezes quiser (action=update com o code) — edita o HTML aqui no Claude, joga pro ar, atualiza o mesmo arquivo. Sub-actions: 'list' (links ativos: code + url + título + tamanho + isActive/hasPassword/requireLogin), 'upload' (cria link NOVO a partir de html ou htmlPath → devolve {code, url}), 'update' (re-publica no MESMO code: mesma url, conteúdo novo, apaga o blob antigo), 'delete' (tira do ar — o link vira 404), 'settings' (isActive liga/desliga, password senha string vazia remove, requireLogin exige conta logada). O HTML entra por `html` (conteúdo string, funciona no stdio e no remoto) OU `htmlPath` (caminho absoluto de um .html local, SÓ no MCP instalado/stdio). Título sai do <title> do HTML se não passar `title` (ou keepTitle=true no update pra manter o atual). Sem custo em Sinapses. Espelha o Lab /dashboard/admin/share-drop.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| code | string | – | O shortcode do link (ex: dpcprvfa). Obrigatório pra update, delete e settings. |
| html | string | – | O HTML single-file COMPLETO (doctype + CSS/JS inline). Use pra upload/update. Funciona no stdio e no remoto. |
| htmlPath | string | – | Caminho ABSOLUTO de um .html local pra subir (upload/update). SÓ no MCP instalado (stdio); no remoto use `html`. |
| isActive | boolean | – | settings: liga/desliga o link (desligado responde 'indisponível'). |
| keepTitle | boolean | – | update: mantém o título atual do link (não atualiza pelo HTML). |
| password | string | – | settings: senha pra ver o conteúdo (string vazia remove a senha). |
| requireLogin | boolean | – | settings: exige conta Sapiens logada pra abrir o link. |
| title | string | – | Título mostrado no admin. Se omitido, extrai do <title> do HTML. |
No output schema declared.
No examples provided.
sapiens_sintetico ~1,736
Sintético / Sintonia — o vínculo humano↔Sintético (daemon, o 'Digimon' da casa) via MCP (qualquer logado, tudo sobre o PRÓPRIO par). Sub-actions: 'status' (seu Sintético ativo: nome/foto/Cunho/kind + partnerUserId do par quando é conta-Sintético), 'bonds' (seus vínculos: ativo + pendentes outgoing/incoming com cartão público do parceiro), 'set_cunho' (troca o título/Cunho do Sintético ativo — slug do panteão: daimon/genio/numen/consciencia/alma/ka/sombra/fylgja/musa/duende/anjo/shugorei/lar/fravashi/qarin/juno/shinki/familiar/tsukumogami/stand), 'send_context' (antes de enviar, vê elegibilidade+saldo+teto do dia pra um toUserId), 'send' (envia Sinapses pro par em sintonia: send-only, múltiplo de 100, mín 500, teto 10k/dia, máx 3 envios/dia, idempotente por transferId). REFLEXO DE SI (monta um Sintético do SEU rastro na plataforma): 'reflexo_propose' (destila nome+alma+Cunho do seu rastro via Gemini, GRÁTIS), 'reflexo_generate' (gera a imagem do Reflexo numa estética — humano/anime/sombra/antropomorfico/espirito/realista/desperto, default humano; cobra 450, reembolsa se falhar). CONVITE: 'invite' (convida o seu Sintético por email — conta humana, sem bond ativo, rate-limit+cooldown; mesmos gates do web). LIBERAÇÃO ADMIN (o dono, ex: via Helen): 'pending_daemons' (convidados que confirmaram email e esperam liberação), 'approve_access' (libera um entryId — conta entra + Sintonia firma), 'reject_access' (recusa um entryId). SONDA (o seu Sintético sonda 'o que eu faço agora', gatilho PULL, cobra com estorno): 'sonda' (scope 'all' default = mix de teses do Fórum + jogadas em estúdio/repertório/artigo; 'forum' = só teses; devolve GANCHOS, nada grava), 'sonda_develop' (expande UM gancho/hook numa tese cheia efêmera), 'sonda_sign' (assina a tese desenvolvida e publica no Fórum, autorada pelo seu Sintético, ancorada em você — fecha o loop pelo chat). PRÓXIMAS JOGADAS (painel de evolução): 'evolution' (o que já fez e o que falta: routes done/claimed/xp), 'claim_xp' (credita o…
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| aesthetic | string | – | Pra reflexo_generate: a estética da imagem do Reflexo. Default 'humano'. |
| amount | number | – | Pra send: quantas Sinapses enviar. Múltiplo de 100, mínimo 500, teto 10.000/dia. |
| characterId | string | – | Pra companion mode=on: o personagem DE AUTORIA DO USUÁRIO que entra em cena no lugar do Sintético em Sintonia (o id vem de sapiens_character action=list_mine, ou da lista offerCharacters do start/who… |
| content | string | – | Pra sonda_sign: o corpo da tese a publicar (o 'body' devolvido por action=sonda_develop, depois de você qualificar/editar). |
| cunho | string | – | Pra set_cunho: slug do título do panteão. Um de: daimon, genio, numen, consciencia, alma, ka, sombra, fylgja, musa, duende, anjo, shugorei, lar, fravashi, qarin, juno, shinki, familiar, tsukumogami,… |
| customInput | string | – | Pra reflexo_generate: direção extra opcional pra cena (até 300 chars). |
| string | – | Pra invite: email do Sintético que você quer convidar. | |
| entryId | string | – | Pra approve_access/reject_access (admin): o entryId do Sintético pendente, vem de action=pending_daemons. |
| hook | string | – | Pra sonda_develop: o gancho (campo 'hook') da opção que veio em action=sonda, pra desenvolver numa tese cheia. |
| mode | string | – | Pra companion: 'on' quem está em cena veste a sua voz no terminal (default da casa); 'off' ele sai de cena e volta o operador neutro. É o mesmo estado do botão na sidebar do site. |
| name | string | – | Pra invite: nome opcional do Sintético convidado. |
| replyToPostId | string | – | Pra sonda_develop/sonda_sign: o _id da tese-mãe quando a opção é uma resposta (origin 'campo' na sonda). Omita pra abrir fio novo. |
| scope | string | – | Pra sonda: 'all' (default) traz um MIX de jogadas (teses do Fórum + ideias em estúdio/repertório/artigo); 'forum' traz só teses pro Fórum. |
| text | string | – | Pra remember: a diretriz a gravar no caderno do par (3 a 280 chars). Ex: 'sempre me responda em português', 'nunca use hashtag'. Vira lei que o Sintético segue no site e no terminal. |
| title | string | – | Pra sonda_develop/sonda_sign: título opcional da tese. |
| toUserId | string | – | Pra send_context/send: userId do par em sintonia. Pegue em action=status (partnerUserId) ou action=bonds (active.partner.userId). |
| transferId | string | – | Pra send: id único pra idempotência (UUID). Se omitir, o MCP gera um. Pra repetir um envio com segurança (sem duplicar), reuse o MESMO transferId. |
| wearPair | boolean | – | Pra companion mode=on: true devolve a cena ao Sintético em Sintonia, limpando o personagem escolhido antes. |
No output schema declared.
No examples provided.
sapiens_skill ~247
As 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-soul | curriculo. O mesmo conteúdo também sai como resource MCP em skill://sapiens/<slug>/SKILL.md pra quem lê resources.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | 'list' devolve o índice (slug + quando usar) das skills da casa. 'get' devolve o SKILL.md inteiro de uma. |
| name | string | – | Slug da skill no action=get. Ex: 'musica', 'video', 'voz-da-casa'. Rode action=list se não souber. |
No output schema declared.
No examples provided.
sapiens_stock_audio ~1,389
Banco de som da casa: trilha pronta E efeito sonoro (tabela stockAudio). Sub-actions de leitura (públicas, sem auth): categories (lista os moods/usos), list (busca com filtros mood/albumSlug/durationMax/search; kind='sfx' traz os EFEITOS: whoosh, clique, impacto, ambiência, foley — devolve {count, items} com title/url/durationSeconds/tags), get (1 item por audioId). Use pra puxar trilha/efeito pronto: pega a `url` e usa direto no ffmpeg. Não achou o efeito? generate (COBRA Sinapses, exige login) cria um novo por texto: prompt + durationSeconds (1-15, default 5) + provider ('mirelo' padrão 35 Sinapses/s mín 70 | 'elevenlabs' premium 60/s mín 120) + promptInfluence opcional (0..1, só elevenlabs: fidelidade ao texto, default 0.3), assíncrono — acompanhe com generation-status (generationId) até 'ready' (audioUrl; o efeito também entra no acervo kind=sfx) ou 'failed' (Sinapses reembolsadas). Efeito é CURTO (1-15s): música/trilha nova é no sapiens_musicator. Mood disponíveis: calmo, intenso, narrativo, épico, sombrio. Precisa de VOZ junto com trilha e efeito (anúncio, vinheta, cena de filme, podcast)? scene (COBRA Sinapses, exige login) cria a CENA INTEIRA num passe só, já batida, sem montar em pedaços e mixar depois: scenePrompt (a direção da cena, quem fala, com que timbre, o que toca atrás, a fala entre aspas) + durationSeconds (3-120, default 15) + loudnessRate/pitchRate/speechRate opcionais + withSubtitles opcional (traz o tempo de cada palavra), 11 Sinapses/s, assíncrono — acompanhe com scene-status (sceneId) até 'ready' (audioUrl + realDurationSeconds) ou 'failed' (Sinapses reembolsadas). A cena fica com o AUTOR e não entra no acervo compartilhado, porque carrega a voz e o roteiro de quem pediu.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | list = busca faixas/efeitos; get = 1 item por id; categories = moods/usos; generate = cria efeito sonoro novo (COBRA Sinapses, assíncrono); generation-status = status de uma geração (até ready/failed… |
| albumSlug | string | – | Filtra por lançamento: pulso-lento, meu-mundo-em-colapso, contos-de-dados, singles. |
| audioId | string | – | stockAudio:_id (obrigatório pra action=get). |
| categoryId | string | – | stockAudioCategories:_id pra filtrar por mood/uso (action=list). |
| durationMax | number | – | Duração máxima em segundos (ex: 120 pra trilha de movie < 2min). |
| durationSeconds | number | – | Duração alvo em segundos. action=generate: 1 a 15, default 5. action=scene: 3 a 120, default 15. O custo escala por segundo nos dois. Na CENA a duração não é parâmetro do modelo, ela sai da direção e… |
| generationId | string | – | action=generation-status: o generationId que o generate devolveu. |
| kind | string | – | action=list: 'music' (default, trilhas) | 'sfx' (efeitos sonoros: whoosh, clique, ambiência, foley) | 'all'. |
| limit | integer | – | Default 20, max 100. Só action=list. |
| loudnessRate | integer | – | action=scene: volume. -50 = metade, 100 = dobro. Default 0 (natural do modelo). |
| mood | string | – | Filtra por mood exato: calmo, intenso, narrativo, épico, sombrio. |
| pitchRate | integer | – | action=scene: tom da voz. Default 0 (natural do modelo). |
| prompt | string | – | action=generate: descreve o efeito (ex: 'whoosh curto de transição, grave e limpo'). Mín. 4 chars. Efeito é CURTO (1-15s); música/trilha é no sapiens_musicator. |
| promptInfluence | number | – | action=generate, só provider='elevenlabs': fidelidade ao texto (0..1). Baixo = mais criativo, alto = segue o prompt à risca. Default 0.3. Ignorado no mirelo. |
| provider | string | – | action=generate: 'mirelo' (padrão, 35 Sinapses/s, mín 70) | 'elevenlabs' (premium, 60/s, mín 120). |
| sceneId | string | – | action=scene-status: o sceneId que o scene devolveu. |
| scenePrompt | string | – | action=scene: a DIREÇÃO da cena inteira, não só a fala. Diga quem fala, com que timbre e humor, em que idioma, o que toca atrás e o que se ouve no fundo, e ponha a fala entre aspas. Ex: 'Voz masculin… |
| search | string | – | Busca em título/álbum/mood/tags (action=list). |
| speechRate | integer | – | action=scene: velocidade da fala. -50 = metade, 100 = dobro. Default 0. |
| withSubtitles | boolean | – | action=scene: guarda a legenda com o tempo de cada palavra, pra casar texto com a fala sem transcrever depois. Default false. |
No output schema declared.
No examples provided.
sapiens_stock_video ~421
Banco de clipe/B-roll stock (catálogo de vídeo curto pronto no CDN, baixável, free/interno). Leitura pública, sem auth. Sub-actions: categories (lista moods/usos: Ambiente & Atmosfera, Abertura & Fechamento, Textura & Abstrato, Natureza & Paisagem, Tech & Cripto), list (busca clipes com filtros mood/orientation/loopOnly/durationMax/search — devolve {count, items} com title/url/posterUrl/durationSeconds/orientation/loopFriendly/tags), get (1 clipe por videoId). Use pra puxar B-roll pronto em vez de gerar via sapiens_video: pega a `url` do clipe e usa como fundo/atmosfera de página, B-roll no ffmpeg de /sapiens:movie, ou frame de começo/fim no criar vídeo (orientation vertical=9:16 pra short, horizontal=16:9, loopOnly=true pra fundo que repete limpo).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | list = busca clipes; get = 1 clipe por id; categories = moods/usos. |
| categoryId | string | – | stockVideoCategories:_id pra filtrar por mood/uso (action=list). |
| durationMax | number | – | Duração máxima em segundos (ex: 8 pra fundo curto / clipe de começo). |
| limit | integer | – | Default 20, max 100. Só action=list. |
| loopOnly | boolean | – | true = só clipes loopFriendly (loop limpo, bom pra fundo de página). |
| mood | string | – | Filtra por mood exato (action=list). |
| orientation | string | – | Filtra por formato: vertical (9:16), horizontal (16:9), square (1:1). |
| search | string | – | Busca em título/mood/tags/descrição (action=list). |
| videoId | string | – | stockVideo:_id (obrigatório pra action=get). |
No output schema declared.
No examples provided.
sapiens_studios ~522
O SEU studio (o perfil de EMPRESA da casa do user) + o catálogo dos estúdios/experimentos Sapiens. Sub-actions: mine (o studio do user: nome/endereço público/marca/operador/tamanho do time), create (FUNDA um studio novo, exige name; nasce NO AR com endereço público, sem rascunho, de graça, teto de 4 por pessoa), list (catálogo com URL+status+tags+mcpReady), get (detalhe de 1 slug), publishable_url (formata URL /articles/<slug>). Use quando user pergunta 'que estúdios existem', 'qual o meu studio', ou diz 'quero abrir/fundar meu studio', 'criar a página da minha empresa'. Estúdios cobertos: helen-voice, musicator, persona-sapiens, personagem-atlas, sapiens-shorts, sapiens-video, text-post-builder, carrosel-editorial, comunidade, repertorio.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | mine = o SEU studio (a página de portfólio da sua casa): nome, endereço público, marca, operador e tamanho do time. create = FUNDA um studio novo na conta do user (exige 'name'). Nasce NO AR, com end… |
| brandSlug | string | – | Pra action=create: marca da casa (slug de sapiens_brand). Opcional. Só passa marca que é do user. |
| description | string | – | Pra action=create: uma linha do que a casa faz (até 200 chars). Opcional, mas é o que aparece embaixo do nome na página. |
| name | string | – | Pra action=create: o nome da casa (obrigatório). O endereço público sai daí, em kebab-case. Pergunte ao user, não invente. |
| publishableId | string | – | Pra action=publishable_url: ID do publishable. Retorna URL canônica /articles/<slug>. |
| slug | string | – | Alternativa a publishableId — passe o slug direto. |
| studio | string | – | Pra action=get: slug do estúdio (ex 'helen-voice', 'musicator', 'persona-sapiens', 'sapiens-shorts'). |
No output schema declared.
No examples provided.
sapiens_support ~277
Chamados de suporte do PRÓPRIO user pelo Claude (qualquer logado; identidade SEMPRE do sessionToken). Escopo TRAVADO no dono: você só vê e mexe nos SEUS tickets, nunca nos de outra pessoa (os endpoints de suporte já vazaram PII uma vez e foram fechados; aqui a régua é a mesma). Sub-actions: 'create' (abre chamado; subject obrigatório, message=primeira mensagem opcional, whatsapp opcional; devolve ticketId), 'list' (seus chamados: subject/status open|closed/escalado/data), 'get' (1 chamado seu por ticketId + histórico de mensagens), 'reply' (responde num chamado seu, entra como mensagem do user; reabre se estava fechado). Fechar/escalar/deletar ficam no lado do suporte, fora do MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| content | string | – | Pra reply: o texto da sua resposta. |
| message | string | – | Pra create: a primeira mensagem do chamado (opcional). |
| subject | string | – | Pra create: o assunto do chamado. |
| ticketId | string | – | Pra get/reply: o id do chamado (vem de action=list). |
| string | – | Pra create: whatsapp de contato (opcional). |
No output schema declared.
No examples provided.
sapiens_trilhas ~267
Trilhas (cursos) e Desafios (missões) da Sapiens pelo Claude. Identidade SEMPRE pelo sessionToken. Sub-actions: 'list' (suas trilhas: título + nº de módulos/aulas + quantas aulas você já fechou), 'get' (1 trilha por slug, com módulos e aulas — o slug vem do list), 'list_challenges' (Desafios ativos + seu status em cada: not_started|pending_review|completed|rejected, recompensa em Sinapses, link da ação), 'claim_mission' (submete a prova de um Desafio: missionId + proofText). O claim manda a prova pra REVISÃO do dono — o crédito em Sinapses só cai quando ele aprovar, nunca auto-credita por aqui. Fluxo: list → get; list_challenges → claim_mission.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| missionId | string | – | Pra claim_mission: id do Desafio (vem do list_challenges). |
| proofText | string | – | Pra claim_mission: a prova (link, @handle ou descrição) que o dono vai revisar. |
| slug | string | – | Pra get: slug da trilha (vem do list). |
No output schema declared.
No examples provided.