SylvaraJob
Server Details
Job offers from Spanish SMEs and other companies: search by text, area or work mode and open offers
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
The three tools have clearly distinct roles: search offers, list available filter values, and fetch a single offer's full record. An agent can unambiguously pick the right tool for search vs. discovery-of-filters vs. detail retrieval.
All names use consistent Spanish snake_case verb_noun (buscar_ofertas, ver_oferta), matching the server's domain language. listar_categorias_y_provincias is unusually long but still follows the same convention.
Three tools is on the lean side but appropriate for a read-only job search API (search, filters, detail). It covers the core surface without redundancy.
Search, filter enumeration, and detail retrieval form a coherent read-only lifecycle, and the search tool documents pagination and modality/origin filters. It lacks features like saved searches or application actions, but those may be outside scope.
Available Tools
3 toolsbuscar_ofertasBuscar ofertas de empleoARead-onlyIdempotentInspect
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».
| Name | Required | Description | Default |
|---|---|---|---|
| pais | No | País en ISO 3166-1 alfa-2 (ES, PT, FR, DE, US…). Sin filtro se devuelven todos. | |
| texto | No | 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. | |
| ciudad | No | 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. | |
| idioma | No | Idioma del texto del resumen (los datos de las ofertas van en el idioma en que se publicaron). | es |
| origen | No | Qué fuentes incluir. | todas |
| pagina | No | ||
| terminos | No | 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». | |
| modalidad | No | ||
| provincia | No | 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. | |
| por_pagina | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| pagina | Yes | |
| ofertas | Yes | |
| busqueda | No | Cómo se interpretó la búsqueda |
| por_pagina | Yes | |
| total_paginas | Yes | |
| total_propias | Yes | |
| total_externas | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read profile (readOnly, idempotent, non-destructive), and the description adds substantial behavior beyond them: two-tier result ordering with differing field richness per source, multilingual synonym expansion across 8 languages, normalization of case/accents/plurals/gender, and zone-then-remote ordering. This is exactly the extra context an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and the key dual-source behavior, and the dense Spanish paragraph earns most of its length. The trailing English restatement is a condensed duplicate that adds accessibility but also redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, zero-required search tool with an output schema, the description covers the non-obvious essentials: result composition, synonym behavior, term-handling instruction, and location-based ordering. Return-value detail is appropriately left to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 70% and the description adds real meaning beyond it: how «terminos» should be filled (user term + English translation), how «texto» expands into cross-language synonyms, and how provincia/ciudad trigger zone-first ordering. Pagination and enum parameters are left to the schema, which already documents them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a specific verb and resource ('Busca ofertas de empleo activas') and precisely characterizes the two result sets (own vs. external postings). It never names the sibling tools (ver_oferta, listar_categorias_y_provincias), so differentiation from them is inferable but not explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operational context: how to populate «terminos» with the user's term plus its English translation, how province/city filters order results, and that all filters are optional. It lacks an explicit 'use this instead of X' exclusion, but the usage conditions are well conveyed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_categorias_y_provinciasListar categorías, provincias y ciudades con ofertasARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| idioma | No | Idioma del texto del resumen (los datos de las ofertas van en el idioma en que se publicaron). | es |
| origen | No | todas |
Output Schema
| Name | Required | Description |
|---|---|---|
| propias | No | |
| externas | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds useful behavioral context beyond the annotations: it returns counts per filter value and clarifies that only active own offers plus external offers contribute to those counts. This is meaningful scope information not present in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The Spanish portion is front-loaded with the return contents and the usage hint, which is good structure. However, the final English sentence is a near-verbatim translation of the Spanish and adds no new information, making the overall description longer than necessary without earning that space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value formatting need not be explained. Annotations are rich on safety, and the description covers purpose, scope (active own vs. external offers) and usage timing. For a simple two-parameter read-only lookup tool, this is essentially complete, with only minor parameter-level detail missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (only 'idioma' has a description; 'origen' does not). The description never names or explains the 'idioma' or 'origen' parameters directly, though it implies the own/external scope that 'origen' controls. With schema doing half the work and the description adding no direct parameter semantics, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Devuelve los valores disponibles para filtrar') and enumerates the exact filter dimensions returned (categories, provinces, cities, work modes, contract types, etc.) with counts. It distinguishes itself from siblings by framing its role as a pre-search step ('Úsalo antes de buscar'), so an agent can tell it apart from buscar_ofertas and ver_oferta without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it: 'Úsalo antes de buscar para elegir filtros válidos.' This gives clear context and the sequencing relative to search. It does not name the alternative tool explicitly or state when not to use it, so it falls short of full when/when-not/alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ver_ofertaVer una oferta de empleoARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 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 | No | Idioma del texto del resumen (los datos de las ofertas van en el idioma en que se publicaron). | es |
Output Schema
| Name | Required | Description |
|---|---|---|
| estado | Yes | |
| oferta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely useful behavior beyond that: what happens when an own offer is no longer available (it flags it and suggests similar offers) and the differing payload for own vs. external offers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The Spanish text is front-loaded and each clause earns its place by covering both id forms and the unavailable-offer fallback. The appended English sentence is largely a verbatim translation, which adds length without new information, though it aids multilingual selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full annotation coverage, the description need not explain return values or safety; it still covers both id variants, the fallback path for stale offers, and the public/private data distinction. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented in the schema, including the numeric vs. «ext-N» id convention and the idioma enum. The description restates the id duality without adding format or constraint detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource — returns the full record of an own offer by numeric id or the public summary of an external offer by «ext-N» id — and enumerates the fields returned for each case. It never names the sibling buscar_ofertas or explicitly contrasts itself with it, so an agent must infer the search-vs-detail split.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the id format («tal como lo devuelve buscar_ofertas» in the schema) signals this is a follow-up detail call after a search. There is no explicit when-to-use / when-not-to-use statement or named alternative, so the routing guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
buscar_ofertas - First observed
listar_categorias_y_provincias - First observed
ver_oferta
Publisher details
- Operator
- SylvaraJob · Publisher source
- Operator website
- https://sylvarajob.com
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://sylvarajob.com/mcp/docs
- Trust center
- Not available
- Restrictions
- Not applicable
Related MCP Connectors
Open jobs from company career pages on Greenhouse, Lever, Ashby, Workday and 18 more, via Apify MCP
Search live job openings in many countries and languages, and read a full job ad.
Your personal career coach. Scanning jobs for you, daily.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables conversational job search on Computrabajo, including reading full job postings, viewing your CV, and applying to jobs with explicit confirmation.27 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to browse recent job postings from a keyless European (Germany-heavy) job board, keyword-search them client-side by title, company or tag, and fetch full HTML descriptions for individual listings, with pagination and remote-only filtering.359 npmMIT
- AlicenseNot gradedqualityBmaintenanceSearch Spanish companies, directors and corporate relationships from official BORME registry filings — ~3.2M companies since 2009. Read-only, anonymous.MIT
- AlicenseNot gradedqualityAmaintenanceMCP server that enables AI assistants to search and normalize job offers from portals like InfoJobs, while keeping the user in control of decisions. It provides read-only tools and respects official APIs and credentials.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.