Hosco Hospitality Jobs
Server Details
Search Hosco's live hospitality jobs across Spain, Italy, France, the UK and Switzerland.
- Status
- Healthy
- Uptime
- 98.1% over 49 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool targets an obvious resource/action: course details vs. job details, job listing vs. job search, and course search. The only near-overlap is list-jobs vs. search-jobs, but the descriptions explicitly separate non-semantic listing from semantic search.
All names use lowercase kebab-case with a predictable action/resource + '-tool' suffix: course-details-tool, job-details-tool, list-jobs-tool, search-courses-tool, search-jobs-tool. There is no mixed casing or verb-style drift.
Five tools is well-scoped for a read-only hospitality jobs/courses discovery server. Each tool earns its place by covering a distinct need: search/list/detail for jobs and search/detail for courses.
The surface covers discovery and detail retrieval for both jobs and courses, the primary domain. A minor gap is the lack of an explicit list/browse-courses tool parallel to list-jobs-tool, though search-courses can likely fill that role.
Available Tools
5 toolscourse-details-toolCourse Details ToolARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The course slug, exactly as returned by the search tool. | |
| locale | No | Language for the returned course link: en (default), es, fr or it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description usefully enumerates the payload (description, programme details, provider, price, duration, delivery type, languages), but says nothing about failure behavior for an invalid/unknown slug or how locale affects the response.
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?
Two tight sentences, zero waste, with the core action front-loaded and the usage cue second. Nothing needs trimming.
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 no output schema, the description compensates by listing the returned fields, which is the right move. It is nearly complete for a simple two-param read tool, missing only error behavior and the role of the locale parameter in the returned link.
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 100%, with both slug and locale fully documented including the locale default and allowed values, so the schema carries the burden and the baseline of 3 applies. The description adds no format or constraint detail beyond the schema; 'exactly as returned by the search tool' is already in the slug description.
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+resource: 'Fetch the full details of a single Hosco course by its slug.' It is clearly distinct from search-courses-tool, though it never names that sibling explicitly; the differentiation comes from 'single course by its slug' vs. a search.
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?
'Use this after a search result' gives clear sequencing context for when to invoke it. It stops short of naming the alternative tool or stating when not to use it (e.g. for multiple courses, use search-courses-tool).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
job-details-toolJob Details ToolARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | The numeric job id. Provide either slug or id. | |
| slug | No | The job slug (preferred lookup key — present in search/list results). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint and idempotentHint, covering safety. The description adds meaningful context about what the response contains (full description, requirements, benefits, all fields), going beyond the annotations without contradiction.
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?
Two sentences, front-loaded with the core action and resource. The second sentence gives practical usage context. No wasted words.
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 simple read-only detail fetch, the description provides sufficient context about purpose, usage, and return content. Annotations cover safety and idempotency. It doesn't mention error cases, but that is not critical for this tool.
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 100%, so both parameters (id and slug) are already well documented. The description adds minimal extra meaning beyond restating that either slug or numeric id can be used, matching the baseline.
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?
The description uses a specific verb ('Fetch') and clearly identifies the resource ('full details of a single Hosco job'). It distinguishes itself from list/search siblings by focusing on retrieving one job's details, including description, requirements, and benefits.
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?
It explicitly states to use this after a search/list result, providing a clear when-to-use context. While it doesn't name alternatives directly, the intended workflow is unambiguous and the sibling tools are implicitly distinguished.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-jobs-toolList Jobs ToolARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size (1–50, default 10). | |
| offset | No | Pagination offset (default 0). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is known. The description adds context about ordering ('most recently published') and pagination, which goes beyond the annotations and helps the agent understand the tool's behavior.
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 description is two sentences long, front-loaded with the primary action, and every word earns its place. It avoids fluff and clearly communicates the tool's function and when to use it.
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?
Given the tool's simplicity, the annotations covering safety, and the schema covering parameters, the description is sufficient for an agent to select and invoke the tool correctly. No critical information 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?
The schema already provides 100% coverage with descriptions for both limit and offset. The description does not add parameter-specific semantics beyond what the schema offers, so the baseline of 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?
The description uses a specific verb ('List') and resource ('Hosco jobs') with a clear scope ('most recently published, paginated'). It also distinguishes itself from the sibling search tool by explicitly noting the difference, making the purpose unambiguous.
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?
The description explicitly states when to use this tool ('when no semantic search is needed') and directs users to the alternative ('use the search jobs tool instead') for natural-language queries. This is clear, actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-courses-toolSearch Courses ToolARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Order by "price" or "duration". Omit for the catalogue's default relevance order. | |
| limit | No | Page size (1–50, default 10). | |
| order | No | "asc" or "desc" (default), used with sort. | |
| query | No | Free-text search over course titles and descriptions, e.g. "cocktail", "revenue management", "sommelier". | |
| locale | No | Language for the returned course links: en (default), es, fr or it. Match the language the member is writing in. | |
| offset | No | Pagination offset (default 0). | |
| languages | No | Language codes the course is taught in, e.g. ["en"], ["es","fr"]. | |
| max_price | No | Maximum price in the course's own currency. | |
| min_price | No | Minimum price in the course's own currency. Use 0 with max_price 0 for free courses. | |
| categories | No | 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 | No | Delivery: "campus" (in person), "online", or "both". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, covering the safety profile. The description adds meaningful behavioral context beyond annotations: it guarantees that hidden and deleted courses are never returned, and that every result carries a canonical url. It does not cover rate limits or pagination behavior, but the added constraints are valuable.
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?
Four sentences that are front-loaded with the core purpose and filter capabilities. No wasted words, though the last sentence about the canonical url is somewhat tangential and could be integrated more tightly.
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 search tool with 11 optional parameters and no output schema, the description provides a solid overview: domain scope, filter support, exclusion of hidden/deleted courses, and a guarantee about result URLs. It lacks detail on pagination behavior (offset/limit) and result ordering, but the schema compensates.
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 100%, so all 11 parameters are fully documented in the schema itself. The description only summarises filter dimensions (category, language, learning type, price) without adding syntax, default values, or edge-case semantics beyond what the schema already provides.
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?
The description states a specific verb (Search) and resource (Hosco's catalogue of hospitality courses and training programmes), with examples of domains. It clearly distinguishes itself from siblings like course-details-tool (which retrieves one course) and search-jobs-tool (jobs, not courses).
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?
The description implies usage by describing supported features ('free-text query plus filters') but never explicitly says when to use this tool versus alternatives, nor does it state when not to use it or name a sibling. Context is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-jobs-toolSearch Jobs ToolARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name (exact match against hosco_location.locality). | |
| sort | No | Ordering: "suggested" (default — relevance, then Hosco-native, then VIP, then freshness), "posted" (newest activation date), "update_date" (most recently updated), "title" (alphabetical). | |
| limit | No | Page size (1–50, default 10). | |
| query | No | 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 | No | Pagination offset (default 0). | |
| country | No | ISO-3166 alpha-2 country code, e.g. FR, GB, ES. | |
| languages | No | 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 | No | Hosco category code, e.g. f-b-kitchen, housekeeping, sommelier, reception. | |
| posted_after | No | ISO date; only return jobs published on or after this date. | |
| visibilities | No | Visibility tiers to include: public, targeted, lite, prime (private is never returned on this public surface). | |
| contract_type | No | One of: internship (students only), professional (professionals only), open (both). | |
| hide_external | No | Hide jobs sourced from external aggregators (Hosco-native only). | |
| only_external | No | Only return jobs sourced from external aggregators. | |
| languages_mode | No | 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 | No | Filter to specific promotion statuses: 0=disabled, 1=prime, 2=lite-basic, 4=lite-full. Status 3 (private) is always excluded. | |
| content_language | No | 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 | No | Maximum years of experience the candidate has — only show jobs requiring less than or equal to this. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond the readOnly and idempotent annotations by disclosing that private, expired, and inactive postings are hard-excluded, and by explaining the default ordering logic. This provides useful insights into how the tool behaves beyond what annotations offer.
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 description is two sentences, front-loaded with the core purpose, and every clause provides meaningful detail about filtering, ranking, and exclusions. There is no filler or redundant information.
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?
Given the tool's complexity (17 optional parameters, no output schema), the description covers key behaviors including exclusions, filtering, ranking, and return type. It does not specify the full return payload structure, but the detailed schema compensates, making the description sufficiently complete.
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?
The input schema already contains detailed descriptions for all 17 parameters (100% coverage). The description adds a high-level summary of filtering capabilities and the default 'suggested' ordering, but these are already captured in the schema descriptions, so the added value is marginal.
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?
The description clearly states the tool performs semantic and structured search over Hosco hospitality jobs and returns ranked matches with relevance scores. However, it does not explicitly contrast this with sibling tools like list-jobs-tool or job-details-tool, making sibling differentiation implicit rather than 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?
The description provides clear context for when to use the tool—for semantic or structured search with filtering and ranking—by detailing supported filters and ordering options. It does not explicitly state alternatives or exclusions, but the context is strong enough for an agent to infer appropriate usage.
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.
2 tool updates
- Added
course-details-tool - Added
search-courses-tool
3 tool updates
- First observed
job-details-tool - First observed
list-jobs-tool - First observed
search-jobs-tool
Related MCP Connectors
Open jobs at luxury houses and brands worldwide: search them, read one in full, find roles like it.
Live jobs from Greenhouse, Lever, Ashby, Workable, Recruitee and Teamtailor, with normalised salary.
Live iGaming jobs — casino, betting, studios, affiliates — plus market data. No auth.
Search 6.3M+ live jobs from companies' own career pages, plus resume tailoring & cover letters.
Related MCP Servers
- AlicenseAqualityDmaintenanceSearch Recruiter Roles: live recruiter jobs, companies, sectors, locations, and market stats.730 npm1MIT
- AlicenseAqualityDmaintenanceSearch current remote / work-from-home jobs by category, region, perk, or company — with ready-to-apply links.5MIT
- AlicenseNot gradedqualityBmaintenanceSearch live startup.jobs listings with filters for role, location, and employment type, plus get job details, company profiles, hiring trends, and salary benchmarks.MIT

easyhire-jobsofficial
AlicenseNot gradedqualityCmaintenanceRead-only MCP server for the public EasyHire job board. Enables searching job openings, retrieving full postings, filtering by criteria, and listing countries with open roles.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.