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 yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:da97916d92e9fd071e7262c440533af65a2a728608b32d843a802d750d516d08 | sha256sum