Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,536Letters: 14Defects: 1,322counted 4 min ago
teppi

Server definition

Hash
sha256:b241b228ea39c23d9ba4089e317f471287e065bd969c3412284be305b31de2a6
What it is
What a remote MCP server returned when asked what it offers: 2 tools

The blob, as servednamed by its sha256

{ "instructions": "Search and retrieve job postings on Nationale Vacaturebank. Call search_jobs first to find listings; use get_job with an id from the search result to fetch full details. All listings are in Dutch.", "tools": [ { "description": "Fetch the full details of a single job posting by id. Use this after `search_jobs` to retrieve the complete description, requirements, salary breakdown, and company information for a listing. Returns an error result if the id is unknown.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "description": "Numeric or UUID job identifier. Get this from search_jobs results.", "pattern": "^(\\d+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "get_job", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "careerLevel": { "type": "string" }, "categories": { "items": { "type": "string" }, "type": "array" }, "company": { "additionalProperties": false, "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "name": { "type": "string" } }, "required": [ "name", "description" ], "type": "object" }, "contractType": { "type": "string" }, "customFields": { "anyOf": [ { "items": { "additionalProperties": false, "properties": { "content": { "type": "string" }, "title": { "type": "string" } }, "required": [ "title", "content" ], "type": "object" }, "type": "array" }, { "type": "null" } ] }, "description": { "type": "string" }, "educationLevel": { "type": "string" }, "id": { "type": "string" }, "industries": { "items": { "type": "string" }, "type": "array" }, "location": { "type": "string" }, "publishingDate": { "type": "string" }, "requirements": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "salary": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "title": { "type": "string" }, "url": { "format": "uri", "type": "string" }, "workingHours": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workingPlace": { "anyOf": [ { "enum": [ "Werken op afstand", "Werken op locatie", "Hybride" ], "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "title", "description", "requirements", "publishingDate", "url", "company", "location", "workingHours", "workingPlace", "salary", "contractType", "educationLevel", "careerLevel", "categories", "industries", "customFields" ], "type": "object" } }, { "description": "Search the live Dutch job catalogue for openings matching the given criteria. Use this when the user wants to find jobs by role, location, salary, contract type, remote/onsite preference, or education level. Each result carries an `id` you can pass to `get_job` for the full record. Pagination metadata (`page`, `totalPages`, `total`) is included so the client can decide whether to fetch the next page.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "careerLevel": { "description": "Filter by career level. Multi-select. Dutch values: 'Geen ervaring' (no experience), 'Starter', 'Ervaren' (experienced), 'Leidinggevend' (manager), 'Senior management', 'Directie' (board).", "items": { "enum": [ "Geen ervaring", "Starter", "Ervaren", "Leidinggevend", "Senior management", "Directie" ], "type": "string" }, "minItems": 1, "type": "array" }, "category": { "description": "Filter by job category (the on-site 'Vakgebied' filter). Multi-select. Dutch values, e.g. 'Automatisering/Internet' (IT), 'Medisch/Zorg' (medical/care), 'Marketing/PR/Communicatie'.", "items": { "enum": [ "Administratief/Secretarieel", "Automatisering/Internet", "Beleid/Bestuur/Staf", "Beveiliging/Defensie/Politie", "Commercieel/Verkoop", "Consultancy/Advies", "Design/Creatie/Journalistiek", "Directie/Management algemeen", "Financieel/Accounting", "Financiele dienstverlening", "HR/Training/Opleiding", "Horeca/Detailhandel", "Inkoop/Logistiek/Transport", "Juridisch", "Klantenservice/Callcenter/Receptie", "Marketing/PR/Communicatie", "Medisch/Zorg", "Onderwijs/Onderzoek/Wetenschap", "Productie/Uitvoerend", "Techniek", "Overig" ], "type": "string" }, "minItems": 1, "type": "array" }, "contractType": { "description": "Filter by contract type. Multi-select. Dutch labour-market values: 'Vast' (permanent), 'Tijdelijk' (temporary), 'Freelance', 'ZZP' (self-employed), 'Stage' (internship), etc.", "items": { "enum": [ "Bijbaan", "Freelance", "Interim", "Leer-werk overeenkomst", "Stage", "Thuiswerk", "Tijdelijk", "Vakantiewerk", "Vast", "Vrijwilliger", "ZZP", "Zelfstandig/Franchise" ], "type": "string" }, "minItems": 1, "type": "array" }, "distance": { "description": "Search radius in kilometres around the given location. Use 'city' for an exact city match or '0' for nationwide (500 km).", "enum": [ "0", "10", "20", "30", "40", "50", "75", "100", "city" ], "type": "string" }, "educationLevel": { "description": "Filter by required education level. Multi-select. Use the Dutch abbreviation: 'WO' (university), 'HBO' (applied university), 'MBO' (vocational), etc.", "items": { "enum": [ "Postdoctoraal", "WO", "HBO", "MBO", "VWO", "HAVO", "VMBO/MAVO", "LBO", "Lagere school" ], "type": "string" }, "minItems": 1, "type": "array" }, "employmentType": { "description": "Filter by hours. 'fulltime' = 33-40h/week, 'parttime' = 1-32h/week. Omit to include both.", "enum": [ "fulltime", "parttime" ], "type": "string" }, "industry": { "description": "Filter by industry (the on-site 'Branche' filter). Multi-select. Dutch values, e.g. 'ICT', 'Gezondheidszorg/Welzijn', 'Onderwijs/Opleiding'.", "items": { "enum": [ "Accountancy", "Advies/Consultancy", "Afval en milieu", "Automotive", "Banken/Financiële dienstverlening", "Beveiliging/Bewaking", "Bouw/Installatie", "Chemie/Petrochemie", "Detailhandel", "Elektronica", "Energie/Gas/Water", "FMCG", "Facilitaire dienstverlening", "Farmacie", "Gezondheidszorg/Welzijn", "Handel/Groothandel", "Horeca", "ICT", "Industrie", "Internet", "Juridische dienstverlening", "Kunst/Cultuur/Entertainment", "Landbouw/Bosbouw/Visserij", "Makelaardij/Vastgoed", "Maritiem", "Media/Uitgeverijen/TV", "Mode/Textiel/Cosmetica", "Onderwijs/Opleiding", "Overheid/Non-profit", "Personen vervoer", "Reclame/PR/Communicatie", "Sport/Recreatie/Toerisme", "Techniek", "Telecom", "Transport/Opslag/Distributie", "Uitzend/Detachering/W&S", "Verzekeringen/Assurantiën", "Zakelijke dienstverlening", "Overig" ], "type": "string" }, "minItems": 1, "type": "array" }, "limit": { "anyOf": [ { "const": 1, "type": "number" }, { "const": 2, "type": "number" }, { "const": 6, "type": "number" }, { "const": 10, "type": "number" }, { "const": 25, "type": "number" } ], "default": 10, "description": "Number of results to return. Capped at 25 to keep responses compact; use pagination for more." }, "location": { "description": "Dutch city, municipality, or province name. Combined with 'distance' for radius search.", "maxLength": 120, "minLength": 1, "type": "string" }, "page": { "default": 1, "description": "1-based page index. Combine with 'limit' for pagination.", "maximum": 100, "minimum": 1, "type": "integer" }, "postedBy": { "description": "Filter by who posted the listing. 'direct_employer_and_media_bureau' = direct employer, 'human_resource_manager' = third-party recruiter. Omit to include both.", "enum": [ "direct_employer_and_media_bureau", "human_resource_manager" ], "type": "string" }, "query": { "description": "Free-text keywords. Optional; if omitted, returns the most recent jobs matching the other filters.", "maxLength": 200, "minLength": 1, "type": "string" }, "salaryMin": { "description": "Minimum gross monthly salary in euros. Discrete steps: 0, 1500, 2500, 3500, 5000, 7000.", "enum": [ 0, 1500, 2500, 3500, 5000, 7000 ], "type": "number" }, "sort": { "default": "relevance", "description": "Sort order. 'relevance' weighs the query, 'date' is freshness, 'distance' requires 'location', 'popularity' weighs view count.", "enum": [ "relevance", "date", "distance", "popularity" ], "type": "string" }, "workingPlace": { "description": "Filter by work arrangement. 'remote' = work from home only, 'hybrid' = mixed, 'onsite' = office only.", "items": { "enum": [ "remote", "hybrid", "onsite" ], "type": "string" }, "minItems": 1, "type": "array" } }, "type": "object" }, "name": "search_jobs", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "jobs": { "items": { "additionalProperties": false, "properties": { "company": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "location": { "type": "string" }, "publishingDate": { "type": "string" }, "salary": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "title": { "type": "string" }, "url": { "format": "uri", "type": "string" }, "workingHours": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "title", "company", "location", "salary", "publishingDate", "workingHours", "description", "url" ], "type": "object" }, "type": "array" }, "page": { "description": "1-based index of the page returned (echo of the input `page`).", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "total": { "description": "Total number of matching jobs across all pages.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "totalPages": { "description": "Total number of pages available for this query at the current `limit`.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "jobs", "page", "totalPages", "total" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:b241b228ea39c23d9ba4089e317f471287e065bd969c3412284be305b31de2a6 | sha256sum