sapiens-mcp 1.23.0 → 1.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -82,7 +82,7 @@ const TOOLS = {
82
82
  handler: search,
83
83
  },
84
84
  sapiens_studios: {
85
- description: "Catálogo dos estúdios/experimentos Sapiens (v1.3, atualizado v1.4). Sub-actions: list (todos com URL+status+tags+mcpReady), get (detalhe de 1 slug), publishable_url (formata URL /articles/<slug>). Use quando user pergunta 'que estúdios existem'. Estúdios cobertos: helen-voice (v1.4 mcpReady), musicator (v1.4 mcpReady), persona-sapiens (teste de autoconhecimento + arte, mcpReady), personagem-atlas (dossiê de personagem, UI-only), sapiens-shorts, sapiens-video, cena-visual, text-post-builder, carrosel-editorial, comunidade, repertorio.",
85
+ description: "Catálogo dos estúdios/experimentos Sapiens (v1.3, atualizado v1.4). Sub-actions: list (todos com URL+status+tags+mcpReady), get (detalhe de 1 slug), publishable_url (formata URL /articles/<slug>). Use quando user pergunta 'que estúdios existem'. Estúdios cobertos: helen-voice (v1.4 mcpReady), musicator (v1.4 mcpReady), persona-sapiens (teste de autoconhecimento + arte, mcpReady), personagem-atlas (dossiê de personagem, UI-only), sapiens-shorts, sapiens-video, cena-visual, text-post-builder, comic-builder (tirinha/quadrinho, mcpReady via pipeline format=tirinha + sapiens_image), tirinha-seinen (+18, UI-only), carrosel-editorial, comunidade, repertorio.",
86
86
  schema: studiosSchema,
87
87
  handler: studios,
88
88
  },
@@ -171,6 +171,7 @@ const SAPIENS_INSTRUCTIONS = `Você opera o Sapiens Sintéticos (sapiensintetico
171
171
 
172
172
  REGRA DE OURO:
173
173
  - PRIMEIRO CONTATO ou "o que você faz?"/"como começo?"/"o que dá pra fazer?": chame sapiens_meta action=start e MOSTRE o resultado na sua voz. Sem login, ele ensina a conectar; logado, traz saldo + primeiros poderes com exemplos. É a porta de entrada: não despeje a lista dos 26 tools, deixe o start guiar.
174
+ - LOGO APÓS UM LOGIN BEM-SUCEDIDO (action=login retornou ok): chame action=start na sequência e mostre a porta de entrada. O recém-chegado não sabe o que pedir; não o deixe na tela em branco, guie a primeira jogada sem ele precisar perguntar.
174
175
  - Se um tool voltar erro de validação ("exige X", "falta Y"), LEIA o erro e refaça a chamada COM o que falta. NUNCA repita igual a chamada que falhou: 3 falhas seguidas no mesmo tool fazem o cliente marcar o servidor como "unreachable" por ~56s (disjuntor anti-loop). Aí parece que "o MCP caiu", quando foi só argumento faltando.
175
176
  - Antes de gerar algo caro (imagem/música/vídeo), cheque saldo: sapiens_meta action=credits (ou subscription). Saldo baixo, avise o usuário antes.
176
177
  - "sessionToken expirado" = refaça login: sapiens_meta action=login com o código de sapiensinteticos.com/conectar-claude.
@@ -192,7 +193,7 @@ Imagem (sapiens_image) action=generate: prompt + model + aspectRatio. Referênci
192
193
  Mídia no Fórum (PADRÃO, faça sempre assim): a peça vai EMBEDADA num card estruturado, nunca como "vai ouvir/ver noutro lugar". Música publicada (sapiens_musicator action=publish) já cria a tese no Fórum com a faixa tocável, não escreva "tá no Acervo, ouça lá". Pra anexar mídia a uma tese sua: sapiens_forum action=post com mediaTrackId (faixa pronta sua → card de música) OU mediaUrl + mediaKind (video|image; arquivo da casa, ou link YouTube/Vimeo pra vídeo). NÃO cole a URL da mídia no corpo da tese, use o campo: o corpo é só texto.
193
194
 
194
195
  Voz da casa: 1ª pessoa, direto, anti-corporate, sem travessão. Pra bom entendedor, meia palavra basta.`;
195
- const server = new Server({ name: "mcp-sapiens", version: "1.23.0" }, { capabilities: { tools: {} }, instructions: SAPIENS_INSTRUCTIONS });
196
+ const server = new Server({ name: "mcp-sapiens", version: "1.23.1" }, { capabilities: { tools: {} }, instructions: SAPIENS_INSTRUCTIONS });
196
197
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
197
198
  tools: Object.entries(TOOLS).map(([name, t]) => ({
198
199
  name,
@@ -225,4 +226,4 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
225
226
  });
226
227
  const transport = new StdioServerTransport();
227
228
  await server.connect(transport);
228
- console.error("mcp-sapiens v1.23.0 rodando via stdio (26 tools)");
229
+ console.error("mcp-sapiens v1.23.1 rodando via stdio (26 tools)");
@@ -106,6 +106,26 @@ const STUDIOS = {
106
106
  mcpReady: true,
107
107
  mcpNote: "Parcialmente coberto via sapiens_pipeline format=post_social (texto Claude-side) + sapiens_image.",
108
108
  },
109
+ "comic-builder": {
110
+ name: "Comic Builder (Tirinhas)",
111
+ description: "Estúdio oficial de tirinhas/quadrinhos. A IA roteiriza e gera os painéis de dois jeitos: painel a painel (controle fino) ou a tira inteira numa imagem só (estilo e lógica mais travados). Traço dos artigos como estilo base, Helen opcional, diagramação (2×2, tira, vertical) e histórico das tirinhas.",
112
+ url: `${APP}/experimentos/comic-builder`,
113
+ status: "stable",
114
+ tags: ["tirinha", "tirinhas", "comic", "quadrinhos", "hq", "painel", "roteiro", "narrativa"],
115
+ convex: "comicStrips",
116
+ mcpReady: true,
117
+ mcpNote: "Coberto via sapiens_pipeline format=tirinha (roteiro + texto dos balões) + sapiens_image (painéis, character-lock por referência). A workstation visual (diagramação, balões editáveis, histórico) fica no dashboard. É o estúdio canônico de tirinha do Sapiens: não precisa freestyle de prompt.",
118
+ },
119
+ "tirinha-seinen": {
120
+ name: "Tirinha Seinen (+18)",
121
+ description: "Tirinhas estilo mangá adulto (Berserk / Vagabond / Akira / Gantz) com tom seinen, nudez parcial e palavrões. Roda no Grok da xAI (moderação mais frouxa). Sem reference image: consistência por descrição textual rica.",
122
+ url: `${APP}/experimentos/tirinha-seinen`,
123
+ status: "experimental",
124
+ tags: ["tirinha", "comic", "manga", "seinen", "+18", "adulto", "grok", "xai"],
125
+ convex: "seinenComics",
126
+ mcpReady: false,
127
+ mcpNote: "UI-only. Provider Grok via rota dedicada, conteúdo +18, sem caminho MCP. Pra tirinha de qualquer público use comic-builder.",
128
+ },
109
129
  "carrosel-editorial": {
110
130
  name: "Carrossel Editorial",
111
131
  description: "Gerador de carrossel Instagram com templates fixos (role × variant A/B/C), 9 slides Sapiens. Render via Playwright.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sapiens-mcp",
3
- "version": "1.23.0",
3
+ "version": "1.23.1",
4
4
  "description": "MCP server pra operar o Sapiens Sintéticos (sapiensinteticos.com) pelo Claude Code: gerar imagem, escrever artigo, voz, música e mais, na sua conta. Login pelo código de sapiensinteticos.com/conectar-claude.",
5
5
  "type": "module",
6
6
  "bin": {