Skip to main content
Glama
noelserdna

CV Recruitment Assistant

by noelserdna
README.md5.9 kB
# CV Recruitment Assistant - Servidor MCP con Firma Digital Este es un servidor MCP (Model Context Protocol) avanzado que funciona como asistente de reclutamiento para el CV de Brayan Smith Cordova Tasayco. **Todas las respuestas están firmadas digitalmente** para garantizar autenticidad e integridad. ## 🚀 Características Principales - **15 herramientas MCP especializadas** para análisis de CV - **Firma digital de todas las respuestas** (RSA + SHA-256) - **Verificación de integridad** y autenticidad - **Desarrollo local y producción** con manejo seguro de claves - **Tests automatizados** para validar firmas digitales ## 🔧 Configuración Inicial ### Para Desarrollo Local 1. **Generar claves criptográficas:** ```bash npm run setup-keys ``` 2. **Iniciar servidor de desarrollo:** ```bash npm run dev ``` 3. **Ejecutar tests (incluyendo validación de firmas):** ```bash npm test ``` ### Para Producción (Cloudflare Workers) 1. **Configurar secrets en Cloudflare:** ```bash # Primero genera las claves localmente con npm run setup-keys # Luego copia las claves de .env.local y ejecuta: wrangler secret put MCP_PRIVATE_KEY wrangler secret put MCP_PUBLIC_KEY wrangler secret put MCP_SERVER_ID ``` 2. **Desplegar:** ```bash npm run deploy ``` Tu servidor estará disponible en: `https://your-worker-name.your-account.workers.dev` ## 🔐 Formato de Respuestas Firmadas Todas las herramientas MCP devuelven respuestas en el siguiente formato firmado digitalmente: ```json { "data": { // Datos originales de la herramienta MCP }, "hash": "sha256_hash_de_los_datos", "signature": "firma_digital_en_base64", "timestamp": "2025-01-15T10:00:00Z", "publicKey": "-----BEGIN PUBLIC KEY-----\n...", "serverId": "cv-brayan-cordova-server", "version": "1.0" } ``` ### Verificación de Firmas Usa la herramienta `verify_response_signature` para verificar cualquier respuesta: ```javascript // Ejemplo de verificación desde un cliente MCP const response = await mcpClient.callTool('get_candidate_profile'); const verifyResult = await mcpClient.callTool('verify_response_signature', { signedResponse: response.content[0].text }); ``` ## 🛠️ Herramientas MCP Disponibles ### Información Básica (8 herramientas) - `get_candidate_profile` - Perfil personal y resumen profesional - `get_work_experience` - Experiencia laboral detallada - `get_education_background` - Formación académica - `get_certifications` - Certificaciones profesionales - `get_technical_skills` - Habilidades técnicas categorizadas - `get_soft_skills` - Habilidades blandas y idiomas - `get_languages_interests` - Idiomas e intereses personales - `search_candidate_info` - Búsqueda por palabras clave ### Presencia Online (3 herramientas) - `get_portfolio_website` - Sitio web personal y portfolio - `get_github_profile` - Información de perfil GitHub - `get_social_networks` - Redes sociales y presencia online ### Análisis Avanzado (4 herramientas) - `evaluate_tech_stack` - Evalúa compatibilidad con tecnologías - `assess_leadership_experience` - Analiza experiencia de liderazgo - `calculate_experience_years` - Calcula años de experiencia por tecnología - `match_job_requirements` - Matching contra requisitos de trabajo ### Debugging (2 herramientas) - `verify_response_signature` - Verifica firmas digitales - `get_server_public_key` - Obtiene clave pública del servidor ## 🌐 Conexiones y Uso ### Cloudflare AI Playground 1. Ve a https://playground.ai.cloudflare.com/ 2. Ingresa la URL de tu servidor: `https://your-worker-name.your-account.workers.dev/sse` 3. **Nota**: Todas las respuestas estarán firmadas digitalmente. Los datos originales están en el campo `data` de cada respuesta. ### Claude Desktop Conecta tu servidor MCP a Claude Desktop usando el [mcp-remote proxy](https://www.npmjs.com/package/mcp-remote): 1. Sigue la [Guía de Anthropic](https://modelcontextprotocol.io/quickstart/user) 2. En Claude Desktop: Settings > Developer > Edit Config 3. Usa esta configuración: ```json { "mcpServers": { "cv-recruitment-assistant": { "command": "npx", "args": [ "mcp-remote", "http://localhost:8787/sse" // Local // "https://your-worker-name.your-account.workers.dev/sse" // Producción ] } } } ``` 4. Reinicia Claude Desktop **Importante**: Claude recibirá todas las respuestas firmadas digitalmente. Para acceder a los datos, usa `response.data` en lugar de `response` directamente. ## 🧪 Testing y Validación - `npm test` - Ejecuta todos los tests incluyendo validación de firmas - `npm run test:crypto` - Solo tests criptográficos - `npm run test:mcp` - Solo tests de herramientas MCP ## 📁 Estructura del Proyecto ``` src/ ├── index.ts # Servidor MCP principal con 17 herramientas ├── crypto.ts # Sistema de firma digital └── candidate-data.json # Datos del CV estructurados scripts/ └── generate-keys.js # Generador de claves para desarrollo tests/ ├── run-tests.js # Suite completa de tests ├── crypto.test.js # Tests específicos de criptografía └── mcp-tools.test.js # Tests de herramientas MCP ``` ## 🔒 Seguridad y Cumplimiento Este servidor implementa las mejores prácticas de seguridad: - **Firma digital RSA-2048** de todas las respuestas - **Verificación SHA-256** de integridad de datos - **Claves privadas seguras** en Cloudflare Workers secrets - **Trazabilidad completa** con timestamps y server IDs - **Preparado para regulaciones** (GDPR, AI Act) ## 📄 Documentación Adicional - [CLAUDE.md](./CLAUDE.md) - Instrucciones específicas para Claude Code - [TESTING.md](./TESTING.md) - Documentación detallada de testing - [docs/](./docs/) - Documentación técnica del proyecto

Latest Blog Posts

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/noelserdna/cv-dinamic-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server