Enhanced QR Code MCP Server

Genera códigos QR con metadatos, procesamiento por lotes y herramientas de gestión de archivos.

Documentación

Servidor MCP de Códigos QR Mejorado

License: MIT Python 3.8+ MCP Compatible

Un servidor avanzado de Protocolo de Contexto de Modelo (MCP) que genera códigos QR y los guarda automáticamente como archivos PNG con metadatos completos, capacidades de procesamiento por lotes y herramientas de gestión de archivos.

🔗 Estrategia de Implementación Dual
Esta implementación en Python se centra en la generación confiable de archivos y el procesamiento por lotes.
Para estilos avanzados, análisis y plantillas, consulte nuestra implementación en TypeScript.

Construido sobre y mejorado desde: @jwalsh/mcp-server-qrcode

Esta versión mejorada añade generación automática de archivos, seguimiento de metadatos, procesamiento por lotes y funciones listas para producción, manteniendo total compatibilidad con el protocolo MCP.

🚀 Mejoras Clave Sobre el Original

CaracterísticaMCP OriginalMCP Python MejoradoMCP TypeScript Mejorado
Salida de Archivo PNG❌ Solo visualización en chat✅ Guardado automático de archivos PNG✅ Múltiples formatos (PNG, SVG, PDF)
Gestión de Directorios❌ Ninguna✅ Directorios de salida personalizados✅ Rutas configurables
Seguimiento de Metadatos❌ Ninguno✅ Archivos de metadatos JSON✅ Metadatos completos
Procesamiento por Lotes❌ Uno a la vez✅ Múltiples códigos QR por llamada✅ Funciones avanzadas de lotes
Organización de Archivos❌ Ninguna✅ Gestión estructurada de archivos✅ Organización basada en plantillas
Nombres de Archivo Personalizados❌ Ninguno✅ Nombres definidos por el usuario✅ Patrones de nombres inteligentes
Listo para Producción❌ Básico✅ Suite de pruebas completa y documentación✅ Funciones empresariales
Estilos Avanzados❌ Ninguno🔄 Planificado (ver ROADMAP)✅ Motor de estilos completo
Análisis de QR❌ Ninguno🔄 Planificado (ver ROADMAP)✅ Decodificación y análisis de calidad
Plantillas❌ Ninguna🔄 Planificado (ver ROADMAP)✅ Plantillas predefinidas

🛠️ Instalación

Requisitos Previos

  • Python 3.8+
  • Cliente MCP (Claude Desktop, extensión de VS Code, etc.)

Configuración Rápida

git clone https://github.com/myownipgit/enhanced-qrcode-mcp.git
cd enhanced-qrcode-mcp
chmod +x setup.sh
./setup.sh

Configuración Manual

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Make server executable
chmod +x src/enhanced_qrcode_server.py

🔧 Configuración del Cliente MCP

Añada a la configuración de su cliente MCP:

{
  "mcpServers": {
    "enhanced-qrcode": {
      "command": "python3",
      "args": ["/path/to/enhanced-qrcode-mcp/src/enhanced_qrcode_server.py"],
      "env": {},
      "description": "Enhanced QR code generator with automatic PNG file saving"
    }
  }
}

📚 Herramientas Disponibles

1. generate_and_save_qrcode

Genera un código QR individual y lo guarda automáticamente como archivo PNG.

Parámetros:

  • content (obligatorio): Contenido de texto a codificar
  • output_directory: Directorio de destino (predeterminado: ./qr_output/)
  • filename: Nombre de archivo personalizado (se genera automáticamente si está vacío)
  • errorCorrectionLevel: L, M, Q o H (predeterminado: M)
  • size: Multiplicador de tamaño 1-20 (predeterminado: 5)
  • border: Tamaño del borde 1-20 (predeterminado: 4)
  • include_metadata: Generar metadatos JSON (predeterminado: true)
  • display_in_chat: Mostrar en la interfaz de chat (predeterminado: true)

Ejemplo:

{
  "content": "https://github.com/myownipgit/enhanced-qrcode-mcp",
  "output_directory": "./qr_codes/",
  "filename": "github_repo",
  "errorCorrectionLevel": "H",
  "size": 6
}

Salida:

  • Archivo PNG: github_repo.png
  • Metadatos: github_repo_metadata.json
  • Visualización en chat (opcional)

2. batch_generate_qrcodes

Genera múltiples códigos QR a partir de una entrada de matriz.

Ejemplo:

{
  "qr_codes": [
    {
      "id": "contact",
      "content": "BEGIN:VCARD\nVERSION:3.0\nFN:John Doe\nORG:Acme Corp\nTEL:555-0123\nEMAIL:john@acme.com\nEND:VCARD",
      "type": "vcard"
    },
    {
      "id": "website", 
      "content": "https://example.com",
      "type": "url"
    }
  ],
  "output_directory": "./batch_output/",
  "size": 5
}

Salida:

  • Archivos PNG: qr_contact.png, qr_website.png
  • Archivos de metadatos individuales
  • Manifiesto del lote: batch_manifest_YYYYMMDD_HHMMSS.json

3. list_generated_qrcodes

Lista todos los archivos de códigos QR en un directorio con metadatos.

{
  "directory": "./qr_output/"
}

📁 Estructura de Archivos

Archivos Generados

output_directory/
├── qr_20250616_143022_hello_world.png
├── qr_20250616_143022_hello_world_metadata.json
├── github_repo.png
├── github_repo_metadata.json
└── batch_manifest_20250616_143500.json

Formato de Metadatos

{
  "generated_date": "2025-06-16T14:30:22.123456",
  "content": "Hello World!",
  "parameters": {
    "error_correction": "M",
    "size": 5,
    "border": 4,
    "box_size": 10
  },
  "png_file": "/path/to/qr_file.png",
  "file_size_bytes": 1117
}

🎯 Casos de Uso

Aplicaciones Empresariales

  • Gestión de Eventos: Genere códigos QR para boletos como archivos PNG listos para imprimir
  • Marketing: Cree códigos QR para campañas con metadatos de seguimiento
  • Inventario: Genere etiquetas de activos con organización automática de archivos
  • Compartir Contactos: Cree códigos QR vCard por lotes para tarjetas de presentación

Integración Técnica

  • Producción de Impresión: Salida PNG directa para flujos de trabajo de diseño
  • Flujos de Trabajo API: Genere códigos QR por lotes desde registros de bases de datos
  • Gestión de Activos: Estructura de archivos organizada con metadatos
  • Control de Calidad: Niveles de corrección de errores para diferentes entornos

🧪 Pruebas

Ejecute la suite de pruebas completa:

# Activate virtual environment
source venv/bin/activate

# Run tests
python3 tests/test_server.py

Salida Esperada:

🚀 Running Enhanced QR Code MCP Server Tests
✅ QR code generation successful
✅ Filename generation tests passed  
✅ File operations tests passed
✅ Integration test passed - 3 files generated
📊 Test Results: 4/4 passed
🎉 All tests passed! Enhanced MCP server is ready to use.

📈 Rendimiento

  • Código QR individual: ~50ms de generación + guardado de archivo
  • Procesamiento por lotes: ~100ms por código + manifiesto
  • Generación de metadatos: ~5ms por archivo
  • Listado de archivos: ~10ms por 100 archivos

🔍 Niveles de Corrección de Errores

  • L (Bajo): ~7% de recuperación de daños - uso básico en interiores
  • M (Medio): ~15% de recuperación de daños - uso estándar (predeterminado)
  • Q (Cuartil): ~25% de recuperación de daños - entornos industriales
  • H (Alto): ~30% de recuperación de daños - superficies exteriores/dañadas

🚀 Mejoras Futuras

Consulte nuestro completo ROADMAP.md para planes de desarrollo detallados, incluyendo:

🔄 Próximamente (v2.1.0)

  • Constructores de contenido estructurado para vCard, WiFi y eventos
  • Formatos de salida SVG y PDF
  • Validación mejorada y optimización de contenido

🎨 Funciones Avanzadas (Disponibles en la Versión TypeScript)

Nuestra implementación en TypeScript ya incluye:

  • Estilos personalizados con colores, logotipos y degradados
  • Análisis de códigos QR y capacidades de decodificación
  • Sistema de plantillas con estilos predefinidos
  • Herramientas de evaluación de calidad con recomendaciones

🔗 Elegir la Implementación Correcta

Caso de UsoVersión Recomendada
Generación de archivos y procesamiento por lotes🐍 Versión Python (este repositorio)
Estilos avanzados y personalización🟨 Versión TypeScript
Análisis y decodificación de códigos QR🟨 Versión TypeScript
Flujos de trabajo de archivos en producción🐍 Versión Python (este repositorio)
Generación basada en plantillas🟨 Versión TypeScript
Seguimiento de metadatos y organización🐍 Versión Python (este repositorio)

🐛 Solución de Problemas

Problemas Comunes

ModuleNotFoundError: No module named 'mcp'

pip install mcp

Permiso denegado en setup.sh

chmod +x setup.sh

El código QR no se guarda

  • Verifique los permisos del directorio
  • Confirme que la ruta de salida existe
  • Compruebe el espacio en disco

Pruebas del Servidor

# Test dependencies
python3 -c "import qrcode, mcp; print('✅ Dependencies OK')"

# Test server startup
python3 src/enhanced_qrcode_server.py

🤝 Contribuciones

¡Las contribuciones son bienvenidas! Consulte CONTRIBUTING.md para las pautas.

Configuración de Desarrollo

git clone https://github.com/myownipgit/enhanced-qrcode-mcp.git
cd enhanced-qrcode-mcp
./setup.sh
source venv/bin/activate
python3 tests/test_server.py

📄 Licencia

Licencia MIT - consulte el archivo LICENSE para más detalles.

🙏 Agradecimientos

🔗 Proyectos Relacionados

📊 Estadísticas del Repositorio

  • Lenguaje: Python 3.8+
  • Dependencias: MCP, qrcode, Pillow
  • Cobertura de Pruebas: 100% (4/4 pruebas aprobadas)
  • Documentación: Completa con ejemplos
  • Licencia: MIT

Servidor MCP de Códigos QR Mejorado v2.0.0
Generación de códigos QR lista para producción con salida automática de archivos PNG y metadatos completos

Construido con ❤️ sobre la excelente base de @jwalsh/mcp-server-qrcode