Server definition
- Hash
- sha256:1892c0a5127c1c959f571a93e1205b3fc65d708017bf46a85b3b38f3b31e5708
- What it is
- What a remote MCP server returned when asked what it offers: 8 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Who Kratons is: legal identity, address, contact channels, countries served, languages, services, pricing policy and how to request a proposal. Read-only.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_company_facts",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"address": {
"additionalProperties": true,
"properties": {
"countryCode": {
"type": "string"
},
"countryName": {
"type": "string"
},
"lines": {
"items": {
"type": "string"
},
"type": "array"
},
"locality": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"region": {
"type": "string"
},
"streetAddress": {
"type": "string"
}
},
"required": [
"lines",
"streetAddress",
"postalCode",
"locality",
"region",
"countryName",
"countryCode"
],
"type": "object"
},
"agentStatement": {
"type": "string"
},
"api": {
"additionalProperties": true,
"properties": {
"baseUrl": {
"type": "string"
},
"endpoints": {
"items": {
"additionalProperties": true,
"properties": {
"contentType": {
"type": "string"
},
"description": {
"type": "string"
},
"method": {
"enum": [
"GET",
"POST"
],
"type": "string"
},
"path": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"path",
"title",
"description",
"contentType"
],
"type": "object"
},
"type": "array"
},
"mcpPath": {
"type": "string"
}
},
"required": [
"baseUrl",
"endpoints",
"mcpPath"
],
"type": "object"
},
"areaServed": {
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"code"
],
"type": "object"
},
"type": "array"
},
"basedIn": {
"type": "string"
},
"brand": {
"type": "string"
},
"contact": {
"additionalProperties": true,
"properties": {
"channels": {
"items": {
"type": "string"
},
"type": "array"
},
"email": {
"type": "string"
},
"phones": {
"items": {
"additionalProperties": true,
"properties": {
"country": {
"type": "string"
},
"e164": {
"type": "string"
},
"label": {
"type": "string"
},
"number": {
"type": "string"
}
},
"required": [
"label",
"number",
"e164",
"country"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"email",
"phones",
"channels"
],
"type": "object"
},
"description": {
"additionalProperties": false,
"properties": {
"long": {
"type": "string"
},
"short": {
"type": "string"
}
},
"required": [
"short",
"long"
],
"type": "object"
},
"foundedYear": {
"type": "integer"
},
"iata": {
"description": "IATA accreditation number",
"type": "string"
},
"languages": {
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"code"
],
"type": "object"
},
"type": "array"
},
"legalName": {
"type": "string"
},
"positioning": {
"items": {
"type": "string"
},
"type": "array"
},
"pricingPolicy": {
"additionalProperties": true,
"properties": {
"rules": {
"items": {
"type": "string"
},
"type": "array"
},
"summary": {
"type": "string"
}
},
"required": [
"summary",
"rules"
],
"type": "object"
},
"proposalRequest": {
"additionalProperties": true,
"properties": {
"afterwards": {
"type": "string"
},
"checklist": {
"items": {
"type": "string"
},
"type": "array"
},
"how": {
"type": "string"
}
},
"required": [
"how",
"checklist",
"afterwards"
],
"type": "object"
},
"services": {
"items": {
"type": "string"
},
"type": "array"
},
"taxId": {
"description": "Spanish NIF / CIF",
"type": "string"
},
"web": {
"additionalProperties": true,
"properties": {
"home": {
"type": "string"
},
"homeEs": {
"type": "string"
},
"logo": {
"type": "string"
},
"pages": {
"items": {
"additionalProperties": true,
"properties": {
"description": {
"type": "string"
},
"key": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"key",
"title",
"url",
"description"
],
"type": "object"
},
"type": "array"
},
"sameAs": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"home",
"homeEs",
"logo",
"sameAs",
"pages"
],
"type": "object"
}
},
"required": [
"brand",
"legalName",
"taxId",
"iata",
"foundedYear",
"basedIn",
"description",
"address",
"contact",
"web",
"areaServed",
"languages",
"services",
"positioning",
"pricingPolicy",
"proposalRequest",
"agentStatement",
"api"
],
"type": "object"
}
},
{
"description": "Where a submitted proposal request stands (received, being prepared, proposal sent, confirmed, closed), looked up by the reference returned when it was submitted. Returns the stage, dates and the reply commitment; no personal data.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"reference": {
"description": "The reference returned by request_a_proposal, e.g. PR-20260916-U8GB",
"pattern": "^PR-\\d{8}-[A-Za-z0-9]{4}$",
"type": "string"
}
},
"required": [
"reference"
],
"type": "object"
},
"name": "get_proposal_request_status",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"lastUpdateAt": {
"description": "ISO timestamp",
"type": "string"
},
"nextStep": {
"type": "string"
},
"receivedAt": {
"description": "ISO timestamp",
"type": "string"
},
"reference": {
"type": "string"
},
"slaBusinessDays": {
"type": "integer"
},
"status": {
"enum": [
"received",
"being_prepared",
"proposal_sent",
"confirmed",
"closed"
],
"type": "string"
},
"statusText": {
"type": "string"
}
},
"required": [
"reference",
"status",
"statusText",
"receivedAt",
"lastUpdateAt",
"slaBusinessDays",
"nextStep"
],
"type": "object"
}
},
{
"description": "Aggregate rating (1–5) and the newest traveller reviews of Kratons from Zicasso and Google, each attributed to the platform that published it, with a link to read them all. A source that cannot be read is listed as unavailable — never invented.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"description": "Newest reviews to return (default 6, max 20)",
"maximum": 20,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "get_reviews",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"bestRating": {
"const": 5,
"type": "number"
},
"generatedAt": {
"type": "string"
},
"note": {
"type": "string"
},
"ratingValue": {
"description": "Weighted average over the available sources, 1–5",
"type": [
"number",
"null"
]
},
"reviewCount": {
"type": "integer"
},
"reviews": {
"items": {
"additionalProperties": false,
"properties": {
"countries": {
"items": {
"type": "string"
},
"type": "array"
},
"date": {
"$ref": "#/properties/sources/items/properties/url"
},
"excerpt": {
"type": "string"
},
"rating": {
"type": "number"
},
"reviewer": {
"description": "As published by the platform",
"type": "string"
},
"source": {
"enum": [
"Zicasso",
"Google"
],
"type": "string"
},
"title": {
"$ref": "#/properties/sources/items/properties/url"
},
"url": {
"$ref": "#/properties/sources/items/properties/url"
}
},
"required": [
"source",
"reviewer",
"rating",
"title",
"excerpt",
"date",
"countries",
"url"
],
"type": "object"
},
"type": "array"
},
"sources": {
"items": {
"additionalProperties": false,
"properties": {
"available": {
"description": "false when the platform could not be read; `error` says why",
"type": "boolean"
},
"bestRating": {
"const": 5,
"type": "number"
},
"error": {
"type": "string"
},
"rating": {
"description": "Average on the 1–5 scale",
"type": [
"number",
"null"
]
},
"reviewCount": {
"type": "integer"
},
"source": {
"enum": [
"Zicasso",
"Google"
],
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"available",
"rating",
"bestRating",
"reviewCount",
"url"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"ratingValue",
"bestRating",
"reviewCount",
"sources",
"reviews",
"note",
"generatedAt"
],
"type": "object"
}
},
{
"description": "The checklist a traveller or agent should send to Kratons to receive a bespoke proposal, the pricing policy, and how a human advisor follows up. Read-only.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "how_to_request_a_proposal",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"afterwards": {
"description": "What happens after a request is submitted",
"type": "string"
},
"agentStatement": {
"type": "string"
},
"checklist": {
"description": "What a traveller or agent should include in a request",
"items": {
"type": "string"
},
"type": "array"
},
"contact": {
"additionalProperties": false,
"properties": {
"email": {
"type": "string"
},
"phones": {
"items": {
"additionalProperties": false,
"properties": {
"e164": {
"type": "string"
},
"label": {
"type": "string"
},
"number": {
"type": "string"
}
},
"required": [
"label",
"number",
"e164"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"email",
"phones"
],
"type": "object"
},
"guide": {
"description": "The full guide as Markdown",
"type": "string"
},
"how": {
"type": "string"
},
"pricingPolicy": {
"additionalProperties": false,
"properties": {
"rules": {
"items": {
"type": "string"
},
"type": "array"
},
"summary": {
"type": "string"
}
},
"required": [
"summary",
"rules"
],
"type": "object"
}
},
"required": [
"guide",
"how",
"checklist",
"afterwards",
"contact",
"pricingPolicy",
"agentStatement"
],
"type": "object"
}
},
{
"description": "Countries and cities where Kratons currently offers tours or tickets, with counts. Read-only.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_destinations",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"countries": {
"items": {
"additionalProperties": false,
"properties": {
"cities": {
"items": {
"additionalProperties": false,
"properties": {
"city": {
"type": "string"
},
"experienceCount": {
"type": "integer"
}
},
"required": [
"city",
"experienceCount"
],
"type": "object"
},
"type": "array"
},
"country": {
"type": "string"
},
"experienceCount": {
"type": "integer"
}
},
"required": [
"country",
"experienceCount",
"cities"
],
"type": "object"
},
"type": "array"
},
"generatedAt": {
"description": "ISO timestamp of the underlying query (cached for an hour)",
"type": "string"
}
},
"required": [
"countries",
"generatedAt"
],
"type": "object"
}
},
{
"description": "Published sample itineraries Kratons operates, as { itineraries: [...] } (name, destination, duration, category, summary, day-by-day outline) to start a conversation from. Never prices or suppliers — every trip is quoted as one package price by a human advisor.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"country": {
"description": "Destination filter, e.g. Portugal, Andalusia",
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"limit": {
"description": "Max results (default 20, max 50)",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Free text on name, summary and tags",
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"name": "list_sample_itineraries",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"itineraries": {
"items": {
"additionalProperties": false,
"properties": {
"category": {
"type": "string"
},
"days": {
"items": {
"additionalProperties": false,
"properties": {
"day": {
"description": "1-based day number",
"type": "integer"
},
"items": {
"items": {
"additionalProperties": false,
"properties": {
"kind": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"kind",
"label"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"day",
"items"
],
"type": "object"
},
"type": "array"
},
"destination": {
"type": [
"string",
"null"
]
},
"durationDays": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"pricing": {
"description": "The pricing note: one package price per trip, no public price list",
"type": "string"
},
"summary": {
"$ref": "#/properties/itineraries/items/properties/destination"
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id",
"name",
"destination",
"durationDays",
"category",
"tags",
"summary",
"days",
"pricing"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"itineraries"
],
"type": "object"
}
},
{
"description": "Submit a structured proposal request to Kratons on behalf of a traveller or a travel agent: contact, destinations within Spain/Portugal/Morocco, dates, travellers, total budget, interests. Returns a reference. A human advisor replies by e-mail — there is no automatic booking, no online checkout and no price list. Send idempotencyKey to retry safely.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"contact": {
"additionalProperties": false,
"properties": {
"email": {
"description": "E-mail address a human advisor will reply to",
"format": "email",
"maxLength": 254,
"type": "string"
},
"language": {
"description": "Language for the reply (English or Spanish)",
"enum": [
"en",
"es"
],
"type": "string"
},
"name": {
"description": "Traveller's (or the person to reply to) full name",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"phone": {
"description": "Phone / WhatsApp number with country code",
"maxLength": 40,
"type": "string"
},
"preferredChannel": {
"enum": [
"email",
"phone",
"whatsapp",
"video_call"
],
"type": "string"
}
},
"required": [
"name",
"email"
],
"type": "object"
},
"idempotencyKey": {
"description": "Send the same key to retry safely; the same reference comes back",
"maxLength": 120,
"type": "string"
},
"requester": {
"additionalProperties": false,
"default": {
"kind": "ai_agent"
},
"properties": {
"agentName": {
"description": "Name of the assistant or agency submitting this",
"maxLength": 120,
"type": "string"
},
"agentVendor": {
"description": "Vendor / platform of the assistant (e.g. OpenAI, Anthropic)",
"maxLength": 120,
"type": "string"
},
"kind": {
"default": "ai_agent",
"enum": [
"ai_agent",
"travel_agent",
"traveller"
],
"type": "string"
}
},
"type": "object"
},
"socialPostId": {
"description": "The Kratons social post the traveller came from, when the link carried it",
"pattern": "^[0-9a-fA-F]{24}$",
"type": "string"
},
"source": {
"description": "Where this request originated, e.g. \"social\" when the traveller followed a link in one of Kratons' social posts",
"enum": [
"social",
"web",
"agent",
"referral",
"other"
],
"type": "string"
},
"trip": {
"additionalProperties": false,
"properties": {
"accommodationStyle": {
"maxLength": 200,
"type": "string"
},
"budgetTotal": {
"description": "Approximate total budget for the WHOLE trip",
"maximum": 5000000,
"minimum": 0,
"type": "number"
},
"currency": {
"default": "EUR",
"enum": [
"EUR",
"USD"
],
"type": "string"
},
"dates": {
"additionalProperties": false,
"properties": {
"end": {
"description": "YYYY-MM-DD",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"flexible": {
"default": false,
"type": "boolean"
},
"month": {
"description": "YYYY-MM when exact dates are not fixed",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"type": "string"
},
"start": {
"description": "YYYY-MM-DD",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
}
},
"type": "object"
},
"destinations": {
"description": "Countries, regions or cities within Spain, Portugal and/or Morocco",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 12,
"minItems": 1,
"type": "array"
},
"hotelPreferences": {
"additionalProperties": false,
"description": "Accommodation preferences by level or by hotel name (2026-09-17)",
"properties": {
"level": {
"description": "Hotel level the traveller expects; 'mixed' when it may vary by city",
"enum": [
"3_star",
"4_star",
"5_star",
"luxury",
"boutique",
"historic_or_parador",
"mixed"
],
"type": "string"
},
"names": {
"description": "Specific hotels the traveller has in mind, by name",
"items": {
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"notes": {
"description": "Anything else about accommodation (room types, location, must-haves)",
"maxLength": 500,
"type": "string"
}
},
"type": "object"
},
"interests": {
"default": [],
"description": "Interests and preferred pace",
"items": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"needs": {
"description": "Mobility or dietary needs",
"maxLength": 2000,
"type": "string"
},
"nights": {
"maximum": 90,
"minimum": 1,
"type": "integer"
},
"notes": {
"description": "Anything else the advisor should know",
"maxLength": 4000,
"type": "string"
},
"occasion": {
"description": "Anniversary, birthday, honeymoon…",
"maxLength": 200,
"type": "string"
},
"travelers": {
"additionalProperties": false,
"properties": {
"adults": {
"maximum": 40,
"minimum": 1,
"type": "integer"
},
"ages": {
"description": "Ages of children (and adults if relevant)",
"items": {
"maximum": 120,
"minimum": 0,
"type": "integer"
},
"maxItems": 40,
"type": "array"
},
"children": {
"default": 0,
"maximum": 40,
"minimum": 0,
"type": "integer"
}
},
"required": [
"adults"
],
"type": "object"
}
},
"required": [
"destinations",
"dates",
"travelers"
],
"type": "object"
},
"utm": {
"additionalProperties": false,
"description": "UTM parameters of the landing link, when any",
"properties": {
"campaign": {
"maxLength": 100,
"type": "string"
},
"medium": {
"maxLength": 100,
"type": "string"
},
"source": {
"maxLength": 100,
"type": "string"
}
},
"type": "object"
}
},
"required": [
"contact",
"trip"
],
"type": "object"
},
"name": "request_a_proposal",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"acknowledged": {
"description": "One sentence echoing what was received, to confirm it to the traveller",
"type": "string"
},
"contactForChanges": {
"type": "string"
},
"duplicate": {
"description": "true when the same request was already received in the last 24 h (same reference returned)",
"type": "boolean"
},
"missing": {
"description": "Recommended details this request did not carry — collect them before the advisor has to ask",
"items": {
"type": "string"
},
"type": "array"
},
"receivedAt": {
"description": "ISO timestamp",
"type": "string"
},
"reference": {
"description": "Quote it in any follow-up; get_proposal_request_status reads it",
"type": "string"
},
"whatHappensNext": {
"type": "string"
}
},
"required": [
"reference",
"duplicate",
"receivedAt",
"whatHappensNext",
"contactForChanges",
"missing",
"acknowledged"
],
"type": "object"
}
},
{
"description": "Tours and tickets Kratons operates, filtered by country, city and free text. Returns { experiences: [...] } with name, type, city, country, category, duration, free-cancellation flag and a summary — never prices or suppliers (Kratons quotes one package price per trip).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"city": {
"description": "City name, e.g. Madrid, Lisbon, Marrakech",
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"country": {
"description": "Country name, e.g. Spain, Portugal, Morocco",
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"limit": {
"description": "Max results (default 20, max 50)",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Free-text search on name, description and tags",
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"name": "search_experiences",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"experiences": {
"description": "Never prices or suppliers — one package price per trip, quoted by a human",
"items": {
"additionalProperties": false,
"properties": {
"category": {
"anyOf": [
{
"enum": [
"private",
"small_group",
"group"
],
"type": "string"
},
{
"type": "null"
}
]
},
"city": {
"type": [
"string",
"null"
]
},
"country": {
"$ref": "#/properties/experiences/items/properties/city"
},
"durationMinutes": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"freeCancellation": {
"type": "boolean"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"summary": {
"type": "string"
},
"type": {
"enum": [
"Tour",
"Ticket"
],
"type": "string"
}
},
"required": [
"id",
"name",
"type",
"city",
"country",
"category",
"durationMinutes",
"freeCancellation",
"summary"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"experiences"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:1892c0a5127c1c959f571a93e1205b3fc65d708017bf46a85b3b38f3b31e5708 | sha256sum