Tipping Rules

Read-only travel tipping for 140 destinations: search, country rules, and tip calculator.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,784Tokens (tool definitions)
~7.2 KBTypical response size
Moderate attention impact (1.39% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "tipping-rules": {
      "url": "https://www.tippingrules.com/api/mcp"
    }
  }
}

Remote endpoints

https://www.tippingrules.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_countries(query)

Search Tipping Rules destinations by name or region. Returns matching destinations with status and canonical page URLs.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Country name, alias, or region fragment to search."
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "ok": {
          "type": "boolean",
          "const": true,
          "description": "True when search completed successfully."
        },
        "query": {
          "type": "string",
          "description": "Echo of the submitted search query."
        },
        "count": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Number of destinations returned (max 8)."
        },
        "results": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string",
                "description": "Country slug for follow-up tool calls."
              },
              "name": {
                "type": "string",
                "description": "Display name of the destination."
              },
              "status": {
                "description": "Tipping expectation label, when available.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "region": {
                "description": "Region label from the catalog, when available.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "canonicalUrl": {
                "type": "string",
                "format": "uri",
                "description": "Canonical country page URL on tippingrules.com."
              }
            },
            "required": [
              "slug",
              "name",
              "status",
              "region",
              "canonicalUrl"
            ],
            "additionalProperties": false
          },
          "description": "Matching destinations ordered by relevance."
        },
        "methodologyUrl": {
          "type": "string",
          "format": "uri",
          "description": "How Tipping Rules reviews and sources guidance."
        },
        "source": {
          "type": "string",
          "const": "Tipping Rules",
          "description": "Attribution for downstream citations."
        }
      },
      "required": [
        "ok",
        "query",
        "count",
        "results",
        "methodologyUrl",
        "source"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "ok": {
          "type": "boolean",
          "const": false,
          "description": "False when the tool could not complete successfully."
        },
        "code": {
          "type": "string",
          "description": "Machine-readable error code (e.g. NOT_FOUND, VALIDATION, TIMEOUT)."
        },
        "message": {
          "type": "string",
          "description": "Short, agent-safe error message."
        }
      },
      "required": [
        "ok",
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  ],
  "description": "Search results or a structured error."
}
🟢get_tipping_rules(country)

Get concise tipping guidance for a destination: status, summary, key service recommendations, last reviewed date, and the canonical page URL.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Country slug (preferred) or country name, e.g. japan or Japan."
    }
  },
  "required": [
    "country"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "ok": {
          "type": "boolean",
          "const": true,
          "description": "True when country guidance was loaded."
        },
        "country": {
          "type": "string",
          "description": "Display name of the destination."
        },
        "slug": {
          "type": "string",
          "description": "Country slug."
        },
        "status": {
          "description": "Overall tipping expectation label, when available.",
          "type": [
            "string",
            "null"
          ]
        },
        "summary": {
          "description": "Short editorial summary of local tipping norms.",
          "type": [
            "string",
            "null"
          ]
        },
        "situations": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "service": {
                "type": "string",
                "description": "Service category label (e.g. Restaurant, Taxi)."
              },
              "recommendation": {
                "type": "string",
                "description": "Concise tipping recommendation for the service."
              },
              "expectation": {
                "type": "string",
                "description": "Overall tipping expectation context for the destination."
              }
            },
            "required": [
              "service",
              "recommendation",
              "expectation"
            ],
            "additionalProperties": false
          },
          "description": "Key service recommendations (up to 8)."
        },
        "lastReviewed": {
          "description": "ISO date when guidance was last reviewed, when available.",
          "type": [
            "string",
            "null"
          ]
        },
        "canonicalUrl": {
          "type": "string",
          "format": "uri",
          "description": "Canonical country page URL."
        },
        "methodologyUrl": {
          "type": "string",
          "format": "uri",
          "description": "How Tipping Rules reviews and sources guidance."
        },
        "source": {
          "type": "string",
          "const": "Tipping Rules",
          "description": "Attribution for downstream citations."
        }
      },
      "required": [
        "ok",
        "country",
        "slug",
        "status",
        "summary",
        "situations",
        "lastReviewed",
        "canonicalUrl",
        "methodologyUrl",
        "source"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "ok": {
          "type": "boolean",
          "const": false,
          "description": "False when the tool could not complete successfully."
        },
        "code": {
          "type": "string",
          "description": "Machine-readable error code (e.g. NOT_FOUND, VALIDATION, TIMEOUT)."
        },
        "message": {
          "type": "string",
          "description": "Short, agent-safe error message."
        }
      },
      "required": [
        "ok",
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  ],
  "description": "Country tipping guidance or a structured error."
}
🟢calculate_tip(country, bill, service)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Country slug or name for local tipping norms."
    },
    "bill": {
      "description": "Bill amount in local currency units (positive number).",
      "type": [
        "number",
        "string"
      ]
    },
    "service": {
      "description": "Service category. Prefer restaurant, bar, taxi, delivery, hotelStaff, or tourGuides.",
      "type": "string"
    }
  },
  "required": [
    "country",
    "bill"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "ok": {
          "type": "boolean",
          "const": true,
          "description": "True when the tip was calculated."
        },
        "country": {
          "type": "string",
          "description": "Display name of the destination."
        },
        "slug": {
          "type": "string",
          "description": "Country slug."
        },
        "service": {
          "type": "string",
          "description": "Service category label used for the calculation."
        },
        "bill": {
          "type": "number",
          "exclusiveMinimum": 0,
          "description": "Bill amount in local currency units."
        },
        "currency": {
          "description": "ISO currency code when known (e.g. EUR, USD).",
          "type": [
            "string",
            "null"
          ]
        },
        "mode": {
          "type": "string",
          "enum": [
            "percent",
            "round_up",
            "zero"
          ],
          "description": "Calculation mode applied for this service and destination."
        },
        "tipPercent": {
          "description": "Applied tip percent when mode is percent; null for round-up.",
          "type": [
            "number",
            "null"
          ]
        },
        "tipAmount": {
          "type": "number",
          "description": "Suggested tip amount in local currency units."
        },
        "total": {
          "type": "number",
          "description": "Bill plus suggested tip."
        },
        "recommendation": {
          "description": "Human-readable norm string for the selected service.",
          "type": [
            "string",
            "null"
          ]
        },
        "lastReviewed": {
          "description": "ISO date when guidance was last reviewed, when available.",
          "type": [
            "string",
            "null"
          ]
        },
        "canonicalUrl": {
          "type": "string",
          "format": "uri",
          "description": "Canonical country page URL."
        },
        "calculatorUrl": {
          "type": "string",
          "format": "uri",
          "description": "Deep link to the on-site calculator for this country."
        },
        "methodologyUrl": {
          "type": "string",
          "format": "uri",
          "description": "How Tipping Rules reviews and sources guidance."
        },
        "source": {
          "type": "string",
          "const": "Tipping Rules",
          "description": "Attribution for downstream citations."
        }
      },
      "required": [
        "ok",
        "country",
        "slug",
        "service",
        "bill",
        "currency",
        "mode",
        "tipPercent",
        "tipAmount",
        "total",
        "recommendation",
        "lastReviewed",
        "canonicalUrl",
        "calculatorUrl",
        "methodologyUrl",
        "source"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "ok": {
          "type": "boolean",
          "const": false,
          "description": "False when the tool could not complete successfully."
        },
        "code": {
          "type": "string",
          "description": "Machine-readable error code (e.g. NOT_FOUND, VALIDATION, TIMEOUT)."
        },
        "message": {
          "type": "string",
          "description": "Short, agent-safe error message."
        }
      },
      "required": [
        "ok",
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  ],
  "description": "Tip calculation result or a structured error."
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools