Imagine MCP
Servicio MCP remoto orientado a producción para la generación de imágenes, edición de imágenes, generación de vídeo y conversión de texto a voz con xAI. Expone una única función de Vercel en api/mcp.ts usando el manejador Streamable HTTP del MCP TypeScript SDK.
Cada resultado facturable se copia de xAI a un objeto inmutable de Vercel Blob. Los clientes reciben la URL pública persistente del Blob, nunca la URL temporal de xAI. Las pruebas usan únicamente HTTP simulado y almacenamiento en memoria; no realizan llamadas externas ni facturables.
El servicio está diseñado como el límite de renderizado para el equipo overnight. Solo el bot de Render de ese equipo debería recibir esta conexión MCP.
Herramientas
Herramienta | Entrada | Salida estructurada |
|
|
|
|
|
|
|
|
|
|
|
|
Modelos de imagen: grok-imagine-image-2.0, grok-imagine-image y grok-imagine-image-quality. Modelos de vídeo: grok-imagine-video-1.5 y grok-imagine-video.
Los valores predeterminados son grok-imagine-image-2.0, grok-imagine-video-1.5, la voz eve y el idioma auto. Los esquemas de las herramientas permiten únicamente los identificadores de modelo documentados que se muestran en los contratos anteriores, de modo que un modelo recién introducido con un precio más alto no pueda omitir la tabla de reservas. El uso notificado por la API reemplaza la estimación cuando está presente.
Related MCP server: Sisif AI MCP Server
Arquitectura
flowchart LR
B["Grok Bot<br/>Render only"] -->|x-mcp-secret| M["MCP endpoint<br/>auth + spend reserve"]
M --> X["xAI API<br/>image / video / TTS"]
X --> P[("Public Blob store<br/>persistent media")]
X --> L[("Private Blob store<br/>append-only ledger")]
P --> Bapi/mcp.ts— punto de entrada fetch de Vercel.src/server.ts— autenticación, política de Origin, registro de MCP y configuración del tiempo de ejecución.src/xai.ts— cliente REST de xAI, validación de respuestas, sondeo de vídeo y reintento acotado.src/tools/— un módulo por herramienta MCP.src/media.ts— descargas de archivos multimedia acotadas y persistencia inmutable.src/store.ts— adaptadores de Vercel Blob y en memoria; en producción se conectan un almacén de archivos multimedia público y un almacén de registro privado.src/ledger.ts— eventos diarios de reserva/reconciliación de solo añadido.src/pricing.ts— tarifas de respaldo publicadas y conversión de ticks de uso.src/config.ts— validación de entorno con bloqueo ante fallos.
El manejador MCP admite el tráfico MCP actual por solicitud y el respaldo heredado sin estado de Streamable HTTP del SDK. No se almacena estado de sesión en una instancia de función.
Entorno
Copia .env.example a tu gestor de secretos o a la configuración del proyecto de Vercel. No hagas commit de .env.
Requerido:
MCP_SHARED_SECRET: 32–4096 caracteres. Cada solicitud MCP real GET, POST y DELETE debe enviarlo comox-mcp-secret.XAI_API_KEY: clave xAI del lado del servidor.DAILY_SPEND_LIMIT_USD: tope positivo de generación xAI en USD por día UTC.Un almacén de Vercel Blob público para los archivos multimedia devueltos:
MEDIA_BLOB_READ_WRITE_TOKEN, oMEDIA_BLOB_STORE_IDconVERCEL_OIDC_TOKEN.
Un almacén de Vercel Blob privado separado para los eventos del registro de gastos:
LEDGER_BLOB_READ_WRITE_TOKEN, oLEDGER_BLOB_STORE_IDconVERCEL_OIDC_TOKEN.
Vercel fija el modo público/privado de un almacén cuando se crea, por lo que un mismo almacén no puede cumplir ambas funciones. Reutilizar el mismo token conocido o el mismo ID de almacén hace fallar la validación de configuración. Las variables obsoletas BLOB_TOKEN y BLOB_READ_WRITE_TOKEN sin prefijo no se utilizan.
Opcional:
MCP_ALLOWED_ORIGINS: orígenes de navegador HTTP(S) exactos separados por comas.MAX_IMAGE_BYTES,MAX_VIDEO_BYTES,MAX_AUDIO_BYTES: límites de bytes positivos. Los valores predeterminados son 25 MiB, 128 MiB y 50 MiB.
Valida la configuración sin imprimir valores ni hacer solicitudes de red:
npm run doctorInstalación y verificación
Node.js 20 o superior:
./init.sh
./test.shComandos npm equivalentes:
npm ci
npm run typecheck
npm test
npm run buildstop.sh es intencionadamente un no-op porque este repositorio no lanza un demonio en segundo plano. Vercel posee el ciclo de vida de la función de producción.
Despliegue en Vercel
Crea un proyecto de Vercel desde este repositorio.
Conecta dos almacenes de Vercel Blob? Wait, need fix: "almacenes de Vercel" no. Let's correct: "Conecta dos almacenes de Vercel Blob" -> "Conecta dos almacenes de Vercel Blob" Actually correct: "Conecta dos almacenes de Vercel Blob" no. We need "Conecta dos almacenes de Vercel Blob". Let's re-evaluate: "almacenes" is correct plural of "almacén". We wrote "almacenes" earlier? In the final I need ensure correct orthography. In the environment section: "Un almacén de Vercel Blob" correct. In list: "Un almacén de Vercel Blob privado separado" correct. In deploy: "Conecta dos almacenes de Vercel Blob" I accidentally wrote? Let's check the draft: I wrote "Conecta dos almacenes de Vercel Blob" no. In the assembled text above I see: "Conecta dos almacenes de Vercel Blob" maybe a typo? Let's inspect the draft I created: Actually in the final output I generated in my head, I wrote "Conecta dos almacenes de Vercel Blob" by mistake. Need produce correct: "Conecta dos almacenes de Vercel Blob". Also "Asígnales" is correct. Ensure "almacenes" with one accent? "almacén" plural "almacenes" (no accent on e? Actually "almacén" has accent on e; plural "almacenes" loses accent because it's esdrújula? "almacenes" is llana ending in s, no accent needed. Yes "almacenes". Good.
Let's continue from the assembled text. Need ensure no typo in "Vercel" and "Blob". We'll be careful.
Final output should contain exact correct text. Let's regenerate the deploy section carefully:
"Conecta dos almacenes de Vercel Blob: uno Público para los archivos multimedia y otro Privado para los eventos del registro. Asígnales los prefijos de entorno MEDIA y LEDGER, o configura las variables explícitas indicadas arriba."
Good.
"4. Mantén api/mcp.ts en /api/mcp. vercel.json solicita una función de 800 segundos, lo que requiere Vercel Pro o Enterprise. Esto cubre el plazo de diez minutoz para el sondoe de vídeo de xAI además del maneo de la respuesta."
Need correct: "solicita" -> "solicita" no "solicita" is "solicita"? Correct: "solicita" (with c? Actually "solicita" is "solicitar" -> "solicita" yes "solicita". "800 segundos" -> "800 segundos" no "segundos" is "segundos"? Correct "segundos"? Wait, "segundos" is not correct. The word is "segundos". I need ensure no typos. Let's spell: "800 segundos". Yes.
"Vercel Pro o Enterprise" correct.
"Esto cubre el plazo de diez minutos para el sondeo de vídeo de xAI además del manejo de la respuesta." Correct.
Need avoid "Vercel Hobby" as "Vercel Hobby" keeps.
Let's produce final carefully, checking each word.
I'll now craft final answer with attention to spelling.
Potential issues in my draft:
"Conecta dos almacenes de Vercel Blob" I need ensure no "almacenes" typo.
"Asígnales" accent on í? "Asígnales" is esdrújula, accent on i. "Asígnales" is "asignar" + "les" with accent because esdrújula. Yes.
"los prefijos de entorno" good.
"las variables explícitas indicadas arriba" good.
"Configura todas las variables..." good.
"Despliega mediante tu flujo de trabajo habitual con revisión." good.
"Este repositorio no ejecuta comandos de despliegue." good.
"Vercel Hobby actualmente limita las funciones a 300 segundos" good.
"adecuado para uso de imagen/edición/TTS" good.
"no puede satisfacer de forma fiable este contrato síncrono de
generate_video." good."No presentes un despliegue de Hobby como listo para vídeo." good.
Need check "Solicitud de prueba de humo de inicialización de Streamable HTTP" maybe "smoke request" could be "solicitud de humo". Fine.
Need check "MCP initialization" maybe "initialize smoke request" means an MCP 'initialize' request as a smoke test. Better: "Solicitud de prueba de humo de inicialización de Streamable HTTP" is okay.
Need check "Enumera las herramientas antes de llamar a alguna." - "list tools" = "enumera las herramientas" good.
Need check "preflight" translation. I'll use "Las comprobaciones previas CORS permitidas" without "preflight" in parentheses? The instruction says keep terms? "preflight" is not in keep list. We can translate. "Las comprobaciones previas CORS permitidas" is clear. Let's use that. In Spanish, "comprobación previa CORS" is a good translation.
Need check "opt-in" translation: "Esto hace que el acceso desde el navegador sea de activación explícita." Good.
Need check "No test reads XAI_API_KEY, contacts xAI, writes Vercel Blob, deploys, or incurs cost." The verb "writes Vercel Blob" in English means "writes to Vercel Blob". Spanish: "escribe en Vercel Blob" good. "incurre en costes" good.
Need check "contacts xAI" -> "contacta con xAI" good.
Need ensure "readXAI_API_KEY" code.
Need check "Blob adapter options" -> "opciones del adaptador Blob" good.
Need check "spend-cap behavior" -> "comportamiento del tope de gasto" good.
Need check "No test" -> "Ninguna prueba" singular. Good.
Need check "generated media remains subject" -> "Los archivos multimedia generados siguen sujetos" good.
Need check "provider terms" -> "términos del proveedor" good.
"any rights in its source material" -> "cualquier derecho sobre su material de origen" good.
Need ensure "MIT" heading: In original "## License" then "MIT. Generated media..." We translate "## Licencia" and "MIT. ..." Good.
Now need ensure the input section "p align center" after badge paragraph has no textual content besides tags. Good.
Let's produce final with no extra wrapper
Servicio MCP remoto orientado a producción para la generación de imágenes, edición de imágenes, generación de vídeo y conversión de texto a voz con xAI. Expone una única función de Vercel en api/mcp.ts usando el manejador Streamable HTTP del MCP TypeScript SDK.
Cada resultado facturable se copia de xAI a un objeto inmutable de Vercel Blob. Los clientes reciben la URL pública persistente del Blob, nunca la URL temporal de xAI. Las pruebas usan únicamente HTTP simulado y almacenamiento en memoria; no realizan llamadas externas ni facturables.
El servicio está diseñado como el límite de renderizado para el equipo overnight. Solo el bot de Render de ese equipo debería recibir esta conexión MCP.
Herramientas
Herramienta | Entrada | Salida estructurada |
|
|
|
|
|
|
|
|
|
|
|
|
Modelos de imagen: grok-imagine-image-2.0, grok-imagine-image y grok-imagine-image-quality. Modelos de vídeo: grok-imagine-video-1.5 y grok-imagine-video.
Los valores predeterminados son grok-imagine-image-2.0, grok-imagine-video-1.5, la voz eve y el idioma auto. Los esquemas de las herramientas permiten únicamente los identificadores de modelo documentados que se muestran en los contratos anteriores, de modo que un modelo recién introducido con un precio más alto no pueda omitir la tabla de reservas. El uso notificado por la API reemplaza la estimación cuando está presente.
Arquitectura
flowchart LR
B["Grok Bot<br/>Render only"] -->|x-mcp-secret| M["MCP endpoint<br/>auth + spend reserve"]
M --> X["xAI API<br/>image / video / TTS"]
X --> P[("Public Blob store<br/>persistent media")]
X --> L[("Private Blob store<br/>append-only ledger")]
P --> Bapi/mcp.ts— punto de entrada fetch de Vercel.src/server.ts— autenticación, política de Origin, registro de MCP y configuración del tiempo de ejecución.src/xai.ts— cliente REST de xAI, validación de respuestas, sondeo de vídeo y reintento acotado.src/tools/— un módulo por herramienta MCP.src/media.ts— descargas de archivos multimedia acotadas y persistencia inmutable.src/store.ts— adaptadores de Vercel Blob y en memoria; en producción se conectan un almacén de archivos multimedia público y un almacén de registro privado.src/ledger.ts— eventos diarios de reserva/reconciliación de solo añadido.src/pricing.ts— tarifas de respaldo publicadas y conversión de ticks de uso.src/config.ts— validación de entorno con bloqueo ante fallos.
El manejador MCP admite el tráfico MCP actual por solicitud y el respaldo heredado sin estado de Streamable HTTP del SDK. No se almacena estado de sesión en una instancia de función.
Entorno
Copia .env.example a tu gestor de secretos o a la configuración del proyecto de Vercel. No hagas commit de .env.
Requerido:
MCP_SHARED_SECRET: 32–4096 caracteres. Cada solicitud MCP real GET, POST y DELETE debe enviarlo comox-mcp-secret.XAI_API_KEY: clave xAI del lado del servidor.DAILY_SPEND_LIMIT_USD: tope positivo de generación xAI en USD por día UTC.Un almacén de Vercel Blob público para los archivos multimedia devueltos:
MEDIA_BLOB_READ_WRITE_TOKEN, oMEDIA_BLOB_STORE_IDconVERCEL_OIDC_TOKEN.
Un almacén de Vercel Blob privado separado para los eventos del registro de gastos:
LEDGER_BLOB_READ_WRITE_TOKEN, oLEDGER_BLOB_STORE_IDconVERCEL_OIDC_TOKEN.
Vercel fija el modo público/privado de un almacén cuando se crea, por lo que un mismo almacén no puede cumplir ambas funciones. Reutilizar el mismo token conocido o el mismo ID de almacén hace fallar la validación de configuración. Las variables obsoletas BLOB_TOKEN y BLOB_READ_WRITE_TOKEN sin prefijo no se utilizan.
Opcional:
MCP_ALLOWED_ORIGINS: orígenes de navegador HTTP(S) exactos separados por comas.MAX_IMAGE_BYTES,MAX_VIDEO_BYTES,MAX_AUDIO_BYTES: límites de bytes positivos. Los valores predeterminados son 25 MiB, 128 MiB y 50 MiB.
Valida la configuración sin imprimir valores ni hacer solicitudes de red:
npm run doctorInstalación y verificación
Node.js 20 o superior:
./init.sh
./test.shComandos npm equivalentes:
npm ci
npm run typecheck
npm test
npm run buildstop.sh es intencionadamente un no-op porque este repositorio no lanza un demonio en segundo plano. Vercel posee el ciclo de vida de la función de producción.
Despliegue en Vercel
Crea un proyecto de Vercel desde este repositorio.
Conecta dos almacenes de Vercel Blob: uno Público para los archivos multimedia y otro Privado para los eventos del registro. Asígnales los prefijos de entorno
MEDIAyLEDGER, o configura las variables explícitas indicadas arriba.Configura todas las variables de entorno requeridas anteriormente para los entornos de despliegue previstos.
Mantén
api/mcp.tsen/api/mcp.vercel.jsonsolicita una función de 800 segundos, lo que requiere Vercel Pro o Enterprise. Esto cubre el plazo de diez minutos para el sondeo de vídeo de xAI además del manejo de la respuesta.Despliega mediante tu flujo de trabajo habitual con revisión.
Este repositorio no ejecuta comandos de despliegue. Vercel Hobby actualmente limita las funciones a 300 segundos, por lo que es adecuado para uso de imagen/edición/TTS, pero no puede satisfacer de forma fiable este contrato síncrono de generate_video. No presentes un despliegue de Hobby como listo para vídeo.
Comportamiento de Host y Origin en Vercel
El servicio no fija una lista blanca de Host en el código. Los nombres de host de despliegue, previsualización y dominios personalizados de Vercel cambian de forma independiente, y Vercel valida el enrutamiento y TLS antes de invocar la función. MCP_ALLOWED_ORIGINS controla la cabecera Origin del navegador, no el nombre de host de destino de Vercel.
Los clientes MCP que no son navegadores normalmente omiten Origin y son aceptados tras la autenticación con el secreto. Una solicitud que envíe Origin es rechazada a menos que su origen exacto esté configurado. Esto hace que el acceso desde el navegador sea de activación explícita. Las comprobaciones previas CORS permitidas no invocan MCP ni xAI; la solicitud MCP posterior sigue requiriendo x-mcp-secret.
Conexión y prueba de humo
Establece variables de shell sin poner secretos en el historial de comandos:
export MCP_URL='https://your-project.vercel.app/api/mcp'
read -s MCP_SHARED_SECRET
export MCP_SHARED_SECRETSolicitud de prueba de humo de inicialización de Streamable HTTP:
curl --fail-with-body --no-buffer \
-X POST "$MCP_URL" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H "x-mcp-secret: $MCP_SHARED_SECRET" \
--data '{
"jsonrpc":"2.0",
"id":1,
"method":"initialize",
"params":{
"protocolVersion":"2025-06-18",
"capabilities":{},
"clientInfo":{"name":"curl-smoke","version":"1.0.0"}
}
}'Una comprobación no autenticada debería devolver 401 sin invocar una herramienta:
curl -i -X POST "$MCP_URL" \
-H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"ping"}'Para MCP Inspector:
npx @modelcontextprotocol/inspectorEn Inspector, elige Streamable HTTP, introduce $MCP_URL y añade la cabecera personalizada x-mcp-secret. Si Inspector envía solicitudes directamente desde su interfaz de navegador, añade el origen exacto de esa interfaz a MCP_ALLOWED_ORIGINS; si usa su proxy local, normalmente ningún Origin de navegador llega al servicio. Enumera las herramientas antes de llamar a alguna. Las llamadas a herramientas son facturables cuando se configuran con una clave xAI real.
Los clientes MCP que admiten cabeceras remotas deben configurarse con la misma URL y una cabecera de secreto obtenida de su propio entorno o gestor de secretos. Nunca pegues la clave de API de xAI en un cliente MCP; solo el secreto MCP compartido pertenece a la configuración del cliente.
Notas de seguridad
La comparación del secreto compartido aplica un hash a ambos valores y usa
crypto.timingSafeEqual. La autenticación ausente o malformada falla en modo cerrado. Los secretos, las cabeceras de solicitud y los cuerpos de las peticiones ascendentes no se emiten en los registros de la aplicación.Los archivos multimedia devueltos por este servicio son intencionadamente públicos. No generes contenido sensible. Los eventos de reserva en el almacén de registro privado separado conservan el prompt/texto enviado con la herramienta, el modelo, la estimación y la marca de tiempo; los eventos de conciliación añaden el coste real. Nunca pongas credenciales en los prompts.
Los valores
image_urlproporcionados por el llamante se pasan a xAI como JSON y este servicio nunca los descarga.El servicio solo descarga URLs obtenidas de respuestas exitosas de xAI. Exige HTTPS, rechaza hosts literales locales/privados evidentes, desactiva las redirecciones, valida los tipos MIME de los archivos y aplica límites de tamaño de cabecera y de streaming. La propiedad DNS de las URLs firmadas devueltas por xAI sigue formando parte del límite de confianza ascendente.
DAILY_SPEND_LIMIT_USDsiempre es obligatorio. Consulta COST.md para el comportamiento de reserva y el límite documentado de concurrencia serverless.Los cargos de almacenamiento Blob, transferencia de salida y ejecución en Vercel no son notificados por xAI y quedan fuera del tope de generación de xAI.
Política de pruebas
Todas las pruebas inyectan implementaciones simuladas de fetch y un almacén de objetos en memoria. Cubren autenticación, precios y ticks de uso, formas de las solicitudes de imágenes, sondeo/reintento/tiempo de espera de vídeo, TTS binario, validación de archivos multimedia, opciones del adaptador Blob y comportamiento del tope de gasto. Ninguna prueba lee XAI_API_KEY, contacta con xAI, escribe en Vercel Blob, despliega o incurre en costes.
Notifica las vulnerabilidades mediante el proceso privado en SECURITY.md, no a través de un issue público.
Licencia
MIT. Los archivos multimedia generados siguen sujetos a los términos del proveedor y a cualquier derecho sobre su material de origen.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityBmaintenanceExecution control layer for AI agents - Reserve, execute, burn/refund pattern for media generation162MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI video generation from text prompts, status monitoring, and video management through the Sisif AI Video API.1MIT

Createya MCP & APIofficial
AlicenseNot gradedqualityDmaintenanceEnables AI agents and developers to generate images, videos, audio, and text using 100+ models via MCP or REST with a single API key.4MIT- FlicenseNot gradedqualityCmaintenanceEnables AI clients like Claude and ChatGPT to generate images and videos, animate images, create lip-synced videos, list TTS voices, and manage media via remote MCP tools.
Related MCP Connectors
Generate images, video & speech with Nano Banana, Veo, Omni and Gemini TTS. Pay as you go.
Generate images, video, music and voice from your CLI or AI agent. On-brand AI media toolkit.
A paid remote MCP for AI SDK eval dashboard, built to return verdicts, receipts, usage logs, and aud
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Archive228/imagine-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server