mcp-job-radar
MCP Job Radar
Inglés · Português
Un servidor de Model Context Protocol seguro y de solo lectura para descubrimiento de empleos y coincidencias explicables.
Las descripciones de empleo pueden contener inyecciones de prompts, comandos, solicitudes de secretos y enlaces maliciosos. Este servidor expone capacidades de búsqueda de empleo a los hosts de IA sin convertir listados no confiables en un canal de instrucciones. Cada herramienta está tipada, acotada, auditada, es de solo lectura y se ejercita mediante un cliente MCP real en memoria.
Lo que un revisor puede verificar en tres minutos
uv sync --extra dev
uv run pytest
uv run mcp-job-radar-demoLa demo conecta un cliente MCP oficial al servidor, descubre las herramientas mediante tools/list,
llama a search_jobs e imprime su resultado estructurado. Las pruebas cubren descubrimiento de herramientas, JSON Schema,
clasificación determinista, errores tipados, tiempos de espera, reintentos, interruptor de circuito y contenido adversario.
Related MCP server: LinkedIn Jobs MCP Server
Herramientas
Herramienta | Qué devuelve | Límite de seguridad |
| Coincidencias acotadas de título y habilidades declaradas | Las descripciones no afectan la búsqueda |
| Puntuación, razones y compensaciones frente a un perfil tipado | Política determinista, sin juicio de LLM oculto |
| Factores exactos detrás de una puntuación | Misma política que la clasificación, sin explicación a posteriori |
| Markdown o JSON dentro de la respuesta | Sin escritura en el sistema de archivos ni solicitud de empleo |
Todas las entradas y salidas usan modelos Pydantic estrictos. La entrada inválida, faltante, duplicada o excesiva produce un error estable legible por máquina en lugar de un traceback de implementación.
Arquitectura
flowchart LR
H[AI host] -->|MCP| M[MCP adapter]
M --> A[Safe audit boundary]
A --> S[Typed job service]
S --> R[Deterministic ranker]
S --> G[Untrusted-content gateway]
S --> D[Timeout, retry, circuit breaker]
D --> F[(Normalized fixtures)]
G -->|bounded and redacted| MEl adaptador MCP no contiene lógica de clasificación. El servicio de aplicación posee los casos de uso, la puerta de enlace de seguridad posee el límite de confianza y el repositorio posee la resiliencia de la fuente. Esta separación mantiene el protocolo reemplazable y las políticas críticas independientemente probables.
Lea el modelo de arquitectura y amenazas completo y la matriz de pruebas adversarias.
Controles de seguridad
Las descripciones de empleo se acotan, normalizan, escanean y redactan antes de entrar al contexto del agente.
Las frases de inyección de prompts, solicitudes de secretos, comandos y URL incrustadas se convierten en hallazgos explícitos.
Las URL de listados deben usar HTTPS público y no pueden contener credenciales ni apuntar a hosts locales/privados.
El número de resultados y los IDs de lote están limitados a 25.
El acceso a la fuente tiene un tiempo de espera, reintento acotado y un interruptor de circuito en proceso.
Los eventos de auditoría contienen nombre de herramienta, estado, duración y tipo de error, nunca argumentos ni cuerpos de resultados.
Intencionalmente no hay ejecución de comandos, búsqueda arbitraria, lectura de archivos locales, autoaplicación ni capacidad de exportación persistente.
Ejemplo de solicitud
{
"job_ids": ["remoteok-1001", "remotive-3003"],
"profile": {
"target_titles": ["AI Engineer", "AI Solutions Architect"],
"skills": ["Python", "RAG", "LLM", "MCP"],
"remote_required": true,
"seniority": "senior",
"minimum_salary_brl": 20000
},
"limit": 10
}El resultado lleva una puntuación numérica más señales positivas y compensaciones explícitas. Las explicaciones se generan con la misma función de puntuación, por lo que no pueden desviarse de la clasificación.
Ejecutar como servidor MCP
El transporte predeterminado es stdio:
uv run mcp-job-radarEjemplo de configuración del host:
{
"mcpServers": {
"job-radar": {
"command": "uv",
"args": ["--directory", "ABSOLUTE_PATH_TO_REPOSITORY", "run", "mcp-job-radar"]
}
}
}El proyecto usa el SDK oficial de Python v2 y su línea de protocolo MCP 2026-07-28 actual. La
prueba de integración automatizada usa Client(mcp), el cliente en memoria del SDK, en lugar de invocar
funciones de Python directamente.
Relación con radar-de-vagas
radar-de-vagas posee la ingesta de seis fuentes
públicas, el filtrado de relevancia en dos capas, la normalización, la deduplicación global y el orden de prioridad.
mcp-job-radar añade el contrato orientado al agente y el límite de seguridad. Su conjunto de datos normalizado
verificado hace que las pruebas sean deterministas y mantiene la CI independiente del raspado, las credenciales, los
límites de tasa y las interrupciones de terceros.
Comportamiento medido
El conjunto de aceptación verifica:
exactamente cuatro herramientas MCP descubribles;
resultados MCP estructurados y esquemas de entrada generados;
clasificación y explicaciones de coincidencia repetibles;
todas las clases de contenido hostil definidas redactadas;
clases de URL inseguras rechazadas;
fuentes malformadas y lentas devueltas como fallos reintentables tipados;
sin superficie de autoaplicación ni escritura persistente.
La cobertura se aplica al 85% en CI. El README informa solo comportamientos afirmados por el repositorio, no tráfico de producción ni afirmaciones sintéticas de precisión empresarial.
Ajustes impulsados por verificación
La implementación se alineó con la API v2 del SDK de MCP instalado después de que una prueba de integración verificara el límite movido de
ToolErrory el sobre de respuesta tipado delist_tools().El fixture normalizado se movió dentro del paquete de Python después de inspeccionar la rueda construida. Esto evita una demo que funcione solo desde un checkout de código fuente editable.
Las anotaciones de solo lectura, no destructivas, idempotentes y de mundo cerrado se afirman en las cuatro herramientas descubiertas, de modo que los metadatos publicados se verifican en lugar de solo documentarse.
Limitaciones y próximos pasos
Los datos de la demo son sintéticos y normalizados. Prueban el límite del agente, no el tiempo de actividad de fuentes en vivo.
La clasificación es léxica y basada en políticas; la equivalencia semántica y el matiz profesional quedan fuera de v0.1.
El interruptor de circuito es local al proceso. Un despliegue distribuido requeriría estado compartido y métricas.
Un adaptador en vivo debería consumir una salida normalizada versionada de
radar-de-vagas, no importar su script ni duplicar el raspado específico de la fuente.La autenticación y el despliegue HTTP de Streamable están intencionalmente ausentes de esta demostración local de stdio. Se vuelven necesarios solo al exponer el servidor más allá de un host confiable.
Divulgación de asistencia de IA
El repositorio se desarrolló con implementación y revisión asistidas por IA. La arquitectura, las afirmaciones de seguridad, las pruebas, las limitaciones y los artefactos publicados se verificaron contra el comportamiento ejecutable. La responsabilidad de autoría y las decisiones técnicas finales permanecen en Raphael Caveagna.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to securely query VAST Data databases for schema, metadata, and sample data via read-only SQL and MCP resources.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search and analyze LinkedIn jobs with advanced filters, salary requirements, and market insights through natural language.21MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to discover, filter, and track job openings based on the user's local resume, without uploading data to the cloud.12MIT

FoundRole MCPofficial
AlicenseAqualityBmaintenanceEnables AI assistants to search live jobs, view full details, save and track applications in a Kanban board, set follow-up reminders, and subscribe to job alerts—no account needed for searching.20269MIT
Related MCP Connectors
Semantic search over 3.5M+ live US job postings pulled straight from company ATSes. Read-only.
Job platform for AI agents. Track tech jobs from companies that match your stack.
AI job search for Claude, ChatGPT, Cursor. 170K+ jobs, 3,800+ companies. OAuth or stdio.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/RaphaelCerri/mcp-job-radar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server