sapiens-mcp 1.26.1 → 1.26.2
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 +3 -3
- package/dist/tools/studios.js +2 -2
- package/dist/tools/video.js +7 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -198,7 +198,7 @@ Música (sapiens_musicator) é fluxo de 4 passos, EM ORDEM:
|
|
|
198
198
|
4. get passe o trackId e fique polando o status até 'ready' (ou 'failed').
|
|
199
199
|
Pular pro lyrics/render sem create, ou sem os campos, sempre falha.
|
|
200
200
|
|
|
201
|
-
Vídeo (sapiens_video) action=create EXIGE 'model': sapiens-video-seedance | kling | wan | kling-motion | lite | fast | quality | omni. Sem model, falha de cara. O 'omni' (Gemini Omni) é SÓ text-to-video: texto vira clipe de 10s 720p com áudio nativo, ignora imagem/duração/resolução. Vídeo é o mais caro: confirme com o usuário antes. Vitrine dos demos (sem custo): sapiens_video action=demos lista seus demo films com slug; action=showcase (slug + showcase=true/false + showcaseTag + showcaseOrder) cura o mini-cinema da /conectar-claude.
|
|
201
|
+
Vídeo (sapiens_video) action=create EXIGE 'model': sapiens-video-seedance | kling | wan | kling-motion | lite | fast | quality | omni. Sem model, falha de cara. O 'omni' (Gemini Omni) é SÓ text-to-video: texto vira clipe de 10s 720p com áudio nativo, ignora imagem/duração/resolução. Vídeo é o mais caro: confirme com o usuário antes. Vitrine dos demos (sem custo): sapiens_video action=demos lista seus demo films com slug; action=showcase (slug + showcase=true/false + showcaseTag + showcaseOrder) cura o mini-cinema da /conectar-claude. FILMES DA CASA (Estúdio de Vídeo, tela /experimentos/films): são OUTRA coisa, três kinds na tabela videoSpecs: demo (UI clonada + câmera), aula-tour (telas reais + narração) e essay (fita-ensaio abstrata: partícula/tinta vira símbolo, com a logo explodindo no fim). Eles NÃO são gerados por este MCP: o user monta o spec na tela e um agente local (Claude Code, skill /film) produz o mp4 no repo da casa. Se o user pedir 'fita-ensaio' ou 'demo film' aqui, aponte pra tela e pro agente local.
|
|
202
202
|
|
|
203
203
|
Imagem (sapiens_image) action=generate: prompt + model + aspectRatio. Referência via referenceImageUrls (galeria/Acervo/personagens) e/ou sourceImageIds. templateSlug aplica um super-prompt travado da casa.
|
|
204
204
|
|
|
@@ -220,7 +220,7 @@ Mídia no Fórum (PADRÃO, faça sempre assim): a peça vai EMBEDADA num card es
|
|
|
220
220
|
Trilhas e Ritos de Fogo (sapiens_trilhas): 'list'/'get' pra navegar as trilhas; 'list_challenges' mostra os Ritos ativos + seu status; 'claim_mission' (missionId + proofText) envia a prova pra revisão do dono — o crédito em Sinapses sai na aprovação dele, não na hora. Não prometa Sinapse na hora do claim.
|
|
221
221
|
|
|
222
222
|
Voz da casa: 1ª pessoa, direto, anti-corporate, sem travessão. Pra bom entendedor, meia palavra basta.`;
|
|
223
|
-
const server = new Server({ name: "mcp-sapiens", version: "1.26.
|
|
223
|
+
const server = new Server({ name: "mcp-sapiens", version: "1.26.2" }, { capabilities: { tools: {} }, instructions: SAPIENS_INSTRUCTIONS });
|
|
224
224
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
225
225
|
tools: Object.entries(TOOLS).map(([name, t]) => ({
|
|
226
226
|
name,
|
|
@@ -253,4 +253,4 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
253
253
|
});
|
|
254
254
|
const transport = new StdioServerTransport();
|
|
255
255
|
await server.connect(transport);
|
|
256
|
-
console.error("mcp-sapiens v1.26.
|
|
256
|
+
console.error("mcp-sapiens v1.26.2 rodando via stdio (27 tools)");
|
package/dist/tools/studios.js
CHANGED
|
@@ -17,7 +17,7 @@ export const studiosSchema = z.object({
|
|
|
17
17
|
.enum(["list", "get", "publishable_url", "mine", "emancipar", "module"])
|
|
18
18
|
.describe("mine = o SEU studio ('Meu Studio', singular): nível, marca, operador e ferramentas, pra você gerar com useStudio. list/get = catálogo de estúdios da casa. publishable_url = URL de artigo. " +
|
|
19
19
|
"emancipar = INICIA a Emancipação (Nível 3 do Studio): puxa o blueprint-mestre pra VOCÊ (Claude) construir a casa PRÓPRIA do membro, na infra DELE (Vercel + Convex + domínio dele), FORA do Sapiens. Devolve a identidade do studio dele já hidratada + o índice de módulos + o guia da Fundação. " +
|
|
20
|
-
"module = puxa o guia de UM módulo de infra pra continuar a construção (ex: fundacao, sapiens-connect, telegram, email, auth)."),
|
|
20
|
+
"module = puxa o guia de UM módulo de infra pra continuar a construção (ex: fundacao, sapiens-connect, midia, telegram, email, auth)."),
|
|
21
21
|
studio: z
|
|
22
22
|
.string()
|
|
23
23
|
.optional()
|
|
@@ -25,7 +25,7 @@ export const studiosSchema = z.object({
|
|
|
25
25
|
module: z
|
|
26
26
|
.string()
|
|
27
27
|
.optional()
|
|
28
|
-
.describe("Pra action=module: slug do módulo de infra da emancipação. Prontos (com guia): fundacao, sapiens-connect, telegram, email, auth. Chegando (no índice, sem guia ainda): pagamentos, analytics."),
|
|
28
|
+
.describe("Pra action=module: slug do módulo de infra da emancipação. Prontos (com guia): fundacao, sapiens-connect, midia, telegram, email, auth. Chegando (no índice, sem guia ainda): pagamentos, analytics."),
|
|
29
29
|
publishableId: z
|
|
30
30
|
.string()
|
|
31
31
|
.optional()
|
package/dist/tools/video.js
CHANGED
|
@@ -20,6 +20,8 @@ import { convexAction, convexQuery, convexMutation, getSessionToken } from "../c
|
|
|
20
20
|
* - sapiens-video-wan WAN 2.5 — imagem que fala/canta (áudio+lip-sync nativo), 5/10s (i2v)
|
|
21
21
|
* - sapiens-video-kling-motion Kling Motion — transfere o movimento de um vídeo pra uma imagem
|
|
22
22
|
* (PRECISA de pessoa com tronco visível na imagem E no vídeo)
|
|
23
|
+
* - sapiens-video-shot-mimic Shot Mimic — recria o plano do vídeo de referência (câmera,
|
|
24
|
+
* cortes, blocking) como cena nova; personagem via role 'start'
|
|
23
25
|
* - sapiens-video-lite/fast/quality Veo 3.1 (2000/5000/25000 sinapses)
|
|
24
26
|
* - sapiens-video-omni Gemini Omni — texto -> vídeo 10s 720p com áudio nativo embutido.
|
|
25
27
|
* SÓ text-to-video (não anima imagem: ignora references/durationSec/resolution).
|
|
@@ -35,6 +37,7 @@ const VIDEO_MODELS = [
|
|
|
35
37
|
"sapiens-video-kling",
|
|
36
38
|
"sapiens-video-wan",
|
|
37
39
|
"sapiens-video-kling-motion",
|
|
40
|
+
"sapiens-video-shot-mimic",
|
|
38
41
|
"sapiens-video-lite",
|
|
39
42
|
"sapiens-video-fast",
|
|
40
43
|
"sapiens-video-quality",
|
|
@@ -66,17 +69,18 @@ export const videoSchema = z.object({
|
|
|
66
69
|
.describe("action=create: modelo de vídeo. 'sapiens-video-seedance' (cinematográfico+áudio, t2v/i2v), " +
|
|
67
70
|
"'sapiens-video-kling' (anima imagem, i2v/t2v), 'sapiens-video-wan' (imagem que fala, i2v), " +
|
|
68
71
|
"'sapiens-video-kling-motion' (motion transfer, precisa pessoa na imagem E no vídeo de movimento), " +
|
|
72
|
+
"'sapiens-video-shot-mimic' (recria o plano do vídeo de referência com seu personagem: mesma câmera, mesmos cortes; 'driving' = previs/clipe do plano, 'start' = personagem), " +
|
|
69
73
|
"'sapiens-video-lite/fast/quality' (Veo 3.1), " +
|
|
70
74
|
"'sapiens-video-omni' (Gemini Omni: texto -> vídeo 10s 720p com áudio nativo; SÓ t2v, ignora imagem/duração/resolução)."),
|
|
71
75
|
durationSec: z
|
|
72
76
|
.number()
|
|
73
77
|
.optional()
|
|
74
|
-
.describe("action=create (modelos WaveSpeed): duração em segundos. Seedance 4-15, Kling 3-15, WAN 5/10. " +
|
|
78
|
+
.describe("action=create (modelos WaveSpeed): duração em segundos. Seedance/Shot Mimic 4-15, Kling 3-15, WAN 5/10. " +
|
|
75
79
|
"Sem isso usa a config mais barata. O preço escala com a duração."),
|
|
76
80
|
resolution: z
|
|
77
81
|
.enum(["480p", "720p", "1080p"])
|
|
78
82
|
.optional()
|
|
79
|
-
.describe("action=create: resolução (Seedance/WAN). Default 720p. Kling não usa (1080p nativo)."),
|
|
83
|
+
.describe("action=create: resolução (Seedance/WAN/Shot Mimic). Default 720p. Kling não usa (1080p nativo)."),
|
|
80
84
|
audio: z
|
|
81
85
|
.boolean()
|
|
82
86
|
.optional()
|
|
@@ -106,7 +110,7 @@ export const videoSchema = z.object({
|
|
|
106
110
|
.describe("'start' = imagem inicial (i2v), 'end' = frame final, 'driving' = vídeo de movimento (Motion)"),
|
|
107
111
|
}))
|
|
108
112
|
.optional()
|
|
109
|
-
.describe("References em base64 (escape hatch / Motion). i2v: role 'start' (imagem). Motion: 'start' (pessoa) + 'driving' (vídeo de movimento, <=5MB). Pra frame inicial/final a partir do seu acervo, prefira start/endImage* abaixo (sem precisar de base64)."),
|
|
113
|
+
.describe("References em base64 (escape hatch / Motion / Shot Mimic). i2v: role 'start' (imagem). Motion: 'start' (pessoa) + 'driving' (vídeo de movimento, <=5MB). Shot Mimic: 'start' (personagem) + 'driving' (previs ou clipe do plano a imitar, <=5MB). Pra frame inicial/final a partir do seu acervo, prefira start/endImage* abaixo (sem precisar de base64)."),
|
|
110
114
|
// Frame inicial/final por REFERÊNCIA (resolvido server-side, igual à imagem):
|
|
111
115
|
// id da própria galeria OU url allowlist (galeria/Acervo/personagens). Mais
|
|
112
116
|
// simples que mandar base64. Descubra via sapiens_reference / sapiens_gallery.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sapiens-mcp",
|
|
3
|
-
"version": "1.26.
|
|
3
|
+
"version": "1.26.2",
|
|
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": {
|