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

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": "MyOutfitters.ca (MesPourvoiries.ca in French) is Canada's largest marketplace for hunting and fishing outfitters (pourvoiries), where anglers and hunters can discover, compare, and book their next trip directly. Use list_reference_data to learn valid values for every filter (provinces, regions, species, activity types, meal plan types, lodging types, access types, amenities, ZECs, cities, seasons); search_outfitters to shortlist up to 10 outfitters with the full advanced filter set (several species at once, region or ZEC, access, driving hours from a city, Collection Prestige, per-person nightly budget, lodging type and bedrooms, meal plan, season, amenities — at least one criterion is required); get_outfitter for one profile; check_availability for named outfitters and dates; get_booking_options for how one outfitter can actually be booked (online payment or price request) and which packages fit; create_price_request to send a traveller's enquiry. For simple free-text or document-style clients, `search` takes one natural-language query and returns {id, title, url} documents, and `fetch` returns the full document for one of those ids; prefer search_outfitters and get_outfitter when precise criteria are known. Outfitter phone numbers, e-mail addresses and websites are never available: all contact goes through create_price_request, which uses MyOutfitters' anonymised relay. Rates are only published for outfitters that confirmed their listing; otherwise request a quote. Always cite and link the outfitter's MyOutfitters URL. Bulk retrieval of the directory is not supported and is blocked; ask the traveller for criteria instead of iterating. Before calling create_price_request, obtain the traveller's explicit consent to share their name and e-mail with the outfitter through MyOutfitters.", "tools": [ { "description": "For up to 10 named outfitters, tell whether the requested dates fall in season and which packages fit the party. Returns a verdict per outfitter, never raw inventory.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "api_key": { "maxLength": 200, "type": "string" }, "arrival": { "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "departure": { "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "locale": { "enum": [ "fr", "en" ], "type": "string" }, "outfitter_ids": { "description": "Outfitter ids obtained from search_outfitters.", "items": { "maxLength": 160, "type": "string" }, "maxItems": 10, "minItems": 1, "type": "array" }, "party_size": { "maximum": 60, "minimum": 1, "type": "integer" } }, "required": [ "outfitter_ids", "arrival", "departure" ], "type": "object" }, "name": "check_availability", "outputSchema": null }, { "description": "Send a traveller's enquiry to one outfitter through MyOutfitters' anonymised relay. Requires the traveller's own name and e-mail, given with their consent. The outfitter replies by e-mail; neither side sees the other's raw contact details.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "api_key": { "maxLength": 200, "type": "string" }, "arrival": { "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "departure": { "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "email": { "format": "email", "maxLength": 255, "type": "string" }, "full_name": { "maxLength": 120, "minLength": 2, "type": "string" }, "locale": { "enum": [ "fr", "en" ], "type": "string" }, "message": { "maxLength": 2000, "minLength": 5, "type": "string" }, "outfitter_id": { "maxLength": 160, "type": "string" }, "package_id": { "format": "uuid", "type": "string" }, "party_size": { "maximum": 60, "minimum": 1, "type": "integer" }, "phone": { "maxLength": 40, "type": "string" } }, "required": [ "outfitter_id", "full_name", "email", "message" ], "type": "object" }, "name": "create_price_request", "outputSchema": null }, { "description": "Retrieve one MyOutfitters outfitter document by the id returned by `search` (e.g. 'PV-0009') or by its MyOutfitters URL. Returns id, title, url, readable text and metadata. No phone, e-mail or website is ever returned.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "api_key": { "maxLength": 200, "type": "string" }, "id": { "description": "Document id from `search` (e.g. 'PV-0009') or the outfitter's MyOutfitters URL.", "maxLength": 200, "type": "string" }, "locale": { "enum": [ "fr", "en" ], "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "fetch", "outputSchema": null }, { "description": "For one outfitter, return how a stay can be booked: booking mode (online payment on MyOutfitters, or a price request through MyOutfitters' anonymised relay), the packages that fit the party and the requested dates, indicative per-person rates when the listing is confirmed, the season window and the exact next step. Optionally pass dates and party size to filter the packages and get a season/availability verdict.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "api_key": { "maxLength": 200, "type": "string" }, "arrival": { "description": "Requested arrival date (YYYY-MM-DD).", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "departure": { "description": "Requested departure date (YYYY-MM-DD).", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "locale": { "enum": [ "fr", "en" ], "type": "string" }, "outfitter_id": { "description": "Outfitter id (e.g. 'PV-0009') or the id-bearing MyOutfitters URL segment.", "maxLength": 200, "type": "string" }, "party_size": { "maximum": 60, "minimum": 1, "type": "integer" } }, "required": [ "outfitter_id" ], "type": "object" }, "name": "get_booking_options", "outputSchema": null }, { "description": "Public profile of one outfitter: territory, species, season, and up to 8 summarised packages. Rates appear only when the outfitter has confirmed its listing. No phone, e-mail or website is ever returned.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "api_key": { "maxLength": 200, "type": "string" }, "locale": { "enum": [ "fr", "en" ], "type": "string" }, "outfitter_id": { "description": "Outfitter id (e.g. 'PV-0009') or the id-bearing URL segment.", "maxLength": 160, "type": "string" } }, "required": [ "outfitter_id" ], "type": "object" }, "name": "get_outfitter", "outputSchema": null }, { "description": "List the values MyOutfitters understands for each search filter: provinces, regions, species, activity types, meal plan types, lodging types, access types, amenities, ZECs, major cities used as driving origins, and seasons. Contains no outfitter data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "api_key": { "maxLength": 200, "type": "string" }, "kind": { "enum": [ "provinces", "regions", "species", "activity_types", "plan_types", "lodging_types", "access_types", "amenities", "zecs", "cities", "seasons" ], "type": "string" }, "locale": { "enum": [ "fr", "en" ], "type": "string" }, "province": { "description": "Filter regions, ZECs or cities by province.", "maxLength": 60, "type": "string" } }, "required": [ "kind" ], "type": "object" }, "name": "list_reference_data", "outputSchema": null }, { "description": "Free-text search over MyOutfitters' Canadian hunting and fishing outfitters (pourvoiries). Returns up to 10 documents with id, title and URL; pass an id to `fetch` for the full profile. For precise multi-criteria filtering (species, region, budget, lodging, dates) prefer search_outfitters. No phone, e-mail or website is ever returned.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "api_key": { "maxLength": 200, "type": "string" }, "limit": { "maximum": 10, "minimum": 1, "type": "integer" }, "locale": { "enum": [ "fr", "en" ], "type": "string" }, "query": { "description": "Natural-language query, e.g. 'walleye fishing in Mauricie' or 'pourvoirie chasse orignal Abitibi'.", "maxLength": 200, "minLength": 2, "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search", "outputSchema": null }, { "description": "Find up to 10 Canadian hunting and fishing outfitters (pourvoiries) matching a traveller's criteria, using the same advanced filters as the website: activities, several species at once, province, region, ZEC, access type, driving distance from a major city, Collection Prestige, per-person nightly budget, lodging type, single-lodging capacity, bedrooms, two-person and one-person bed counts, meal plan, season and equipment/amenities. Lodging criteria (capacity, bedrooms, beds, amenities) must all be met by the SAME cabin. At least one criterion is required — the full directory is never returned. Results carry no phone number, e-mail or website: enquiries go through create_price_request. Call list_reference_data to learn the valid values for any filter.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "access": { "description": "Access types by code or name (road, boat, floatplane…).", "items": { "maxLength": 60, "type": "string" }, "maxItems": 6, "type": "array" }, "activities": { "description": "Exact activity-type codes an outfitter must offer: chasse (hunting), peche (fishing), big_game_hunting, ice_fishing (pêche sur glace), bird_hunting (chasse aux oiseaux), nature_lodging, family_experiences, hunting_fishing, ecotourism, rental (equipment rental).", "items": { "enum": [ "chasse", "peche", "big_game_hunting", "ice_fishing", "bird_hunting", "nature_lodging", "family_experiences", "hunting_fishing", "ecotourism", "rental" ], "type": "string" }, "maxItems": 6, "type": "array" }, "activity": { "description": "Shorthand for the two main activities.", "enum": [ "fishing", "hunting" ], "type": "string" }, "amenities": { "description": "Amenity names an outfitter must offer in one of its lodgings (all of them must match).", "items": { "maxLength": 60, "type": "string" }, "maxItems": 8, "type": "array" }, "api_key": { "description": "Optional MyOutfitters partner key.", "maxLength": 200, "type": "string" }, "budget_max_per_person_night": { "description": "Cap on the per-person, per-night rate (package price divided by nights).", "maximum": 100000, "minimum": 1, "type": "number" }, "budget_min_per_person_night": { "maximum": 100000, "minimum": 1, "type": "number" }, "hunt_or_fish_keyword": { "description": "Deprecated alias of keyword.", "maxLength": 60, "type": "string" }, "keyword": { "description": "Free text matched against the outfitter name, town, street address and the lakes, reservoirs and rivers it operates on; water-body and address matches rank first.", "maxLength": 60, "type": "string" }, "limit": { "description": "Max results (hard cap 10).", "maximum": 10, "minimum": 1, "type": "integer" }, "locale": { "enum": [ "fr", "en" ], "type": "string" }, "lodging_types": { "description": "Lodging types by code or name (chalet, camp, pavillon…).", "items": { "maxLength": 60, "type": "string" }, "maxItems": 8, "type": "array" }, "max_drive_hours": { "description": "Maximum driving hours from near_city (requires near_city).", "maximum": 24, "minimum": 0.5, "type": "number" }, "max_price_per_person": { "description": "Cap on the starting package price per person.", "maximum": 100000, "minimum": 1, "type": "number" }, "min_bedrooms": { "description": "Minimum bedrooms in a single lodging ('minimum 4 chambres' / '4 rooms').", "maximum": 20, "minimum": 1, "type": "integer" }, "min_double_beds": { "description": "Minimum number of two-person beds in that SAME lodging (double, queen, king; a double bunk bed counts as 2).", "maximum": 40, "minimum": 1, "type": "integer" }, "min_lodging_capacity": { "description": "Minimum number of people a SINGLE cabin/lodging must sleep (e.g. 'a cabin for 10 people' → 10). Different from party_size, which is how many travellers are coming.", "maximum": 50, "minimum": 1, "type": "integer" }, "min_single_beds": { "description": "Minimum number of one-person beds in that SAME lodging (single beds; a bunk bed counts as 2).", "maximum": 40, "minimum": 1, "type": "integer" }, "near_city": { "description": "Major city used as the driving origin, e.g. 'Montréal', 'Toronto'.", "maxLength": 60, "type": "string" }, "party_size": { "description": "Number of guests to accommodate.", "maximum": 60, "minimum": 1, "type": "integer" }, "plan_types": { "description": "Meal plan types by code or name (américain / american, européen, MAP…).", "items": { "maxLength": 60, "type": "string" }, "maxItems": 6, "type": "array" }, "prestige_only": { "description": "Only Collection Prestige outfitters.", "type": "boolean" }, "province": { "description": "Province code or name, e.g. 'QC', 'Ontario'.", "maxLength": 60, "type": "string" }, "region": { "description": "A single tourist region, e.g. 'Mauricie'.", "maxLength": 60, "type": "string" }, "regions": { "description": "Several tourist regions; an outfitter matches any of them.", "items": { "maxLength": 60, "type": "string" }, "maxItems": 8, "type": "array" }, "seasons": { "description": "Seasons the outfitter must be open in.", "items": { "enum": [ "spring", "summer", "fall", "winter" ], "type": "string" }, "maxItems": 4, "type": "array" }, "species": { "anyOf": [ { "maxLength": 60, "type": "string" }, { "items": { "maxLength": 60, "type": "string" }, "maxItems": 8, "type": "array" } ], "description": "One species or several, e.g. ['doré','brochet'] / ['walleye','pike']." }, "species_match": { "description": "'all' (default) requires every species; 'any' matches at least one.", "enum": [ "all", "any" ], "type": "string" }, "zecs": { "description": "ZEC names (Quebec controlled-exploitation zones).", "items": { "maxLength": 60, "type": "string" }, "maxItems": 8, "type": "array" } }, "type": "object" }, "name": "search_outfitters", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:da97916d92e9fd071e7262c440533af65a2a728608b32d843a802d750d516d08 | sha256sum