SylvaraJob
Job offers from Spanish SMEs and other companies: search by text, area or work mode and open offers
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"sylvarajob": {
"url": "https://sylvarajob.com/mcp"
}
}
}Puntos de conexión remotos
https://sylvarajob.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (3)
🟢buscar_ofertas(texto, terminos, provincia, ciudad, pais, ...)
Busca ofertas de empleo activas. Devuelve primero las ofertas PROPIAS publicadas por empresas en SylvaraJob (España; ficha completa y URL pública en sylvarajob.com/empleo) y después las EXTERNAS, publicadas por otras empresas en sus propias webs mediante Greenhouse, Lever, Ashby o Teamtailor (solo título, empresa, ciudad, fecha y enlace a la fuente). La búsqueda por texto amplía cada palabra con sinónimos de profesiones y sectores en 8 idiomas (programador ↔ developer ↔ sviluppatore ↔ 程序员; camarero ↔ waiter; mozo de almacén ↔ warehouse operative) e ignora mayúsculas, acentos, plurales y género. Envía en «terminos» el término tal como lo dijo la persona MÁS su traducción al inglés (p. ej. ["enfermera", "nurse"]). Al filtrar por provincia o ciudad van primero las ofertas de esa zona y después las remotas del mismo país (coincide_zona=false). Filtros opcionales: texto/terminos, provincia, ciudad, país (ISO-2), modalidad y origen. Paginado, máximo 20 por página. Search active job offers with multilingual synonyms: SylvaraJob own postings first (full data, public URL), then external postings (title, company, city, date and source link only). Pass the user's term plus its English translation in «terminos».
Esquema de entrada
{
"type": "object",
"properties": {
"texto": {
"type": "string",
"maxLength": 100,
"description": "Palabras del título, la empresa o la descripción (p. ej. «camarero», «contable», «Datadog»). Cada palabra se amplía con sus sinónimos en 8 idiomas."
},
"terminos": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80
},
"maxItems": 8,
"description": "Términos alternativos (basta que coincida uno): el término de la persona y su traducción al inglés (p. ej. [\"camarero\", \"waiter\"], [\"infermiera\", \"nurse\"]). Cada uno se amplía con sinónimos. Se puede combinar con «texto»."
},
"provincia": {
"type": "string",
"maxLength": 80,
"description": "Provincia de la oferta propia (p. ej. «Lleida», «Madrid»); en externas se compara con ciudad o región. Sin filtro de modalidad, detrás de la zona se listan las ofertas remotas del mismo país."
},
"ciudad": {
"type": "string",
"maxLength": 80,
"description": "Municipio o ciudad (p. ej. «Barcelona», «Getafe»). Sin filtro de modalidad, detrás de la zona se listan las ofertas remotas del mismo país."
},
"pais": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "País en ISO 3166-1 alfa-2 (ES, PT, FR, DE, US…). Sin filtro se devuelven todos."
},
"modalidad": {
"type": "string",
"enum": [
"presencial",
"remoto",
"hibrido"
]
},
"origen": {
"type": "string",
"enum": [
"todas",
"propias",
"externas"
],
"default": "todas",
"description": "Qué fuentes incluir."
},
"pagina": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 1
},
"por_pagina": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 10
},
"idioma": {
"type": "string",
"enum": [
"es",
"ca",
"pt",
"en",
"fr",
"it",
"zh",
"ja"
],
"default": "es",
"description": "Idioma del texto del resumen (los datos de las ofertas van en el idioma en que se publicaron)."
}
},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"total_propias": {
"type": "integer"
},
"total_externas": {
"type": "integer"
},
"pagina": {
"type": "integer"
},
"por_pagina": {
"type": "integer"
},
"total_paginas": {
"type": "integer"
},
"ofertas": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"properties": {
"origen": {
"type": "string",
"enum": [
"propia",
"externa"
]
},
"id": {
"type": [
"integer",
"string"
],
"description": "Entero para propias; «ext-N» para externas"
},
"titulo": {
"type": "string"
},
"empresa": {
"type": "string"
},
"url": {
"type": "string",
"description": "Propias: ficha pública en sylvarajob.com; externas: oferta en la web de la empresa"
},
"fecha_publicacion": {
"type": [
"string",
"null"
]
},
"coincide_zona": {
"type": "boolean",
"description": "Solo al filtrar por provincia o ciudad: true si la oferta está en esa zona; false si es una oferta remota del mismo país, listada después."
}
}
}
},
"busqueda": {
"type": "object",
"additionalProperties": true,
"description": "Cómo se interpretó la búsqueda",
"properties": {
"terminos": {
"type": "array",
"items": {
"type": "string"
},
"description": "Términos buscados (texto + terminos)"
},
"sinonimos": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "Por término, los sinónimos con los que se amplió (muestra)"
},
"zona": {
"type": [
"string",
"null"
],
"description": "Zona que va primero (ciudad o provincia) o null"
},
"pais_remotas": {
"type": [
"string",
"null"
],
"description": "País (ISO-2) de las ofertas remotas listadas tras la zona, o null"
}
}
}
},
"required": [
"total_propias",
"total_externas",
"pagina",
"por_pagina",
"total_paginas",
"ofertas"
],
"additionalProperties": true
}🟢ver_oferta(id, idioma)
Devuelve la ficha completa de una oferta propia de SylvaraJob por su id numérico (descripción, requisitos, condiciones, empresa y URL pública) o los datos públicos de una oferta externa por su id «ext-N» (título, empresa, ciudad, fecha y enlace a la fuente). Si una oferta propia ya no está disponible lo indica y sugiere ofertas similares. Get the full public record of a SylvaraJob offer by numeric id, or the public summary of an external offer by its «ext-N» id.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": [
"integer",
"string"
],
"description": "Id de una oferta tal como lo devuelve buscar_ofertas: numérico para una propia (p. ej. 28) o «ext-N» para una externa (p. ej. «ext-5321»)."
},
"idioma": {
"type": "string",
"enum": [
"es",
"ca",
"pt",
"en",
"fr",
"it",
"zh",
"ja"
],
"default": "es",
"description": "Idioma del texto del resumen (los datos de las ofertas van en el idioma en que se publicaron)."
}
},
"required": [
"id"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"estado": {
"type": "string",
"enum": [
"activa",
"retirada",
"inexistente"
]
},
"oferta": {
"type": [
"object",
"null"
],
"additionalProperties": true
}
},
"required": [
"estado"
],
"additionalProperties": true
}🟢listar_categorias_y_provincias(origen, idioma)
Devuelve los valores disponibles para filtrar, con el número de ofertas de cada uno: categorías, provincias, ciudades, modalidades, tipos de contrato, jornadas y empresas de las ofertas propias activas, y países, ciudades, modalidades y fuentes de las ofertas externas. Úsalo antes de buscar para elegir filtros válidos. Lists the filter values currently available (categories, provinces, cities, work modes, contract types…) with counts.
Esquema de entrada
{
"type": "object",
"properties": {
"origen": {
"type": "string",
"enum": [
"todas",
"propias",
"externas"
],
"default": "todas"
},
"idioma": {
"type": "string",
"enum": [
"es",
"ca",
"pt",
"en",
"fr",
"it",
"zh",
"ja"
],
"default": "es",
"description": "Idioma del texto del resumen (los datos de las ofertas van en el idioma en que se publicaron)."
}
},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"propias": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"externas": {
"type": [
"object",
"null"
],
"additionalProperties": true
}
},
"additionalProperties": true
}Comunidad
Evidencia