Vercel v0
Genera componentes de interfaz de usuario hermosos usando el sistema de UI generativa v0 de Vercel.
Documentación
v0-mcp
Servidor MCP de Vercel v0 para Claude Code: genera componentes de interfaz de usuario hermosos usando IA a través del Protocolo de Contexto de Modelo.
✨ Desarrollo colaborativo: Este proyecto se construyó mediante una colaboración innovadora entre Claude Code y Gemini CLI utilizando la metodología Vibe Coding, lo que demuestra el poder de los flujos de trabajo de desarrollo asistidos por IA.
🎯 Características
- Generar componentes de interfaz: Crea componentes de React a partir de descripciones en lenguaje natural
- Imagen a interfaz: Convierte imágenes de diseño en código de React funcional
- Iteración basada en chat: Refina componentes de forma iterativa mediante conversación
- Múltiples modelos: Soporte para v0-1.5-md, v0-1.5-lg y v0-1.0-md
- Soporte de TypeScript: Seguridad total de tipos con validación de esquemas Zod
- Soporte de transmisión: Progreso de generación en tiempo real
🚀 Inicio rápido
# 1. Clone and enter the project
git clone <repository-url> && cd v0-mcp
# 2. Install dependencies
npm install
# 3. Create .env file and add your v0 API key
npm run setup
# Edit .env file with your V0_API_KEY
# 4. Build the project
npm run build
# 5. Add to Claude Code (ensure you are in the project root)
claude mcp add v0-mcp --env V0_API_KEY=$(grep V0_API_KEY .env | cut -d '=' -f2) -- node $(pwd)/dist/main.js
# 6. Start using it in Claude Code!
# Try: "Hey v0-mcp, create a login form with email and password fields"
🛠 Instalación
1. Clonar o descargar
git clone <repository-url>
cd v0-mcp
2. Instalar dependencias
npm install
3. Configurar el entorno
npm run setup
# Edit .env file with your v0 API key
4. Compilar el proyecto
npm run build
⚙️ Configuración
🔑 Obtención de tu clave API de v0
Antes de configurar v0-mcp, necesitarás una clave API de v0:
- Visita la documentación de la API del modelo v0
- Inicia sesión en tu cuenta de Vercel
- Navega a la sección de claves API
- Genera una nueva clave API
- Copia y guarda tu clave de forma segura
Integración con Claude Code
📖 Guía de configuración rápida: elige el método que mejor se adapte a ti
Método 1: Configuración mediante CLI (Recomendado)
-
Agrega v0-mcp usando la CLI de Claude Code:
# Navigate to your v0-mcp directory first cd /path/to/your/v0-mcp # Add the MCP server using current directory claude mcp add v0-mcp -- node $(pwd)/dist/main.js -
Establece tu clave API de v0:
Opción A: Agrega la clave durante la configuración de la CLI
# When adding the server, include the API key (run from v0-mcp directory) claude mcp add v0-mcp --env V0_API_KEY=your_v0_api_key_here -- node $(pwd)/dist/main.jsOpción B: Edita el archivo
.claude.jsondespués de la configuraciónDespués de ejecutar el comando
claude mcp add, edita el archivo.claude.jsongenerado:{ "mcpServers": { "v0-mcp": { "type": "stdio", "command": "node", "args": ["/absolute/path/to/your/v0-mcp/dist/main.js"], "env": { "V0_API_KEY": "your_v0_api_key_here" } } } }Opción C: Variable de entorno del sistema (la más segura)
# Add to your shell profile (.bashrc, .zshrc, etc.) echo 'export V0_API_KEY="your_v0_api_key_here"' >> ~/.zshrc # Reload your shell configuration source ~/.zshrc -
Verifica tu configuración:
claude mcp list node scripts/verify-claude-code-setup.js✅ Salida esperada:
Verifying v0 API connection... ✓ v0-mcp server found in Claude configuration ✓ API key is configured ✓ Successfully connected to v0 API Setup is complete! You can now use v0-mcp in Claude Code.
Método 2: Configuración manual (Avanzado)
-
Crea o edita el archivo de configuración de Claude Code:
- macOS/Linux:
~/.claude.json - Windows:
%USERPROFILE%\.claude.json
- macOS/Linux:
-
Agrega la configuración del servidor v0-mcp:
{
"mcpServers": {
"v0-mcp": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/v0-mcp/dist/main.js"],
"env": {
"V0_API_KEY": "your_v0_api_key_here"
}
}
}
}
- Reinicia Claude Code para que los cambios surtan efecto.
Verificación
Después de la configuración, deberías ver las herramientas de v0-mcp disponibles en Claude Code:
- ✅
v0_generate_ui- Genera componentes de interfaz a partir de texto - ✅
v0_generate_from_image- Genera interfaz a partir de referencias de imagen - ✅
v0_chat_complete- Chat de desarrollo de interfaz iterativo - ✅
v0_setup_check- Verifica la conectividad de la API
🔗 ¿Por qué usar MCP (Protocolo de Contexto de Modelo)?
Beneficios de MCP:
- Integración perfecta: Las herramientas aparecen de forma nativa en Claude sin necesidad de gestionar APIs
- Contexto mejorado: Claude comprende tu flujo de trabajo de v0 y brinda mejor asistencia
- Disponibilidad en tiempo real: Las herramientas siempre están accesibles durante tus sesiones de codificación
- Seguridad de tipos: Validación completa de parámetros y manejo de errores integrado
- Estado persistente: Mantiene el contexto de conversación entre llamadas de herramientas
Cómo funciona: Cuando mencionas v0-mcp o generación de interfaz en Claude, las herramientas se vuelven disponibles automáticamente. Claude puede elegir inteligentemente la herramienta adecuada según tu solicitud, haciendo que el proceso de desarrollo se sienta natural e integrado.
Integración con Claude Desktop
Agrega a tu claude_desktop_config.json:
{
"mcpServers": {
"v0-mcp": {
"command": "node",
"args": ["/path/to/v0-mcp/dist/main.js"],
"env": {
"V0_API_KEY": "your_v0_api_key_here"
}
}
}
}
Integración con Cursor
Agrega a tu configuración de MCP de Cursor:
{
"mcpServers": {
"v0-mcp": {
"command": "node",
"args": ["/path/to/v0-mcp/dist/main.js"],
"env": {
"V0_API_KEY": "your_v0_api_key_here"
}
}
}
}
🔧 Herramientas disponibles
v0_generate_ui
Genera componentes de interfaz a partir de descripciones de texto.
Parámetros:
prompt(obligatorio): Descripción del componente de interfazmodel: Modelo de v0 a usar (predeterminado: v0-1.5-md)stream: Habilita la respuesta de transmisión (predeterminado: false)context: Contexto de código existente opcional
v0_generate_from_image
Genera componentes de interfaz a partir de referencias de imagen.
Parámetros:
imageUrl(obligatorio): URL de la imagen de referenciaprompt: Instrucciones adicionalesmodel: Modelo de v0 a usar (predeterminado: v0-1.5-md)
v0_chat_complete
Desarrollo de interfaz basado en chat con contexto de conversación.
Parámetros:
messages(obligatorio): Matriz de mensajes de conversaciónmodel: Modelo de v0 a usar (predeterminado: v0-1.5-md)stream: Habilita la respuesta de transmisión (predeterminado: false)
v0_setup_check
Valida la configuración y conectividad de la API de v0.
🔑 Variables de entorno
| Variable | Obligatoria | Predeterminado | Descripción |
|---|---|---|---|
V0_API_KEY | ✅ | - | Tu clave API de v0 |
V0_BASE_URL | ❌ | https://api.v0.dev/v1 | URL base de la API de v0 |
V0_DEFAULT_MODEL | ❌ | v0-1.5-md | Modelo predeterminado a usar |
V0_TIMEOUT | ❌ | 60000 | Tiempo de espera de la API (ms) |
MCP_SERVER_NAME | ❌ | v0-mcp | Nombre del servidor MCP |
LOG_LEVEL | ❌ | info | Nivel de registro |
🚀 Ejemplos de uso
En Claude Code
Una vez configurado, puedes usar v0-mcp de varias maneras:
Uso directo de v0-mcp
Simplemente menciona v0-mcp en tu solicitud, y Claude seleccionará automáticamente la herramienta adecuada:
Hey v0-mcp, create a modern login form with email and password fields
v0-mcp: Generate a dashboard component with charts and KPI cards
@v0-mcp convert this wireframe to a React component: [image URL]
Uso de herramientas específicas
Generar un formulario de inicio de sesión
Use v0_generate_ui to create a modern login form with email, password fields, and a blue submit button with rounded corners.
Convertir diseño a código
Use v0_generate_from_image with this Figma design URL: https://example.com/design.png
Desarrollo iterativo
Use v0_chat_complete to refine the previous login form by adding a "Remember me" checkbox and "Forgot password" link.
Verificar configuración de la API
Use v0_setup_check to verify your v0 API connection and configuration.
Ejemplos de uso avanzado
Crear un componente de panel de control
Use v0_generate_ui with the following prompt:
"Create a modern dashboard component with a sidebar navigation, header with user profile dropdown, and a main content area with grid layout for cards. Include metrics cards showing KPIs with charts. Use shadcn/ui components and Tailwind CSS."
Construir a partir de un esquema
Use v0_generate_from_image with your wireframe image URL and add:
"Convert this wireframe into a fully functional React component. Add proper spacing, modern styling, and make it responsive for mobile devices."
Refinamiento iterativo
Use v0_chat_complete with conversation history:
[
{"role": "user", "content": "Create a pricing table component"},
{"role": "assistant", "content": "[Previous pricing table code]"},
{"role": "user", "content": "Add a popular plan highlight and annual/monthly toggle"}
]
🧪 Desarrollo
# Development mode with hot reload
npm run dev
# Type checking
npm run lint
# Run tests
npm test
# Test with coverage
npm run test:coverage
# Test in CI mode
npm run test:ci
# Clean build artifacts
npm run clean
# Test configuration
npm run test:config
# Test basic functionality
npm run test:basic
# Verify Claude Code setup
npm run verify:claude-code
🛡️ Características mejoradas
Registro estructurado
- Registro basado en Winston con formato JSON
- Información contextual para llamadas de API y uso de herramientas
- Seguimiento de errores con seguimientos de pila y metadatos
- Niveles de registro configurables mediante la variable de entorno
LOG_LEVEL
Manejo avanzado de errores
- Tipos de error categorizados (API, Red, Tiempo de espera, Límite de velocidad, etc.)
- Lógica de reintento con retroceso exponencial para errores transitorios
- Mensajes de error fáciles de usar con orientación práctica
- Metadatos completos de errores para depuración
Infraestructura de pruebas
- Marco de pruebas Jest con soporte de TypeScript
- Pruebas unitarias completas para todos los componentes principales
- Informes de cobertura de pruebas con umbrales configurables
- Implementaciones simuladas para dependencias externas
Fiabilidad mejorada
- Validación de entrada mediante esquemas Zod
- Manejo elegante de errores para todos los modos de fallo
- Monitoreo de rendimiento con medición de tiempo de solicitudes
- Verificaciones de salud para la conectividad de la API
💖 Apoya este proyecto
Si encuentras útil este proyecto, considera apoyarlo:
¡Tu apoyo ayuda a mantener y mejorar v0-mcp!
📄 Licencia
MIT