Search Hosco's live hospitality jobs across Spain, Italy, France, the UK and Switzerland.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Fetch the full details of a single Hosco course by its slug. Use this after a search result to retrieve the full description, programme details, provider, price, duration, delivery type and languages.
The course slug, exactly as returned by the search tool.
Language for the returned course link: en (default), es, fr or it.
Fetch the full details of a single Hosco course by its slug. Use this after a search result to retrieve the full description, programme details, provider, price, duration, delivery type and languages.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The course slug, exactly as returned by the search tool. |
| locale | string | Language for the returned course link: en (default), es, fr or it. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "The course slug, exactly as returned by the search tool."
},
"locale": {
"type": "string",
"description": "Language for the returned course link: en (default), es, fr or it."
}
}
}Fetch the full details of a single Hosco job by its slug or numeric id. Use this after a search/list result to retrieve the full description, requirements, benefits, and all other available fields.
| Argument | Type | Description |
|---|---|---|
| id | integer | The numeric job id. Provide either slug or id. |
| slug | string | The job slug (preferred lookup key — present in search/list results). |
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The numeric job id. Provide either slug or id."
},
"slug": {
"type": "string",
"description": "The job slug (preferred lookup key — present in search/list results)."
}
}
}List the most recently published Hosco jobs, paginated. Use this when no semantic search is needed — for natural-language search, use the search jobs tool instead.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size (1–50, default 10). |
| offset | integer | Pagination offset (default 0). |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size (1–50, default 10)."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Pagination offset (default 0)."
}
}
}Search Hosco's catalogue of hospitality courses and training programmes (bartending, culinary, hospitality management, languages, revenue management and more). Supports a free-text query plus filters for category, language, learning type and price. Hidden and deleted courses are never returned. Every result carries a canonical `url`.
| Argument | Type | Description |
|---|---|---|
| sort | string | Order by "price" or "duration". Omit for the catalogue's default relevance order. |
| limit | integer | Page size (1–50, default 10). |
| order | string | "asc" or "desc" (default), used with sort. |
| query | string | Free-text search over course titles and descriptions, e.g. "cocktail", "revenue management", "sommelier". |
| locale | string | Language for the returned course links: en (default), es, fr or it. Match the language the member is writing in. |
| offset | integer | Pagination offset (default 0). |
| languages | array | Language codes the course is taught in, e.g. ["en"], ["es","fr"]. |
| max_price | integer |
Semantic + structured search over Hosco hospitality jobs. Mirrors the smart filtering and ranking from hosco-v2: hard-excludes private/expired/inactive postings, supports visibility/promotion/external filters, configurable language matching (subset/any/all), and the v2 "suggested" ordering (relevance → Hosco-native → VIP → freshness). Returns ranked matches with relevance scores.
| Argument | Type | Description |
|---|---|---|
| city | string | City name (exact match against hosco_location.locality). |
| sort | string | Ordering: "suggested" (default — relevance, then Hosco-native, then VIP, then freshness), "posted" (newest activation date), "update_date" (most recently updated), "title" (alphabetical). |
| limit | integer | Page size (1–50, default 10). |
| query | string | Natural-language search (e.g. "sommelier in Paris fine dining"). When provided, ranks by semantic similarity. When omitted, returns latest jobs filtered + sorted by the structured options. |
| offset | integer | Pagination offset (default 0). |
| country | string | ISO-3166 alpha-2 country code, e.g. FR, GB, ES. |
| languages | array | Candidate language codes, e.g. ["en","fr"]. Matched against the job's mandatory fluency requirement ("Require fluency in" in hosco-v2), not the language the ad is written in. Combined with languages_mode. |
| Maximum price in the course's own currency. |
| min_price | integer | Minimum price in the course's own currency. Use 0 with max_price 0 for free courses. |
| categories | array | Course category codes, e.g. ["bartending"], ["culinary","pastry"]. Known codes: culinary, pastry, cruises, oenology, hospitality-management, sales-and-marketing, event-management, languages, revenue-management, reception, bartending, food-and-beverages, spa, tourism, business-skills. |
| learning_types | array | Delivery: "campus" (in person), "online", or "both". |
{
"type": "object",
"properties": {
"sort": {
"type": "string",
"description": "Order by \"price\" or \"duration\". Omit for the catalogue's default relevance order."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size (1–50, default 10)."
},
"order": {
"type": "string",
"description": "\"asc\" or \"desc\" (default), used with sort."
},
"query": {
"type": "string",
"description": "Free-text search over course titles and descriptions, e.g. \"cocktail\", \"revenue management\", \"sommelier\"."
},
"locale": {
"type": "string",
"description": "Language for the returned course links: en (default), es, fr or it. Match the language the member is writing in."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Pagination offset (default 0)."
},
"languages": {
"type": "array",
"items": {
"type": "string"
},
"description": "Language codes the course is taught in, e.g. [\"en\"], [\"es\",\"fr\"]."
},
"max_price": {
"type": "integer",
"minimum": 0,
"description": "Maximum price in the course's own currency."
},
"min_price": {
"type": "integer",
"minimum": 0,
"description": "Minimum price in the course's own currency. Use 0 with max_price 0 for free courses."
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Course category codes, e.g. [\"bartending\"], [\"culinary\",\"pastry\"]. Known codes: culinary, pastry, cruises, oenology, hospitality-management, sales-and-marketing, event-management, languages, revenue-management, reception, bartending, food-and-beverages, spa, tourism, business-skills."
},
"learning_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "Delivery: \"campus\" (in person), \"online\", or \"both\"."
}
}
}| department | string | Hosco category code, e.g. f-b-kitchen, housekeeping, sommelier, reception. |
| posted_after | string | ISO date; only return jobs published on or after this date. |
| visibilities | array | Visibility tiers to include: public, targeted, lite, prime (private is never returned on this public surface). |
| contract_type | string | One of: internship (students only), professional (professionals only), open (both). |
| hide_external | boolean | Hide jobs sourced from external aggregators (Hosco-native only). |
| only_external | boolean | Only return jobs sourced from external aggregators. |
| languages_mode | string | How to interpret `languages`: "all" (job must require every code; default), "any" (job requires at least one of them), "subset" (job's required languages must all be in the provided list — i.e. the candidate speaks them all). |
| promotion_types | array | Filter to specific promotion statuses: 0=disabled, 1=prime, 2=lite-basic, 4=lite-full. Status 3 (private) is always excluded. |
| content_language | string | Language code the job ad itself is written in (auto-detected), e.g. "en", "fr". Use this to only show postings the candidate can actually read — unrelated to the languages filter below. |
| experience_years_max | integer | Maximum years of experience the candidate has — only show jobs requiring less than or equal to this. |
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City name (exact match against hosco_location.locality)."
},
"sort": {
"type": "string",
"description": "Ordering: \"suggested\" (default — relevance, then Hosco-native, then VIP, then freshness), \"posted\" (newest activation date), \"update_date\" (most recently updated), \"title\" (alphabetical)."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size (1–50, default 10)."
},
"query": {
"type": "string",
"description": "Natural-language search (e.g. \"sommelier in Paris fine dining\"). When provided, ranks by semantic similarity. When omitted, returns latest jobs filtered + sorted by the structured options."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Pagination offset (default 0)."
},
"country": {
"type": "string",
"description": "ISO-3166 alpha-2 country code, e.g. FR, GB, ES."
},
"languages": {
"type": "array",
"items": {
"type": "string"
},
"description": "Candidate language codes, e.g. [\"en\",\"fr\"]. Matched against the job's mandatory fluency requirement (\"Require fluency in\" in hosco-v2), not the language the ad is written in. Combined with languages_mode."
},
"department": {
"type": "string",
"description": "Hosco category code, e.g. f-b-kitchen, housekeeping, sommelier, reception."
},
"posted_after": {
"type": "string",
"description": "ISO date; only return jobs published on or after this date."
},
"visibilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Visibility tiers to include: public, targeted, lite, prime (private is never returned on this public surface)."
},
"contract_type": {
"type": "string",
"description": "One of: internship (students only), professional (professionals only), open (both)."
},
"hide_external": {
"type": "boolean",
"description": "Hide jobs sourced from external aggregators (Hosco-native only)."
},
"only_external": {
"type": "boolean",
"description": "Only return jobs sourced from external aggregators."
},
"languages_mode": {
"type": "string",
"description": "How to interpret `languages`: \"all\" (job must require every code; default), \"any\" (job requires at least one of them), \"subset\" (job's required languages must all be in the provided list — i.e. the candidate speaks them all)."
},
"promotion_types": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Filter to specific promotion statuses: 0=disabled, 1=prime, 2=lite-basic, 4=lite-full. Status 3 (private) is always excluded."
},
"content_language": {
"type": "string",
"description": "Language code the job ad itself is written in (auto-detected), e.g. \"en\", \"fr\". Use this to only show postings the candidate can actually read — unrelated to the languages filter below."
},
"experience_years_max": {
"type": "integer",
"description": "Maximum years of experience the candidate has — only show jobs requiring less than or equal to this."
}
}
}