CV Recruitment Assistant
Provides digitally-signed access to Brayan Smith Cordova Tasayco's CV data through 15 specialized tools for candidate evaluation, technical skills assessment, job matching, and portfolio analysis.
README
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
-
Generar claves criptográficas:
npm run setup-keys -
Iniciar servidor de desarrollo:
npm run dev -
Ejecutar tests (incluyendo validación de firmas):
npm test
Para Producción (Cloudflare Workers)
-
Configurar secrets en Cloudflare:
# 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 -
Desplegar:
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:
{
"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:
// 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 profesionalget_work_experience- Experiencia laboral detalladaget_education_background- Formación académicaget_certifications- Certificaciones profesionalesget_technical_skills- Habilidades técnicas categorizadasget_soft_skills- Habilidades blandas y idiomasget_languages_interests- Idiomas e intereses personalessearch_candidate_info- Búsqueda por palabras clave
Presencia Online (3 herramientas)
get_portfolio_website- Sitio web personal y portfolioget_github_profile- Información de perfil GitHubget_social_networks- Redes sociales y presencia online
Análisis Avanzado (4 herramientas)
evaluate_tech_stack- Evalúa compatibilidad con tecnologíasassess_leadership_experience- Analiza experiencia de liderazgocalculate_experience_years- Calcula años de experiencia por tecnologíamatch_job_requirements- Matching contra requisitos de trabajo
Debugging (2 herramientas)
verify_response_signature- Verifica firmas digitalesget_server_public_key- Obtiene clave pública del servidor
🌐 Conexiones y Uso
Cloudflare AI Playground
- Ve a https://playground.ai.cloudflare.com/
- Ingresa la URL de tu servidor:
https://your-worker-name.your-account.workers.dev/sse - Nota: Todas las respuestas estarán firmadas digitalmente. Los datos originales están en el campo
datade cada respuesta.
Claude Desktop
Conecta tu servidor MCP a Claude Desktop usando el mcp-remote proxy:
- Sigue la Guía de Anthropic
- En Claude Desktop: Settings > Developer > Edit Config
- Usa esta configuración:
{
"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
]
}
}
}
- 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 firmasnpm run test:crypto- Solo tests criptográficosnpm 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 - Instrucciones específicas para Claude Code
- TESTING.md - Documentación detallada de testing
- docs/ - Documentación técnica del proyecto
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.