instantclips-mcp 1.1.0 → 1.3.0

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/README.es.md CHANGED
@@ -2,47 +2,75 @@
2
2
 
3
3
  [English](README.md) · **Español** · [简体中文](README.zh-CN.md)
4
4
 
5
+ [![M8ven Verified](https://m8ven.ai/badge/mcp/instantclips-mcp-1k56q7?variant=verified)](https://m8ven.ai/mcp/instantclips-mcp-1k56q7)
6
+
5
7
  [InstantClips](https://instantclips.ai) convierte un producto de comercio electrónico en vídeos
6
8
  verticales cortos para TikTok, Instagram Reels y Stories. Funciona como un **servidor MCP alojado**,
7
9
  por lo que Claude Code, Codex, Cursor, VS Code, la aplicación de Claude, ChatGPT o cualquier otro
8
- cliente MCP pueden hacer lo mismo que la aplicación web: importar un producto, preparar la
9
- dirección creativa y renderizar el vídeo.
10
+ cliente MCP pueden hacer lo mismo que la aplicación web: importar un producto, preparar el plan y
11
+ generar el vídeo.
12
+
13
+ **No es un generador de texto a vídeo.** InstantClips lee la página del producto (fotos, precio,
14
+ detalles) y construye el anuncio a partir de lo que realmente hay allí. El plan se escribe primero
15
+ y se te muestra; el vídeo sigue el plan. Por eso resulta lo bastante económico para recorrer un
16
+ catálogo entero, y por eso el resultado es el producto que vendes y no una suposición.
17
+
18
+ Gratis para empezar: los créditos de bienvenida cubren el primer vídeo y no hace falta introducir
19
+ ninguna tarjeta. Después, paquetes de créditos de pago único o una membresía Agency para quien
20
+ gestiona varias marcas. Consulta los [precios](https://instantclips.ai/#pricing).
21
+
22
+ - **Dónde encaja.** Junto a un programador de publicaciones (Postiz, Buffer) que publique lo que
23
+ se genera. Junto a una herramienta de atribución que te diga qué gancho funcionó. En lugar de un
24
+ editor cuando tienes una página de producto y ningún metraje.
25
+ - **Para qué no sirve.** Películas cinematográficas de marca. Un presentador leyendo tu guion.
26
+ 4K horizontal. Productos sin página y sin fotos.
27
+ - **Pensado para.** Vendedores de Shopify, dropshippers, marcas y agencias que llevan las redes de
28
+ varias tiendas a la vez.
10
29
 
11
30
  **El servidor del producto permanece alojado.** Este repositorio contiene su guía de conexión, los
12
31
  metadatos de registro, un cliente HTTP de ejemplo y un pequeño adaptador stdio de código abierto
13
- para los clientes que no pueden conectarse directamente a un servidor remoto. El adaptador se
14
- limita a transportar mensajes MCP al endpoint alojado; las definiciones de las herramientas y la
15
- implementación del producto permanecen en un único lugar.
32
+ para los clientes que no pueden conectarse directamente a un servidor remoto. El adaptador responde
33
+ localmente a la inicialización, al ping y al descubrimiento de herramientas desde una instantánea
34
+ generada, y envía al endpoint alojado únicamente las llamadas autenticadas. El servidor alojado
35
+ sigue siendo la fuente de verdad; la implementación del producto no se duplica aquí.
16
36
 
17
37
  ## Endpoint
18
38
 
19
- | | |
20
- | ---------- | ------------------------------------------ |
21
- | Endpoint | `https://app.instantclips.ai/mcp` |
22
- | Transporte | Streamable HTTP, sin estado |
23
- | Método | `POST`, JSON-RPC 2.0 |
24
- | Auth | `Authorization: Bearer <token>` |
39
+ | | |
40
+ | ---------- | ------------------------------------------------------------------------------------------------- |
41
+ | Endpoint | `https://app.instantclips.ai/mcp` |
42
+ | Transporte | Streamable HTTP, sin estado |
43
+ | Método | `POST`, JSON-RPC 2.0 |
44
+ | Auth | Inicio de sesión cuando el cliente lo pida (OAuth 2.1), o `Authorization: Bearer <token>` para procesos sin navegador |
45
+
46
+ Pega una sola dirección en tu asistente e inicia sesión cuando te lo pida. Esa es toda la
47
+ configuración. La primera vez que llama, el servidor te lleva a iniciar sesión en InstantClips y a
48
+ autorizar al asistente; no hay claves que copiar. Cada asistente que autorizas aparece en
49
+ **Aplicaciones autorizadas** dentro de los ajustes, donde puedes desconectarlo.
25
50
 
26
- Genera un token en **[app.instantclips.ai/settings#ai-access](https://app.instantclips.ai/settings#ai-access)**.
27
- El token da acceso a tu propia cuenta: las mismas marcas, productos, créditos y límites del plan
28
- que en la aplicación web. Al iniciar sesión se crea una cuenta si todavía no tienes una, con
29
- créditos gratuitos para empezar.
51
+ La conexión es con tu propia cuenta: las mismas marcas, productos, créditos y límites del plan que
52
+ en la aplicación web. Al iniciar sesión se crea una cuenta si todavía no tienes una, con créditos
53
+ para el primer vídeo.
30
54
 
31
- Al abrir el endpoint en un navegador, aparece la página de configuración en lugar de un error de
32
- protocolo, con botones de instalación de un clic que introducen el token por ti.
55
+ Al abrir el endpoint en un navegador aparece la
56
+ [página de configuración](https://app.instantclips.ai/mcp) en lugar de un error de protocolo, con
57
+ botones de instalación de un clic para Cursor y VS Code.
33
58
 
34
59
  ## Instalación
35
60
 
36
- Conéctate directamente al endpoint alojado siempre que tu cliente admita Streamable HTTP. Usa el
37
- adaptador stdio descrito abajo solo para clientes y procesos automatizados que requieran un comando
38
- local.
61
+ Conéctate directamente al endpoint alojado siempre que tu cliente admita Streamable HTTP; te
62
+ guiará por el inicio de sesión la primera vez. Usa un token y el adaptador stdio (en «¿Sin
63
+ navegador?», más abajo) solo para scripts y procesos automatizados que no pueden abrir una página
64
+ de inicio de sesión.
39
65
 
40
66
  ### Claude Code
41
67
 
42
68
  ```bash
43
- claude mcp add --transport http instantclips https://app.instantclips.ai/mcp --header "Authorization: Bearer YOUR_TOKEN"
69
+ claude mcp add --transport http instantclips https://app.instantclips.ai/mcp
44
70
  ```
45
71
 
72
+ Después ejecuta `/mcp` dentro de Claude Code y elige InstantClips para iniciar sesión.
73
+
46
74
  ### Codex
47
75
 
48
76
  Añade lo siguiente a `~/.codex/config.toml`; la configuración se aplica a la CLI, la aplicación y
@@ -51,16 +79,63 @@ la extensión del IDE:
51
79
  ```toml
52
80
  [mcp_servers.instantclips]
53
81
  url = "https://app.instantclips.ai/mcp"
82
+ ```
83
+
84
+ Después ejecuta `codex mcp login instantclips` para iniciar sesión.
85
+
86
+ ### Cursor y VS Code
87
+
88
+ La [página de configuración](https://app.instantclips.ai/mcp) incluye botones de instalación de un
89
+ clic. Abren la aplicación, añaden InstantClips y te piden iniciar sesión la primera vez.
90
+
91
+ ### Aplicación de Claude y ChatGPT
92
+
93
+ Aplicación de Claude: añade un conector personalizado con esta dirección e inicia sesión cuando te
94
+ lo pida. ChatGPT en la web: activa el modo de desarrollador en Ajustes, Apps, Avanzado y añade la
95
+ dirección como conector; en un espacio de trabajo Business o Enterprise, un administrador la
96
+ publica como aplicación para todo el equipo. La aplicación de escritorio de ChatGPT acepta la misma
97
+ dirección en Ajustes, Servidores MCP, y la comparte con Codex.
98
+
99
+ ### Cualquier otro cliente o agente MCP
100
+
101
+ OpenClaw, Hermes o un agente que hayas creado: conéctalo a la dirección mediante Streamable HTTP.
102
+ El servidor anuncia su flujo de inicio de sesión de la forma estándar, así que un cliente que siga
103
+ la especificación no necesita nada más. Lo que no pueda abrir una página de inicio de sesión usa un
104
+ token, como se explica a continuación.
105
+
106
+ ### ¿Sin navegador? Usa un token de acceso
107
+
108
+ Los scripts, los trabajos de CI y los agentes que no pueden abrir una página de inicio de sesión se
109
+ autentican con un token de larga duración. Genera uno en
110
+ **[app.instantclips.ai/settings#ai-access](https://app.instantclips.ai/settings#ai-access)**. Da
111
+ acceso completo a tu cuenta, así que mantenlo fuera de cualquier cosa que subas a un repositorio.
112
+
113
+ Con un token, los mismos clientes quedan así:
114
+
115
+ ```bash
116
+ # Claude Code
117
+ claude mcp add --transport http instantclips https://app.instantclips.ai/mcp --header "Authorization: Bearer YOUR_TOKEN"
118
+ ```
119
+
120
+ ```toml
121
+ # Codex, en ~/.codex/config.toml
122
+ [mcp_servers.instantclips]
123
+ url = "https://app.instantclips.ai/mcp"
54
124
  http_headers = { Authorization = "Bearer YOUR_TOKEN" }
55
125
  ```
56
126
 
57
- Para no guardar el token en el archivo, sustituye el encabezado por
58
- `bearer_token_env_var = "INSTANTCLIPS_TOKEN"` y expórtalo como variable de entorno en tu shell.
127
+ Para no guardar el token en el archivo de Codex, sustituye el encabezado por
128
+ `bearer_token_env_var = "INSTANTCLIPS_TOKEN"` y expórtalo como variable de entorno en tu shell. La
129
+ aplicación de Claude acepta el token como encabezado de solicitud en el conector (los encabezados
130
+ de solicitud siguen en beta); los conectores de ChatGPT inician sesión mediante el flujo de inicio
131
+ de sesión en lugar de una clave pegada. Cualquier otro cliente envía un encabezado
132
+ `Authorization: Bearer`. El protocolo no contiene nada específico de InstantClips.
59
133
 
60
- ### Clientes que solo admiten stdio y procesos sin interfaz
134
+ #### Clientes que solo admiten stdio y procesos sin interfaz
61
135
 
62
- El paquete npm `instantclips-mcp` es un adaptador ligero de stdio a HTTPS. Lee el token del entorno,
63
- fija InstantClips como endpoint de destino y reenvía el protocolo sin modificarlo:
136
+ El paquete npm `instantclips-mcp` es un adaptador ligero de stdio a HTTPS. Sirve localmente la
137
+ inicialización y el descubrimiento de herramientas para arrancar rápido y sin credenciales; después
138
+ lee el token del entorno y envía las llamadas de herramientas a InstantClips:
64
139
 
65
140
  ```json
66
141
  {
@@ -84,26 +159,18 @@ INSTANTCLIPS_TOKEN="your-token" npx -y instantclips-mcp --check --json
84
159
  ```
85
160
 
86
161
  El token solo se acepta mediante `INSTANTCLIPS_TOKEN`, nunca como argumento de línea de comandos,
87
- por lo que no aparece en la lista de procesos. Se requiere Node.js 20 o posterior.
88
-
89
- ### Cursor y VS Code
162
+ por lo que no aparece en la lista de procesos. Es obligatorio para llamar a una herramienta, pero
163
+ no para `initialize`, `ping` ni `tools/list`. Se requiere Node.js 20 o posterior.
90
164
 
91
- La [página de configuración](https://app.instantclips.ai/settings#ai-access) incluye botones de
92
- instalación de un clic. Una vez generado el token, los botones lo introducen por ti.
165
+ ## Instrucciones para empezar
93
166
 
94
- ### Aplicación de Claude y ChatGPT
167
+ Cinco para arrancar. Sustituye el enlace o el nombre del producto.
95
168
 
96
- Estos clientes se conectan mediante su propia configuración de conectores, no mediante un archivo.
97
- Apunta el conector a `https://app.instantclips.ai/mcp` y autentícate con el mismo token: como
98
- encabezado de solicitud en Claude y como clave de API en ChatGPT. Los encabezados de solicitud de
99
- Claude siguen en beta y ChatGPT requiere el modo de desarrollador; su disponibilidad depende de tu
100
- cuenta y de las políticas de tu espacio de trabajo.
101
-
102
- ### Cualquier otro cliente
103
-
104
- OpenClaw, Hermes o un agente que hayas creado: conéctalo a la URL mediante Streamable HTTP con un
105
- encabezado `Authorization: Bearer`. El protocolo no contiene nada específico de InstantClips, por
106
- lo que cualquier cliente compatible con MCP ya puede comunicarse con el servidor.
169
+ 1. «Haz un anuncio en vídeo para este producto: [URL]»
170
+ 2. «Importa todos los productos de esta página de colección y prepara los planes de todos. No generes nada todavía.»
171
+ 3. «Muéstrame el plan de [producto] y reescribe el gancho para que empiece por el precio.»
172
+ 4. «Haz tres vídeos de [URL] con tres ganchos distintos, para que pueda probarlos.»
173
+ 5. «¿A cuál de mis marcas pertenece este producto? Luego haz el vídeo.»
107
174
 
108
175
  ## Herramientas
109
176
 
@@ -112,34 +179,44 @@ El flujo de trabajo, en orden:
112
179
  1. **Importar** — usa `import_product_from_url` para una página de tienda o
113
180
  `create_product_from_images` cuando no haya una página que leer.
114
181
  2. **Esperar el borrador** — consulta `get_product` periódicamente hasta que terminen la importación
115
- y la preparación de la dirección creativa.
116
- 3. **Revisarlo y orientarlo** — la dirección se devuelve como texto: gancho, enfoque del contenido,
117
- formato, pautas de ejecución y restricciones. `update_video_direction` permite editarla y
182
+ y la preparación del plan.
183
+ 3. **Revisarlo y orientarlo** — el plan se devuelve como texto: gancho, enfoque del contenido,
184
+ formato, pautas de ejecución y restricciones. `update_video_direction` permite editarlo y
118
185
  `redraft_video_direction` propone otro enfoque.
119
- 4. **Renderizar** — usa `generate_video`.
186
+ 4. **Generar** — usa `generate_video` pasando `expected_credit_cost`: el coste que se le indicó al
187
+ usuario, tal como lo informó `get_product`. Si no coincide, se rechaza sin cobrar.
120
188
  5. **Recoger el resultado** — consulta `get_video` periódicamente para obtener el MP4 terminado y
121
189
  un enlace público para compartirlo.
122
190
 
191
+ Otro vídeo del mismo producto sigue el mismo flujo sobre ese producto: editar o volver a preparar el
192
+ plan abre el borrador del siguiente vídeo, y `generate_video` sin borrador genera otra toma del último
193
+ plan. Un vídeo ya generado no se puede modificar. Cada respuesta de `get_product` incluye `next_step`:
194
+ qué hacer a continuación.
195
+
123
196
  Las marcas funcionan de la misma manera: `list_brands`, `create_brand`, `set_product_brand`. Cada
124
197
  vídeo se prepara con la voz de una marca; por eso, si el escaparate de un producto importado no
125
198
  coincide con ninguna marca existente, el proceso se detiene y pregunta en lugar de adivinar.
126
199
 
127
- El propio servidor publica los parámetros exactos de cada herramienta. Este repositorio no los
128
- repite deliberadamente: ejecuta `python example.py tools`, como se indica abajo, para mostrar los
129
- esquemas actuales. Así, lo que construyas no puede quedar desfasado respecto a lo que acepta el
130
- servidor.
200
+ El servidor alojado publica los parámetros exactos de cada herramienta. La instantánea generada
201
+ [`manifest/instantclips-mcp.json`](manifest/instantclips-mcp.json) permite que clientes stdio y
202
+ registros inspeccionen los mismos esquemas sin credenciales. Quienes mantienen el repositorio la
203
+ actualizan con `INSTANTCLIPS_TOKEN="..." npm run sync:manifest`; `npm run check:manifest` falla si
204
+ la copia incluida difiere del servidor en producción. Ejecuta `python example.py tools` cuando
205
+ quieras imprimir específicamente los esquemas actuales mediante HTTP.
131
206
 
132
207
  ## Créditos
133
208
 
134
- Importar un producto, preparar la dirección creativa y editarla es **gratis**. `generate_video` es
135
- la única herramienta que consume créditos y requiere tu autorización explícita; las herramientas
136
- indican antes el coste. Un agente no puede acumular cargos sin avisarte. Consulta los
209
+ Importar un producto, preparar el plan y editarlo es **gratis**. `generate_video` es la única
210
+ herramienta que consume créditos y requiere tu autorización explícita; las herramientas indican
211
+ antes el coste, y `generate_video` recibe ese número como `expected_credit_cost`, rechazando un
212
+ lanzamiento cuyo coste haya cambiado. Un agente no puede acumular cargos sin avisarte. Consulta los
137
213
  [precios](https://instantclips.ai/#pricing).
138
214
 
139
215
  ## example.py
140
216
 
141
217
  Un cliente MCP sin dependencias: solo requiere Python 3.9 o posterior y la biblioteca estándar; no
142
- hace falta ejecutar `pip install`.
218
+ hace falta ejecutar `pip install`. Se autentica con un token, porque un script no tiene navegador
219
+ con el que iniciar sesión.
143
220
 
144
221
  ```bash
145
222
  export INSTANTCLIPS_TOKEN="your-token"
@@ -153,9 +230,10 @@ es lo que necesitas antes de automatizar el flujo de trabajo descrito arriba.
153
230
 
154
231
  ## Enlaces
155
232
 
156
- - [instantclips.ai/automate](https://instantclips.ai/automate/) — qué es la automatización y para
157
- qué sirve. No repite la configuración; esa información está en este archivo y en la página de
158
- configuración de la aplicación.
233
+ - [instantclips.ai/automate](https://instantclips.ai/automate/) — para qué sirve la
234
+ automatización: un resultado real hecho a partir de una página de tienda, instrucciones para
235
+ empezar, las herramientas en orden y las reglas. No repite la configuración; esa información está
236
+ en este archivo y en la página de configuración de la aplicación.
159
237
  - [app.instantclips.ai/llms.txt](https://app.instantclips.ai/llms.txt) — descripción del producto y
160
238
  de la secuencia de herramientas en un formato legible por máquinas.
161
239
  - [Términos](https://app.instantclips.ai/terms) · [Privacidad](https://app.instantclips.ai/privacy)
@@ -185,9 +263,12 @@ commit es una clave publicada.
185
263
  `glama.json` es el archivo independiente y específico de Glama que permite reclamar allí la ficha.
186
264
  Un servidor perteneciente a una organización, en lugar de una cuenta personal, solo puede
187
265
  reclamarse si ese archivo está presente.
188
- El archivo solo acredita la propiedad: configura `npm ci` como compilación en Glama, ejecuta
189
- `node bin/instantclips-mcp.js` y proporciona `INSTANTCLIPS_TOKEN` como secreto desde la interfaz de
190
- administración del servidor.
266
+ El archivo solo acredita la propiedad. En el formulario Dockerfile de Glama, usa
267
+ `["npm install --omit=dev"]` como pasos de compilación,
268
+ `["node", "./bin/instantclips-mcp.js"]` como argumentos de CMD y cualquier valor ficticio para el
269
+ marcador obligatorio `INSTANTCLIPS_TOKEN`. Las comprobaciones de inicialización y calidad de Glama
270
+ usan el manifiesto incluido y nunca envían ese valor al servidor alojado. No introduzcas un token
271
+ real de una cuenta en el entorno de compilación de un tercero.
191
272
 
192
273
  ## Licencia
193
274
 
package/README.md CHANGED
@@ -2,43 +2,70 @@
2
2
 
3
3
  **English** · [Español](README.es.md) · [简体中文](README.zh-CN.md)
4
4
 
5
+ [![M8ven Verified](https://m8ven.ai/badge/mcp/instantclips-mcp-1k56q7?variant=verified)](https://m8ven.ai/mcp/instantclips-mcp-1k56q7)
6
+
5
7
  [InstantClips](https://instantclips.ai) turns an e-commerce product into short-form vertical
6
8
  video for TikTok, Instagram Reels and Stories. It runs a hosted **MCP server**, so Claude Code,
7
9
  Codex, Cursor, VS Code, the Claude app, ChatGPT or any other MCP client can do what the web app
8
- does: import a product, draft the creative direction, and render the video.
10
+ does: import a product, draft the plan, and generate the video.
11
+
12
+ **This is not a text-to-video generator.** InstantClips reads the product page — photos, price,
13
+ details — and builds the ad from what is actually there. The plan is written first and shown to
14
+ you; the video follows the plan. That is why it is cheap enough to run across a catalogue, and why
15
+ the result is the product you sell rather than a guess at it.
16
+
17
+ Free to start: the welcome credits cover the first video, and there is no card to enter. After
18
+ that, one-time credit packs, or an Agency membership for anyone running several brands. See
19
+ [pricing](https://instantclips.ai/#pricing).
20
+
21
+ - **Where it fits.** Beside a scheduler (Postiz, Buffer) that posts what comes back. Beside an
22
+ attribution tool that tells you which hook worked. Instead of an editor when you have a product
23
+ page and no footage.
24
+ - **Not for.** Cinematic hero films. A presenter reading your script. Horizontal 4K. Products with
25
+ no page and no photos.
26
+ - **Built for.** Shopify sellers, dropshippers, brands and agencies running social for several
27
+ stores at once.
9
28
 
10
29
  **The product server stays hosted.** This repository contains its connection guide, registry
11
30
  metadata, example HTTP client and a small open-source stdio adapter for clients that cannot connect
12
- to a remote server directly. The adapter only carries MCP messages to the hosted endpoint; the
13
- tool definitions and product implementation remain in one place.
31
+ to a remote server directly. The adapter answers initialization, ping and tool discovery from a
32
+ generated snapshot, then sends authenticated tool calls to the hosted endpoint. The hosted server
33
+ remains the source of truth; the product implementation is not duplicated here.
14
34
 
15
35
  ## Endpoint
16
36
 
17
- | | |
18
- | ---------- | ------------------------------------------ |
19
- | Endpoint | `https://app.instantclips.ai/mcp` |
20
- | Transport | Streamable HTTP, stateless |
21
- | Method | `POST`, JSON-RPC 2.0 |
22
- | Auth | `Authorization: Bearer <token>` |
37
+ | | |
38
+ | ---------- | --------------------------------------------------------------------------------- |
39
+ | Endpoint | `https://app.instantclips.ai/mcp` |
40
+ | Transport | Streamable HTTP, stateless |
41
+ | Method | `POST`, JSON-RPC 2.0 |
42
+ | Auth | Sign in when your client asks (OAuth 2.1), or `Authorization: Bearer <token>` for callers with no browser |
23
43
 
24
- Mint a token at **[app.instantclips.ai/settings#ai-access](https://app.instantclips.ai/settings#ai-access)**.
25
- The token is a handle on your own account: same brands, products, credits and plan limits as the
26
- web app. Signing in creates an account if you do not have one, with free credits to start.
44
+ Paste one address into your assistant and sign in when it asks. That is the whole setup. The
45
+ first time it calls, the server sends you to sign in to InstantClips and approve the assistant;
46
+ there are no keys to copy. Every assistant you approve is listed under **Authorized apps** in
47
+ settings, where you can disconnect it.
27
48
 
28
- Opening the endpoint in a browser returns the setup page rather than a protocol error, with
29
- one-click install buttons that fill your token in for you.
49
+ The connection is to your own account: same brands, products, credits and plan limits as the web
50
+ app. Signing in creates an account if you do not have one, with credits for the first video.
51
+
52
+ Opening the endpoint in a browser returns the [setup page](https://app.instantclips.ai/mcp)
53
+ rather than a protocol error, with one-click install buttons for Cursor and VS Code.
30
54
 
31
55
  ## Install
32
56
 
33
- Connect to the hosted endpoint directly whenever your client supports Streamable HTTP. Use the
34
- stdio adapter below only for clients and automated runners that require a local command.
57
+ Connect to the hosted endpoint directly whenever your client supports Streamable HTTP; it takes
58
+ you through sign-in on first use. Use a token and the stdio adapter (under "No browser?" below)
59
+ only for scripts and automated runners that cannot open a sign-in page.
35
60
 
36
61
  ### Claude Code
37
62
 
38
63
  ```bash
39
- claude mcp add --transport http instantclips https://app.instantclips.ai/mcp --header "Authorization: Bearer YOUR_TOKEN"
64
+ claude mcp add --transport http instantclips https://app.instantclips.ai/mcp
40
65
  ```
41
66
 
67
+ Then run `/mcp` inside Claude Code and choose InstantClips to sign in.
68
+
42
69
  ### Codex
43
70
 
44
71
  Add to `~/.codex/config.toml`, which covers the CLI, the app and the IDE extension together:
@@ -46,16 +73,60 @@ Add to `~/.codex/config.toml`, which covers the CLI, the app and the IDE extensi
46
73
  ```toml
47
74
  [mcp_servers.instantclips]
48
75
  url = "https://app.instantclips.ai/mcp"
76
+ ```
77
+
78
+ Then run `codex mcp login instantclips` to sign in.
79
+
80
+ ### Cursor and VS Code
81
+
82
+ One-click install buttons are on the [setup page](https://app.instantclips.ai/mcp). They open
83
+ the app, add InstantClips, and sign you in on first use.
84
+
85
+ ### Claude app and ChatGPT
86
+
87
+ Claude app: add a custom connector with this address and sign in when it asks. ChatGPT on the
88
+ web: turn on Developer mode under Settings, Apps, Advanced, then add the address as a connector;
89
+ on a Business or Enterprise workspace an admin publishes it as an app for everyone instead. The
90
+ ChatGPT desktop app takes the same address under Settings, MCP servers, and shares it with Codex.
91
+
92
+ ### Any other MCP client or agent
93
+
94
+ OpenClaw, Hermes, or an agent you wrote yourself: point it at the address over Streamable HTTP.
95
+ The server announces its sign-in flow the standard way, so a client that follows the spec needs
96
+ nothing else. Anything that cannot open a sign-in page uses a token instead, below.
97
+
98
+ ### No browser? Use an access token
99
+
100
+ Scripts, CI jobs and agents that cannot open a sign-in page authenticate with a long-lived token
101
+ instead. Mint one at
102
+ **[app.instantclips.ai/settings#ai-access](https://app.instantclips.ai/settings#ai-access)**. It
103
+ gives full access to your account, so keep it out of anything you commit.
104
+
105
+ With a token, the same clients look like this:
106
+
107
+ ```bash
108
+ # Claude Code
109
+ claude mcp add --transport http instantclips https://app.instantclips.ai/mcp --header "Authorization: Bearer YOUR_TOKEN"
110
+ ```
111
+
112
+ ```toml
113
+ # Codex, in ~/.codex/config.toml
114
+ [mcp_servers.instantclips]
115
+ url = "https://app.instantclips.ai/mcp"
49
116
  http_headers = { Authorization = "Bearer YOUR_TOKEN" }
50
117
  ```
51
118
 
52
- To keep the token out of the file, swap the header for `bearer_token_env_var = "INSTANTCLIPS_TOKEN"`
53
- and export it in your shell instead.
119
+ To keep the token out of the Codex file, swap the header for `bearer_token_env_var = "INSTANTCLIPS_TOKEN"`
120
+ and export it in your shell instead. The Claude app takes a token as a request header on the
121
+ connector (request headers are still in beta); ChatGPT connectors sign in through the sign-in flow
122
+ rather than a pasted key. Any other client sends an `Authorization: Bearer` header. Nothing on the
123
+ wire is InstantClips-specific.
54
124
 
55
- ### Stdio-only clients and headless runners
125
+ #### Stdio-only clients and headless runners
56
126
 
57
- The `instantclips-mcp` npm package is a thin stdio-to-HTTPS adapter. It reads the token from the
58
- environment, fixes the upstream endpoint to InstantClips and forwards the protocol unchanged:
127
+ The `instantclips-mcp` npm package is a thin stdio-to-HTTPS adapter. It serves initialization and
128
+ tool discovery locally for a fast, credential-free cold start, then reads the token from the
129
+ environment and sends tool calls to InstantClips:
59
130
 
60
131
  ```json
61
132
  {
@@ -78,25 +149,18 @@ INSTANTCLIPS_TOKEN="your-token" npx -y instantclips-mcp --check --json
78
149
  ```
79
150
 
80
151
  The token is accepted only through `INSTANTCLIPS_TOKEN`, never as a command-line argument, so it
81
- does not appear in the process list. Node.js 20 or newer is required.
152
+ does not appear in the process list. It is required for tool calls, but not for `initialize`,
153
+ `ping`, or `tools/list`. Node.js 20 or newer is required.
82
154
 
83
- ### Cursor and VS Code
155
+ ## Starter prompts
84
156
 
85
- One-click install buttons are on the [setup page](https://app.instantclips.ai/settings#ai-access).
86
- They fill in your token once you have minted one.
87
-
88
- ### Claude app and ChatGPT
157
+ Five to begin with. Swap in a link or a product name.
89
158
 
90
- These connect through their own connector settings rather than a file. Point one at
91
- `https://app.instantclips.ai/mcp` and authenticate with the same token a request header in
92
- Claude, an API key in ChatGPT. Claude's request headers are still in beta, and ChatGPT requires
93
- developer mode; availability there depends on your account and workspace policy.
94
-
95
- ### Anything else
96
-
97
- OpenClaw, Hermes, or an agent you wrote yourself: point it at the URL over streamable HTTP with an
98
- `Authorization: Bearer` header. Nothing on the wire is InstantClips-specific, so a client that
99
- speaks MCP already speaks this.
159
+ 1. "Make a video ad for this product: [URL]"
160
+ 2. "Import every product on this collection page and draft plans for all of them. Don't generate anything yet."
161
+ 3. "Show me the plan for [product] and rewrite the hook to lead with the price."
162
+ 4. "Make three videos for [URL] with three different hooks, so I can test them."
163
+ 5. "Which of my brands is this product for? Then make the video."
100
164
 
101
165
  ## Tools
102
166
 
@@ -104,32 +168,41 @@ The workflow, in order:
104
168
 
105
169
  1. **Import** — `import_product_from_url` for a store page, or `create_product_from_images` when
106
170
  there is no page to read.
107
- 2. **Wait for the draft** — poll `get_product` until the import and the creative direction have
108
- finished.
109
- 3. **Read and steer it** — the direction comes back as text: hook, content focus, format,
110
- execution guidelines, restrictions. `update_video_direction` edits it, `redraft_video_direction`
111
- asks for another angle.
112
- 4. **Render** `generate_video`.
171
+ 2. **Wait for the draft** — poll `get_product` until the import and the plan have finished.
172
+ 3. **Read and steer it** — the plan comes back as text: hook, content focus, format, execution
173
+ guidelines, restrictions. `update_video_direction` edits it, `redraft_video_direction` asks
174
+ for another angle.
175
+ 4. **Generate** `generate_video`, passing `expected_credit_cost`: the cost the user was told, as
176
+ `get_product` reported it. A mismatch is refused without charging.
113
177
  5. **Collect** — poll `get_video` for the finished MP4 and a public share link.
114
178
 
179
+ Another video for the same product is the same flow on that product: editing or redrafting opens the
180
+ next video's draft, and `generate_video` with no draft renders another take of the last plan. A
181
+ generated video itself cannot be changed. Every `get_product` response carries `next_step`: what to
182
+ do now.
183
+
115
184
  Brands work the same way: `list_brands`, `create_brand`, `set_product_brand`. Every video is
116
185
  drafted in a brand's voice, so an import whose storefront matches no existing brand stops and asks
117
186
  rather than guessing.
118
187
 
119
- Each tool's exact parameters are published by the server itself. This repository deliberately does
120
- not restate them — run `python example.py tools` below to print the live schemas, so what you build
121
- against cannot drift from what the server accepts.
188
+ Each tool's exact parameters are published by the hosted server. The generated
189
+ [`manifest/instantclips-mcp.json`](manifest/instantclips-mcp.json) snapshot lets stdio clients and
190
+ registries inspect those same schemas without a credential. Maintainers refresh it with
191
+ `INSTANTCLIPS_TOKEN="..." npm run sync:manifest`; `npm run check:manifest` fails when the committed
192
+ snapshot differs from the live server. Run `python example.py tools` below when you specifically
193
+ want to print the live schemas over HTTP.
122
194
 
123
195
  ## Credits
124
196
 
125
- Importing a product, drafting the creative direction and editing it are all **free**.
126
- `generate_video` is the only tool that spends credits, and it requires your explicit go-ahead — the
127
- tools report the cost first. An agent cannot quietly run up a bill. See
128
- [pricing](https://instantclips.ai/#pricing).
197
+ Importing a product, drafting the plan and editing it are all **free**. `generate_video` is the
198
+ only tool that spends credits, and it requires your explicit go-ahead — the tools report the cost
199
+ first, and `generate_video` takes that number back as `expected_credit_cost`, refusing a launch whose
200
+ cost has changed. An agent cannot quietly run up a bill. See [pricing](https://instantclips.ai/#pricing).
129
201
 
130
202
  ## example.py
131
203
 
132
- A dependency-free MCP client — Python 3.9+, standard library only, no `pip install`.
204
+ A dependency-free MCP client — Python 3.9+, standard library only, no `pip install`. It
205
+ authenticates with a token, since a script has no browser to sign in with.
133
206
 
134
207
  ```bash
135
208
  export INSTANTCLIPS_TOKEN="your-token"
@@ -143,8 +216,9 @@ is what you need before scripting the workflow above.
143
216
 
144
217
  ## Links
145
218
 
146
- - [instantclips.ai/automate](https://instantclips.ai/automate/) — what the automation is and what
147
- it is for. It does not repeat the setup; this file and the app's setup page are where that lives.
219
+ - [instantclips.ai/automate](https://instantclips.ai/automate/) — what the automation is for: a
220
+ real result made from a store page, starter prompts, the tools in order, and the rules. It does
221
+ not repeat the setup; this file and the app's setup page are where that lives.
148
222
  - [app.instantclips.ai/llms.txt](https://app.instantclips.ai/llms.txt) — machine-readable
149
223
  description of the product and the tool sequence
150
224
  - [Terms](https://app.instantclips.ai/terms) · [Privacy](https://app.instantclips.ai/privacy)
@@ -170,8 +244,11 @@ of the repository — `.gitignore` covers `*.pem`, and a committed private key i
170
244
 
171
245
  `glama.json` is the separate, Glama-specific file that claims the listing there. A server under an
172
246
  organisation rather than a personal account can only be claimed with that file present.
173
- It carries ownership only: configure Glama's build as `npm ci`, run
174
- `node bin/instantclips-mcp.js`, and supply `INSTANTCLIPS_TOKEN` as a secret in the server admin UI.
247
+ It carries ownership only. In Glama's Dockerfile form, use build steps
248
+ `["npm install --omit=dev"]`, CMD arguments `["node", "./bin/instantclips-mcp.js"]`, and any dummy
249
+ value for the required `INSTANTCLIPS_TOKEN` placeholder. Glama's initialization and tool-quality
250
+ checks use the bundled manifest and never transmit that placeholder upstream. Do not put a real
251
+ account token into a third-party build sandbox.
175
252
 
176
253
  ## License
177
254