Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,561Letters: 14Defects: 1,336counted 3 min ago
teppi

Server definition

Hash
sha256:18bf479ed049a6228dcfd0635498d89e7311b8c2a13a26133eb8c6e86cb719a6
What it is
What a remote MCP server returned when asked what it offers: 5 tools

The blob, as servednamed by its sha256

{ "instructions": "Hosco's official MCP server — read-only access to Hosco's catalogue of published, non-expired hospitality jobs (hotels, restaurants, F&B, kitchen, housekeeping, reception, sommelier, and similar roles). Hosco's market is Spain, France, Italy, the UK, Switzerland and the UAE — expect jobs from those countries.\n\n`search_jobs_tool` runs a semantic search over OpenAI embeddings stored in Qdrant and accepts free-form natural language queries (e.g. \"experienced sommelier in Paris fine-dining\"). It also supports structured filters: country (ISO-2), city, department (Hosco category code), contract_type (internship | professional | open), experience_years_max, languages (array of ISO codes), posted_after. Use it whenever the user describes what they want in words.\n\n`list_jobs_tool` returns the latest published jobs — use only when the user asks for \"most recent\" with no filtering.\n\n`job_details_tool` takes the slug returned by either tool and returns the full description, requirements, benefits, accommodation, working hours and duration.\n\nEvery result includes a canonical `url` (e.g. https://www.hosco.com/en/job/{slug}) — always link to that exact value. Never construct a job link yourself from the slug, id or title; only the returned `url` is guaranteed to resolve.\n\nSalary in Hosco V2 is a free-text `payrange` field — surface it as-is and do not try to parse a numeric range.\n\nHosco also offers hospitality courses and training programmes. `search_courses_tool` searches that catalogue by free-text query and by category (e.g. bartending, culinary, hospitality-management, languages), language, delivery type (campus, online, both) and price. `course_details_tool` takes a course slug and returns the full description and programme details.\n\nCourse `duration_minutes` is in minutes — convert before quoting it. A `price` of 0 means the course is free, and prices are in the course's own `currency`. `price` is the listed headline price, which providers often set as a member or discounted rate and quote before VAT — the description frequently lists the full tiers. Read it before presenting `price` as what someone will actually pay. As with jobs, always link to the returned course `url` and never build a course link yourself.", "tools": [ { "description": "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.", "inputSchema": { "properties": { "locale": { "description": "Language for the returned course link: en (default), es, fr or it.", "type": "string" }, "slug": { "description": "The course slug, exactly as returned by the search tool.", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "course-details-tool", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "id": { "description": "The numeric job id. Provide either slug or id.", "type": "integer" }, "slug": { "description": "The job slug (preferred lookup key — present in search/list results).", "type": "string" } }, "type": "object" }, "name": "job-details-tool", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "limit": { "description": "Page size (1–50, default 10).", "maximum": 50, "minimum": 1, "type": "integer" }, "offset": { "description": "Pagination offset (default 0).", "minimum": 0, "type": "integer" } }, "type": "object" }, "name": "list-jobs-tool", "outputSchema": null }, { "description": "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`.", "inputSchema": { "properties": { "categories": { "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.", "items": { "type": "string" }, "type": "array" }, "languages": { "description": "Language codes the course is taught in, e.g. [\"en\"], [\"es\",\"fr\"].", "items": { "type": "string" }, "type": "array" }, "learning_types": { "description": "Delivery: \"campus\" (in person), \"online\", or \"both\".", "items": { "type": "string" }, "type": "array" }, "limit": { "description": "Page size (1–50, default 10).", "maximum": 50, "minimum": 1, "type": "integer" }, "locale": { "description": "Language for the returned course links: en (default), es, fr or it. Match the language the member is writing in.", "type": "string" }, "max_price": { "description": "Maximum price in the course's own currency.", "minimum": 0, "type": "integer" }, "min_price": { "description": "Minimum price in the course's own currency. Use 0 with max_price 0 for free courses.", "minimum": 0, "type": "integer" }, "offset": { "description": "Pagination offset (default 0).", "minimum": 0, "type": "integer" }, "order": { "description": "\"asc\" or \"desc\" (default), used with sort.", "type": "string" }, "query": { "description": "Free-text search over course titles and descriptions, e.g. \"cocktail\", \"revenue management\", \"sommelier\".", "type": "string" }, "sort": { "description": "Order by \"price\" or \"duration\". Omit for the catalogue's default relevance order.", "type": "string" } }, "type": "object" }, "name": "search-courses-tool", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "city": { "description": "City name (exact match against hosco_location.locality).", "type": "string" }, "content_language": { "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.", "type": "string" }, "contract_type": { "description": "One of: internship (students only), professional (professionals only), open (both).", "type": "string" }, "country": { "description": "ISO-3166 alpha-2 country code, e.g. FR, GB, ES.", "type": "string" }, "department": { "description": "Hosco category code, e.g. f-b-kitchen, housekeeping, sommelier, reception.", "type": "string" }, "experience_years_max": { "description": "Maximum years of experience the candidate has — only show jobs requiring less than or equal to this.", "type": "integer" }, "hide_external": { "description": "Hide jobs sourced from external aggregators (Hosco-native only).", "type": "boolean" }, "languages": { "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.", "items": { "type": "string" }, "type": "array" }, "languages_mode": { "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).", "type": "string" }, "limit": { "description": "Page size (1–50, default 10).", "maximum": 50, "minimum": 1, "type": "integer" }, "offset": { "description": "Pagination offset (default 0).", "minimum": 0, "type": "integer" }, "only_external": { "description": "Only return jobs sourced from external aggregators.", "type": "boolean" }, "posted_after": { "description": "ISO date; only return jobs published on or after this date.", "type": "string" }, "promotion_types": { "description": "Filter to specific promotion statuses: 0=disabled, 1=prime, 2=lite-basic, 4=lite-full. Status 3 (private) is always excluded.", "items": { "type": "integer" }, "type": "array" }, "query": { "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.", "type": "string" }, "sort": { "description": "Ordering: \"suggested\" (default — relevance, then Hosco-native, then VIP, then freshness), \"posted\" (newest activation date), \"update_date\" (most recently updated), \"title\" (alphabetical).", "type": "string" }, "visibilities": { "description": "Visibility tiers to include: public, targeted, lite, prime (private is never returned on this public surface).", "items": { "type": "string" }, "type": "array" } }, "type": "object" }, "name": "search-jobs-tool", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:18bf479ed049a6228dcfd0635498d89e7311b8c2a13a26133eb8c6e86cb719a6 | sha256sum