Skip to main content
Glama

Get place details

get_place
Read-onlyIdempotent

Read one China Footnotes place by id (from search_places). For a practical question, pass sections:["practical","notices"] and only the fields needed; fields apply when sections includes "practical" or is omitted. Use sections:["intro"] for an overview; omit both for the full entry. Available content: why go, what to do, opening hours with weekday and seasonal rules, ticket prices, booking channels and whether passports work, last entry, metro and taxi directions, notices in effect, current and upcoming events (temporary festivals, exhibitions and shows), what was searched but not found, traveler tips, many of them firsthand reports from Chinese travelers and locals (routes, timing and crowds, entrances, food nearby, scams, what to expect), photos, and every source with its link. Optional fields/sections select complete facts with sources. Tips default to 3 eligible entries after the shared quality ordering; tipLimit (0–50) and tipOffset page through them, with totals, per-topic counts of all eligible tips before pagination, and nextOffset. includeTravelerTips:false excludes community tips. Practical rules are not truncated by tipLimit. Returns the canonical page link, field sources and the page interactions available (pageFeatures). visitDate adds a conservative stored-rule check in Asia/Shanghai. Each practical field carries its status and actual check date; this is not live confirmation.

Input Schema

NameRequiredDescriptionDefault
idYesPlace id from search_places, e.g. "yuyuan-garden".
fieldsNoPractical fields to return; omit for all. Applies when sections includes "practical" or is omitted.
sectionsNoParts of the entry to return; omit for the full entry. intro: overview; practical: the fields with sources; gaps: what was searched but not found.
tipLimitNoTraveler tips to return (0–50, default 3).
tipOffsetNoTraveler tips to skip; pass nextOffset from the previous call.
visitDateNoDate in Asia/Shanghai, YYYY-MM-DD. Stored rules only; not live availability.
includeTravelerTipsNofalse leaves community traveler tips out.

Output Schema

NameRequiredDescriptionDefault
idYes
urlYes
cityNo
nameYes
tipsNo
typeNo
eventsNo
fieldsYes
photosNo
noticesNo
sourcesNoSource id index. Dates are stored evidence dates, not rendering dates; null means unavailable.
taglineNo
districtNo
timezoneNo
freshnessNo
localNameNo
reviewDueNo
visitCheckNo
dataVersionNo
renderedForNo
pageFeaturesNo
researchedAtNo
visitDurationNo
isReviewOverdueNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / fields / description
      Added value: +"Practical fields to return; omit for all. Applies when sections includes \"practical\" or is omitted."
    • changedInput schema / properties / id / description
      Previous value: -"Place id, e.g. \"yuyuan-garden\"."New value: +"Place id from search_places, e.g. \"yuyuan-garden\"."
    • addedInput schema / properties / includeTravelerTips / description
      Added value: +"false leaves community traveler tips out."
    • addedInput schema / properties / sections / description
      Added value: +"Parts of the entry to return; omit for the full entry. intro: overview; practical: the fields with sources; gaps: what was searched but not found."
    • addedInput schema / properties / tipLimit / description
      Added value: +"Traveler tips to return (0–50, default 3)."
    • addedInput schema / properties / tipOffset / description
      Added value: +"Traveler tips to skip; pass nextOffset from the previous call."
  2. Changed8 schema fields changed
    • addedOutput schema / properties / fields / properties / admission / properties / freshness
      Added value: +{
      +  "properties": {
      +    "by": {
      +      "enum": [
      +        "daily",
      +        "experience",
      +        "review"
      +      ]
      +    },
      +    "checked": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "checked",
      +    "by"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / booking / properties / freshness
      Added value: +{
      +  "properties": {
      +    "by": {
      +      "enum": [
      +        "daily",
      +        "experience",
      +        "review"
      +      ]
      +    },
      +    "checked": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "checked",
      +    "by"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / foreignVisitors / properties / freshness
      Added value: +{
      +  "properties": {
      +    "by": {
      +      "enum": [
      +        "daily",
      +        "experience",
      +        "review"
      +      ]
      +    },
      +    "checked": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "checked",
      +    "by"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / hours / properties / freshness
      Added value: +{
      +  "properties": {
      +    "by": {
      +      "enum": [
      +        "daily",
      +        "experience",
      +        "review"
      +      ]
      +    },
      +    "checked": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "checked",
      +    "by"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / lastAdmission / properties / freshness
      Added value: +{
      +  "properties": {
      +    "by": {
      +      "enum": [
      +        "daily",
      +        "experience",
      +        "review"
      +      ]
      +    },
      +    "checked": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "checked",
      +    "by"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / transport / properties / freshness
      Added value: +{
      +  "properties": {
      +    "by": {
      +      "enum": [
      +        "daily",
      +        "experience",
      +        "review"
      +      ]
      +    },
      +    "checked": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "checked",
      +    "by"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / freshness
      Added value: +{
      +  "properties": {
      +    "checked": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "fields": {
      +      "additionalProperties": {
      +        "properties": {
      +          "by": {
      +            "enum": [
      +              "daily",
      +              "experience",
      +              "review"
      +            ]
      +          },
      +          "checked": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "checked",
      +          "by"
      +        ],
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "type": "object"
      +    },
      +    "scope": {
      +      "const": "latest_across_practical_fields"
      +    }
      +  },
      +  "required": [
      +    "checked",
      +    "scope",
      +    "fields"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / properties / visitCheck / properties / status / enum
      Previous value: -[
      -  "uncertain",
      -  "dated_exception"
      -]New value: +[
      +  "uncertain",
      +  "dated_exception",
      +  "closed",
      +  "open"
      +]
  3. Changed80 schema fields changed
    • addedInput schema / properties / fields
      Added value: +{
      +  "items": {
      +    "enum": [
      +      "hours",
      +      "admission",
      +      "booking",
      +      "lastAdmission",
      +      "foreignVisitors",
      +      "transport"
      +    ],
      +    "type": "string"
      +  },
      +  "maxItems": 6,
      +  "minItems": 1,
      +  "type": "array",
      +  "uniqueItems": true
      +}
    • addedInput schema / properties / id / maxLength
      Added value: +100
    • addedInput schema / properties / includeTravelerTips
      Added value: +{
      +  "default": true,
      +  "type": "boolean"
      +}
    • addedInput schema / properties / sections
      Added value: +{
      +  "items": {
      +    "enum": [
      +      "intro",
      +      "practical",
      +      "notices",
      +      "events",
      +      "tips",
      +      "gaps",
      +      "photos"
      +    ],
      +    "type": "string"
      +  },
      +  "maxItems": 7,
      +  "minItems": 1,
      +  "type": "array",
      +  "uniqueItems": true
      +}
    • addedInput schema / properties / tipLimit
      Added value: +{
      +  "default": 3,
      +  "maximum": 50,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / tipOffset
      Added value: +{
      +  "default": 0,
      +  "maximum": 1000,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / visitDate
      Added value: +{
      +  "description": "Date in Asia/Shanghai, YYYY-MM-DD. Stored rules only; not live availability.",
      +  "maxLength": 10,
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +  "type": "string"
      +}
    • addedOutput schema / properties / dataVersion
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / admission / properties / basisNotes
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / admission / properties / channels
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / admission / properties / checkedAt
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / admission / properties / conflict
      Added value: +{
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / admission / properties / exceptions
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / admission / properties / notes
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / admission / properties / passport
      Added value: +{
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / admission / properties / prices
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / admission / properties / rules
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / admission / properties / seasons
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / admission / properties / sourceIds
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / booking / properties / basisNotes
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / booking / properties / channels
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / booking / properties / checkedAt
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / booking / properties / conflict
      Added value: +{
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / booking / properties / exceptions
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / booking / properties / notes
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / booking / properties / passport
      Added value: +{
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / booking / properties / prices
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / booking / properties / rules
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / booking / properties / seasons
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / booking / properties / sourceIds
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / foreignVisitors / properties / basisNotes
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / foreignVisitors / properties / channels
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / foreignVisitors / properties / checkedAt
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / foreignVisitors / properties / conflict
      Added value: +{
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / foreignVisitors / properties / exceptions
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / foreignVisitors / properties / notes
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / foreignVisitors / properties / passport
      Added value: +{
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / foreignVisitors / properties / prices
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / foreignVisitors / properties / rules
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / foreignVisitors / properties / seasons
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / foreignVisitors / properties / sourceIds
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / hours / properties / basisNotes
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / hours / properties / channels
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / hours / properties / checkedAt
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / hours / properties / conflict
      Added value: +{
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / hours / properties / exceptions
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / hours / properties / notes
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / hours / properties / passport
      Added value: +{
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / hours / properties / prices
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / hours / properties / rules
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / hours / properties / seasons
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / hours / properties / sourceIds
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / lastAdmission / properties / basisNotes
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / lastAdmission / properties / channels
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / lastAdmission / properties / checkedAt
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / lastAdmission / properties / conflict
      Added value: +{
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / lastAdmission / properties / exceptions
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / lastAdmission / properties / notes
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / lastAdmission / properties / passport
      Added value: +{
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / lastAdmission / properties / prices
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / lastAdmission / properties / rules
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / lastAdmission / properties / seasons
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / lastAdmission / properties / sourceIds
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / transport / properties / basisNotes
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / transport / properties / channels
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / transport / properties / checkedAt
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / transport / properties / conflict
      Added value: +{
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / transport / properties / exceptions
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / transport / properties / notes
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / transport / properties / passport
      Added value: +{
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / fields / properties / transport / properties / prices
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / transport / properties / rules
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / transport / properties / seasons
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / fields / properties / transport / properties / sourceIds
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / pageFeatures
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "additionalTravelerTips": {
      +        "type": "integer"
      +      },
      +      "availableTravelerTips": {
      +        "type": "integer"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "id": {
      +        "enum": [
      +          "taxi_display",
      +          "traveler_tips",
      +          "entrance_photos"
      +        ]
      +      },
      +      "onPageOnly": {
      +        "type": "string"
      +      },
      +      "relevantFor": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "returnedTravelerTips": {
      +        "type": "integer"
      +      },
      +      "url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "url",
      +      "description",
      +      "relevantFor",
      +      "onPageOnly"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / renderedFor
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / sources
      Added value: +{
      +  "additionalProperties": {
      +    "properties": {
      +      "accessedAt": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "checkedAt": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "kind": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "label": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "publishedAt": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "url": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "verificationMethod": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": [
      +      "object",
      +      "null"
      +    ]
      +  },
      +  "description": "Source id index. Dates are stored evidence dates, not rendering dates; null means unavailable.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / timezone
      Added value: +{
      +  "const": "Asia/Shanghai"
      +}
    • addedOutput schema / properties / tips
      Added value: +{
      +  "properties": {
      +    "eligibleTotal": {
      +      "type": "integer"
      +    },
      +    "hasMore": {
      +      "type": "boolean"
      +    },
      +    "items": {
      +      "items": {
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "nextOffset": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "offset": {
      +      "type": "integer"
      +    },
      +    "order": {
      +      "type": "string"
      +    },
      +    "returned": {
      +      "type": "integer"
      +    },
      +    "topicCounts": {
      +      "description": "Counts across eligible tips before pagination; sum equals eligibleTotal.",
      +      "items": {
      +        "properties": {
      +          "count": {
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "topic": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "topic",
      +          "count"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total": {
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "total",
      +    "eligibleTotal",
      +    "topicCounts",
      +    "returned",
      +    "offset",
      +    "hasMore",
      +    "nextOffset",
      +    "items"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / visitCheck
      Added value: +{
      +  "properties": {
      +    "exceptions": {
      +      "type": "array"
      +    },
      +    "fields": {
      +      "type": "object"
      +    },
      +    "notices": {
      +      "type": "array"
      +    },
      +    "regular": {
      +      "type": "object"
      +    },
      +    "status": {
      +      "enum": [
      +        "uncertain",
      +        "dated_exception"
      +      ]
      +    },
      +    "timezone": {
      +      "const": "Asia/Shanghai"
      +    },
      +    "uncertainty": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "visitDate": {
      +      "type": "string"
      +    },
      +    "weekday": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "visitDate",
      +    "timezone",
      +    "status",
      +    "regular",
      +    "exceptions",
      +    "notices",
      +    "fields",
      +    "uncertainty"
      +  ],
      +  "type": "object"
      +}
  4. Changed3 schema fields changed
    • addedOutput schema / properties / events / items / properties / endsAt / description
      Added value: +"Exact end date; null when only an approximate end is known."
    • changedOutput schema / properties / events / items / properties / endsAt / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / events / items / properties / endsAtLabel
      Added value: +{
      +  "description": "Source-stated end period when the exact day is unknown.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  5. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safe read-only profile, yet the description still adds real behavior: tips default to 3 after a shared quality ordering, tipLimit does not truncate practical rules, includeTravelerTips:false drops community tips, visitDate triggers only a conservative stored-rule check in Asia/Shanghai, and 'this is not live confirmation'. Those are exactly the caveats an agent needs to set expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening instruction is well front-loaded, but the long run-on 'Available content: why go, what to do, ...' enumeration sprawls across one sentence and largely re-lists what the sections enum already implies. It also mixes pagination, return values and caveats into a single dense block with no separation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a full output schema, complete parameter docs and strong annotations, the description covers the remaining burden well: what each section yields, tip pagination, link and pageFeatures returns, and the stored-rule caveat. Minor gap: no error behavior for an invalid id and no explicit pointer to get_current_notices for time-sensitive notices.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: fields only apply when sections includes 'practical' or is omitted, tipLimit/tipOffset produce totals, per-topic counts and nextOffset, and 'Practical rules are not truncated by tipLimit'. That is genuine semantic value on top of an already documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Read one China Footnotes place by id') and names the sibling that produces the id ('from search_places'). An agent can immediately tell this is the detail-fetch counterpart to the search sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete mode selection: 'For a practical question, pass sections:["practical","notices"]', 'Use sections:["intro"] for an overview; omit both for the full entry'. That is strong when-to-use guidance for parameters, but it never routes the agent away from or toward siblings like get_current_notices or get_pretrip_topic.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources