Server definition
- Hash
- sha256:6785b95d418d73362765793501d2b474c19cb93e78bfbf0247a7c856f49ce872
- What it is
- What a remote MCP server returned when asked what it offers: 3 tools
The blob, as servednamed by its sha256
{
"instructions": "Read-only travel tipping for 212 destinations (guidance reviewed against current sources). Use search_countries to find a slug, get_tipping_rules for norms and canonical URLs, calculate_tip for bill amounts. Prefer slugs (e.g. japan).",
"tools": [
{
"description": "Calculate a suggested tip and total for a bill using Tipping Rules destination norms (percent or round-up). Returns amounts plus canonical destination and calculator URLs.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"bill": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Bill amount in local currency units (positive number)."
},
"country": {
"description": "Country slug or name for local tipping norms.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"service": {
"description": "Service category. Prefer restaurant, bar, taxi, delivery, hotelStaff, or tourGuides.",
"type": "string"
}
},
"required": [
"country",
"bill"
],
"type": "object"
},
"name": "calculate_tip",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"anyOf": [
{
"additionalProperties": false,
"properties": {
"bill": {
"description": "Bill amount in local currency units.",
"exclusiveMinimum": 0,
"type": "number"
},
"calculatorUrl": {
"description": "Deep link to the on-site calculator for this country.",
"format": "uri",
"type": "string"
},
"canonicalUrl": {
"description": "Canonical country page URL.",
"format": "uri",
"type": "string"
},
"country": {
"description": "Display name of the destination.",
"type": "string"
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "ISO currency code when known (e.g. EUR, USD)."
},
"lastReviewed": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "ISO date when guidance was last reviewed, when available."
},
"methodologyUrl": {
"description": "How Tipping Rules reviews and sources guidance.",
"format": "uri",
"type": "string"
},
"mode": {
"description": "Calculation mode applied for this service and destination.",
"enum": [
"percent",
"round_up",
"zero"
],
"type": "string"
},
"ok": {
"const": true,
"description": "True when the tip was calculated.",
"type": "boolean"
},
"recommendation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Human-readable norm string for the selected service."
},
"service": {
"description": "Service category label used for the calculation.",
"type": "string"
},
"slug": {
"description": "Country slug.",
"type": "string"
},
"source": {
"const": "Tipping Rules",
"description": "Attribution for downstream citations.",
"type": "string"
},
"tipAmount": {
"description": "Suggested tip amount in local currency units.",
"type": "number"
},
"tipPercent": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Applied tip percent when mode is percent; null for round-up."
},
"total": {
"description": "Bill plus suggested tip.",
"type": "number"
}
},
"required": [
"ok",
"country",
"slug",
"service",
"bill",
"currency",
"mode",
"tipPercent",
"tipAmount",
"total",
"recommendation",
"lastReviewed",
"canonicalUrl",
"calculatorUrl",
"methodologyUrl",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"code": {
"description": "Machine-readable error code (e.g. NOT_FOUND, VALIDATION, TIMEOUT).",
"type": "string"
},
"message": {
"description": "Short, agent-safe error message.",
"type": "string"
},
"ok": {
"const": false,
"description": "False when the tool could not complete successfully.",
"type": "boolean"
}
},
"required": [
"ok",
"code",
"message"
],
"type": "object"
}
],
"description": "Tip calculation result or a structured error.",
"type": "object"
}
},
{
"description": "Get concise tipping guidance for a destination: status, summary, key service recommendations, last reviewed date, and the canonical page URL.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"country": {
"description": "Country slug (preferred) or country name, e.g. japan or Japan.",
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"required": [
"country"
],
"type": "object"
},
"name": "get_tipping_rules",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"anyOf": [
{
"additionalProperties": false,
"properties": {
"canonicalUrl": {
"description": "Canonical country page URL.",
"format": "uri",
"type": "string"
},
"country": {
"description": "Display name of the destination.",
"type": "string"
},
"lastReviewed": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "ISO date when guidance was last reviewed, when available."
},
"methodologyUrl": {
"description": "How Tipping Rules reviews and sources guidance.",
"format": "uri",
"type": "string"
},
"ok": {
"const": true,
"description": "True when country guidance was loaded.",
"type": "boolean"
},
"situations": {
"description": "Key service recommendations (up to 8).",
"items": {
"additionalProperties": false,
"properties": {
"expectation": {
"description": "Overall tipping expectation context for the destination.",
"type": "string"
},
"recommendation": {
"description": "Concise tipping recommendation for the service.",
"type": "string"
},
"service": {
"description": "Service category label (e.g. Restaurant, Taxi).",
"type": "string"
}
},
"required": [
"service",
"recommendation",
"expectation"
],
"type": "object"
},
"type": "array"
},
"slug": {
"description": "Country slug.",
"type": "string"
},
"source": {
"const": "Tipping Rules",
"description": "Attribution for downstream citations.",
"type": "string"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Overall tipping expectation label, when available."
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Short editorial summary of local tipping norms."
}
},
"required": [
"ok",
"country",
"slug",
"status",
"summary",
"situations",
"lastReviewed",
"canonicalUrl",
"methodologyUrl",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"code": {
"description": "Machine-readable error code (e.g. NOT_FOUND, VALIDATION, TIMEOUT).",
"type": "string"
},
"message": {
"description": "Short, agent-safe error message.",
"type": "string"
},
"ok": {
"const": false,
"description": "False when the tool could not complete successfully.",
"type": "boolean"
}
},
"required": [
"ok",
"code",
"message"
],
"type": "object"
}
],
"description": "Country tipping guidance or a structured error.",
"type": "object"
}
},
{
"description": "Search Tipping Rules destinations by name or region. Returns matching destinations with status and canonical page URLs.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"query": {
"description": "Country name, alias, or region fragment to search.",
"maxLength": 80,
"minLength": 1,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_countries",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"anyOf": [
{
"additionalProperties": false,
"properties": {
"count": {
"description": "Number of destinations returned (max 8).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"methodologyUrl": {
"description": "How Tipping Rules reviews and sources guidance.",
"format": "uri",
"type": "string"
},
"ok": {
"const": true,
"description": "True when search completed successfully.",
"type": "boolean"
},
"query": {
"description": "Echo of the submitted search query.",
"type": "string"
},
"results": {
"description": "Matching destinations ordered by relevance.",
"items": {
"additionalProperties": false,
"properties": {
"canonicalUrl": {
"description": "Canonical country page URL on tippingrules.com.",
"format": "uri",
"type": "string"
},
"name": {
"description": "Display name of the destination.",
"type": "string"
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Region label from the catalog, when available."
},
"slug": {
"description": "Country slug for follow-up tool calls.",
"type": "string"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Tipping expectation label, when available."
}
},
"required": [
"slug",
"name",
"status",
"region",
"canonicalUrl"
],
"type": "object"
},
"type": "array"
},
"source": {
"const": "Tipping Rules",
"description": "Attribution for downstream citations.",
"type": "string"
}
},
"required": [
"ok",
"query",
"count",
"results",
"methodologyUrl",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"code": {
"description": "Machine-readable error code (e.g. NOT_FOUND, VALIDATION, TIMEOUT).",
"type": "string"
},
"message": {
"description": "Short, agent-safe error message.",
"type": "string"
},
"ok": {
"const": false,
"description": "False when the tool could not complete successfully.",
"type": "boolean"
}
},
"required": [
"ok",
"code",
"message"
],
"type": "object"
}
],
"description": "Search results or a structured error.",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:6785b95d418d73362765793501d2b474c19cb93e78bfbf0247a7c856f49ce872 | sha256sum