Tipping Rules

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

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
98%
이름 품질
100%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,842토큰 (도구 정의)
~7.4 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.44%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

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

원격 엔드포인트

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

할 수 있는 일

도구 목록

도구 (3)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢search_countries(query)

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

입력 스키마

{
  "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
}

출력 스키마

{
  "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": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Tipping expectation label, when available."
              },
              "region": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Region label from the catalog, when available."
              },
              "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.

입력 스키마

{
  "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
}

출력 스키마

{
  "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": {
          "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."
        },
        "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": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "ISO date when guidance was last reviewed, when available."
        },
        "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.

입력 스키마

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Country slug or name for local tipping norms."
    },
    "bill": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ],
      "description": "Bill amount in local currency units (positive number)."
    },
    "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
}

출력 스키마

{
  "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": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "ISO currency code when known (e.g. EUR, USD)."
        },
        "mode": {
          "type": "string",
          "enum": [
            "percent",
            "round_up",
            "zero"
          ],
          "description": "Calculation mode applied for this service and destination."
        },
        "tipPercent": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "Applied tip percent when mode is percent; null for round-up."
        },
        "tipAmount": {
          "type": "number",
          "description": "Suggested tip amount in local currency units."
        },
        "total": {
          "type": "number",
          "description": "Bill plus suggested tip."
        },
        "recommendation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Human-readable norm string for the selected service."
        },
        "lastReviewed": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "ISO date when guidance was last reviewed, when available."
        },
        "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."
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 3개
검증됨버전이 기록되지 않음도구 3개