Issuebage MCP Server
oficialplataforma de emisión de insignias digitales
¿Qué puedes hacer con Issuebage MCP?
- Validar una clave de API — Verificar si una clave de API de IssueBadge es válida usando
validate_key. - Listar todas las insignias — Recuperar las plantillas de insignias disponibles para tu organización con
get_all_badges, limitando opcionalmente la cantidad. - Crear una plantilla de insignia — Definir una nueva insignia con un nombre, descripción y campos personalizados mediante
create_badge. - Emitir una insignia a un destinatario — Otorgar una insignia existente a una persona por nombre y correo electrónico, con metadatos opcionales, usando
issue_badge.
Documentación
Servidor MCP IssueBadge
Un servidor del Protocolo de Contexto de Modelo (MCP) para interactuar con la API de IssueBadge. Este servidor permite a asistentes de IA como Claude y ChatGPT gestionar insignias y certificados digitales usando lenguaje natural.
🌟 Características
- 🤖 Gestión de Insignias Potenciada por IA: Usa lenguaje natural para crear, emitir y gestionar insignias
- 🔐 Autenticación Dual: Soporte para Laravel Sanctum y OAuth2
- 🏆 Ciclo de Vida Completo de la Insignia: Crea plantillas, emite a destinatarios y verifica autenticidad
- 📊 Soporte Multi-tenant: Aislamiento seguro de inquilinos para uso empresarial
- 🛡️ Protección de Idempotencia: Previene operaciones duplicadas con salvaguardas integradas
- 📧 Notificaciones Automatizadas: Envío automático de correos electrónicos con URLs de verificación
- 🎨 Campos Personalizados: Soporte flexible para metadatos y campos personalizados
🚀 Inicio Rápido
Prerrequisitos
- Node.js 18+
- npm 8+
- Cuenta de API IssueBadge con clave API
Instalación
-
Clona el repositorio
git clone https://github.com/issuebadge/mcp-server.git cd mcp-server -
Instala las dependencias
npm install -
Configura el entorno
cp .env.example .env # Edit .env with your IssueBadge API credentials -
Construye el proyecto
npm run build -
Prueba el servidor
npm test
⚙️ Configuración
Crea un archivo .env basado en .env.example:
# API Configuration
ISSUEBADGE_BASE_URL=https://app.issuebadge.com/api/v1
ISSUEBADGE_API_KEY=
# OAuth2 Configuration (Alternative)
ISSUEBADGE_OAUTH_URL=https://app.issuebadge.com/api/v1/oauth
ISSUEBADGE_OAUTH_TOKEN=your_oauth_token_here
# Authentication Method (sanctum or oauth2)
AUTH_METHOD=sanctum
# Server Configuration
MCP_SERVER_NAME=IssueBadge MCP Server
MCP_SERVER_VERSION=1.0.0
# Optional Settings
REQUEST_TIMEOUT=30000
DEBUG=false
MAX_RETRIES=3
RETRY_DELAY=1000
🔧 Integración
Claude Desktop
Añade este servidor a tu configuración de Claude Desktop:
{
"mcpServers": {
"issuebadge": {
"command": "node",
"args": ["/absolute/path/to/mcp-server/dist/index.js"],
"env": {
"ISSUEBADGE_BASE_URL": "https://app.issuebadge.com
/api/v1",
"ISSUEBADGE_API_KEY": "",
"AUTH_METHOD": "sanctum"
}
}
}
}
Acciones de ChatGPT
- Crea un nuevo GPT Personalizado en ChatGPT
- Importa la especificación OpenAPI desde tu instancia de IssueBadge
- Configura la autenticación de token Bearer con tu clave API
- ¡Empieza a gestionar insignias a través de la conversación!
🛠️ Herramientas Disponibles
1. validate_key
Valida las claves API de IssueBadge para autenticación.
Parámetros:
api_key(string, requerido): La clave API a validar
Ejemplo:
"Validate my API key: 1|abcdef123456789..."
2. get_all_badges
Recupera todas las insignias disponibles para la organización autenticada.
Parámetros:
limit(number, opcional): Máximo de insignias a devolver (por defecto: 100)
Ejemplo:
"Show me all available badges"
"List the first 50 badges"
3. create_badge
Crea una nueva plantilla de insignia con campos personalizados opcionales.
Parámetros:
name(string, requerido): Nombre de la insigniadescription(string, requerido): Descripción de la insigniaissuing_organization_name(string, requerido): Nombre de la organizaciónidempotency_key(string, requerido): Identificador únicocustom_fields(array, opcional): Definiciones de campos personalizados- Y más parámetros opcionales...
Ejemplo:
"Create a badge called 'Web Development Certificate' for completing our full-stack course"
"Create a Python certification badge with custom fields for completion date and final score"
4. issue_badge
Emite una insignia a un destinatario con metadatos opcionales.
Parámetros:
badge_id(string, requerido): ID de la insignia desde la creaciónname(string, requerido): Nombre completo del destinatarioidempotency_key(string, requerido): Identificador únicoemail(string, opcional): Correo electrónico del destinatariometadata(object, opcional): Valores de campos personalizados
Ejemplo:
"Issue the Web Development badge to John Doe with email john@example.com"
"Issue Python certification to Alice with completion date today and score 95%"
💬 Ejemplos en Lenguaje Natural
Creando Insignias
Human: "Create a badge for JavaScript mastery with fields for completion date and project count"
AI: I'll create a JavaScript mastery badge with the custom fields you specified.
✨ Badge Created Successfully!
🏷️ Badge Name: JavaScript Mastery Certificate
🆔 Badge ID: js_mastery_2024_001
📋 Custom fields: completion_date (date), project_count (number)
Emitiendo Insignias
Human: "Issue the JavaScript badge to Sarah Chen with completion date December 1st and 5 projects completed"
AI: I'll issue the JavaScript mastery badge to Sarah Chen with the specified details.
🎉 Badge Issued Successfully!
📧 Recipient: Sarah Chen
🔗 Verification URL: https://yourdomain.com/verify/xyz123
📅 Completion Date: 2024-12-01
📊 Projects: 5
Operaciones por Lotes
Human: "Create completion badges for all students in my Python course who scored above 85%"
AI: I'll help you create and issue completion badges for high-performing students. First, let me create a Python Course Completion badge, then we can issue it to qualified students.
[Creates badge and processes student list]
🏗️ Desarrollo
Construyendo desde el Código Fuente
# Clone the repository
git clone https://github.com/issuebadge/mcp-server.git
cd mcp-server
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run in development mode
npm run dev
# Lint code
npm run lint
# Format code
npm run format
Estructura del Proyecto
mcp-server/
├── src/
│ └── index.ts # Main MCP server implementation
├── dist/ # Compiled JavaScript (generated)
├── .env.example # Environment configuration template
├── package.json # Node.js dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file
🔒 Seguridad
- Todas las comunicaciones API usan HTTPS
- Las claves API se validan antes de cada solicitud
- Las claves de idempotencia previenen operaciones duplicadas
- Aislamiento de datos multi-tenant
- Protección contra tiempo de espera de solicitudes
- Manejo integral de errores
📊 Manejo de Errores
El servidor MCP proporciona mensajes de error detallados para problemas comunes:
- Errores de Autenticación: Claves API inválidas o tokens expirados
- Errores de Validación: Parámetros requeridos faltantes o formatos inválidos
- Errores de Red: Tiempos de espera de conexión o servicio no disponible
- Errores de Lógica de Negocio: Operaciones duplicadas o permisos insuficientes
🌍 Casos de Uso
Instituciones Educativas
- Finalización de Cursos: Emite insignias automáticamente cuando los estudiantes completan cursos
- Validación de Habilidades: Crea insignias basadas en habilidades con puntuaciones de evaluación
- Certificados de Graduación: Emite insignias de graduación por lotes con detalles académicos
Capacitación Corporativa
- Programas de Certificación: Gestiona certificaciones profesionales con fechas de vencimiento
- Capacitación de Cumplimiento: Rastrea y verifica la finalización de capacitación obligatoria
- Desarrollo de Habilidades: Emite insignias para programas internos de desarrollo de habilidades
Gestión de Eventos
- Asistencia a Conferencias: Emite insignias de asistencia para eventos y talleres
- Seguimiento de Logros: Crea sistemas de insignias progresivas para programas en curso
- Reconocimiento de Oradores: Gestiona insignias de reconocimiento para oradores y participantes
🤝 Contribuciones
¡Agradecemos las contribuciones! Por favor, consulta nuestras pautas de contribución:
- Haz un fork del repositorio
- Crea una rama de funcionalidad:
git checkout -b feature/amazing-feature - Confirma tus cambios:
git commit -m 'Add amazing feature' - Sube a la rama:
git push origin feature/amazing-feature - Abre un Pull Request
Pautas de Desarrollo
- Sigue las mejores prácticas de TypeScript
- Añade manejo integral de errores
- Incluye comentarios JSDoc para funciones
- Actualiza las pruebas para nuevas funcionalidades
- Sigue el versionado semántico
📝 Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
🆘 Soporte
Obtener Ayuda
- 📖 Documentación: Consulta este README y los comentarios de código en línea
- 🐛 Reportes de Errores: Abre un issue
- 💬 Discusiones: Discusiones de GitHub
- 📧 Correo Electrónico: support@issuebadge.com
Solución de Problemas
Problemas Comunes
1. Fallo en la Validación de la Clave API
# Check API key format (should start with number|)
# Verify the key hasn't expired
# Ensure correct base URL
2. Tiempo de Espera de Conexión
# Check network connectivity
# Verify IssueBadge service status
# Increase REQUEST_TIMEOUT in .env
3. Errores al Crear Insignias
# Verify required fields are provided
# Check idempotency key uniqueness
# Validate organization permissions
🔗 Proyectos Relacionados
- API IssueBadge: Plataforma central de gestión de insignias
- Protocolo de Contexto de Modelo: Especificación y herramientas MCP
- Claude Desktop: Asistente de IA con soporte MCP
📈 Hoja de Ruta
Versión 1.1
- Operaciones de insignias por lotes
- Filtrado y búsqueda avanzados
- Integración de Webhooks
- Gestión de plantillas de insignias
Versión 1.2
- Herramientas de análisis e informes
- Reglas de validación de insignias personalizadas
- Integración con sistemas de gestión de aprendizaje
- Automatización avanzada de flujos de trabajo
Versión 2.0
- Soporte de verificación blockchain
- Contenido de insignias multilingüe
- Personalización avanzada de marca
- Integración SSO empresarial
¿Listo para revolucionar tu gestión de insignias? ¡Comienza con el Servidor MCP IssueBadge y experimenta el poder de la administración conversacional de insignias!
Construido con ❤️ por el equipo de IssueBadge