Skip to main content
Glama

Read a VoyageHacks guide as Markdown

get_article
Read-onlyIdempotent

Fetch one VoyageHacks page by URL or site path (for example "/en/hotels/best-budget-hotels-in-rome/") and return its body as Markdown, together with the title, canonical URL, language, section, publication date and last-updated date read from the page itself. Useful when the full text of a guide is needed to quote figures accurately, and when a source needs to be cited with a real date. Only HTML pages on voyagehacks.com can be read: the tool cannot fetch other websites, data files or images, and very long pages are truncated with a marker at the cut.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesPage URL or site path on voyagehacks.com, e.g. https://voyagehacks.com/de/esim/esim-japan/ or /de/esim/esim-japan/.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesCanonical URL.
langNo
titleNo
sourceYesAttribution string for citations.
excerptNoThe page's meta description.
sectionNo
updatedNoISO date, or null if the page declares none.
markdownYes
publishedNoISO date, or null if the page declares none.
truncatedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / url / description
      Previous value: -"Page URL or path on voyagehacks.com"New value: +"Page URL or site path on voyagehacks.com, e.g. https://voyagehacks.com/de/esim/esim-japan/ or /de/esim/esim-japan/."
    • addedInput schema / properties / url / maxLength
      Added value: +400
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "excerpt": {
      +      "description": "The page's meta description.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "lang": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "markdown": {
      +      "type": "string"
      +    },
      +    "published": {
      +      "description": "ISO date, or null if the page declares none.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "section": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "source": {
      +      "description": "Attribution string for citations.",
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "truncated": {
      +      "type": "boolean"
      +    },
      +    "updated": {
      +      "description": "ISO date, or null if the page declares none.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "url": {
      +      "description": "Canonical URL.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "url",
      +    "markdown",
      +    "source"
      +  ],
      +  "type": "object"
      +}
  2. 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 readOnly/idempotent/openWorld/non-destructive, and the description adds substantial behavioral context on top: the tool is restricted to HTML pages on voyagehacks.com, cannot fetch other sites, data files or images, and truncates very long pages with a marker at the cut. The truncation disclosure is exactly the kind of caveat an agent needs before trusting a complete-text read.

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

Conciseness4/5

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

Front-loads the action and return shape in the first sentence, then adds usage rationale and limits. Three sentences with little waste, though enumerating return fields is partly redundant given an output schema exists.

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

Completeness5/5

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

For a one-parameter read tool with annotations and an output schema, the description covers everything needed: what it returns, what it cannot reach, and how oversized pages behave. Nothing an agent must know before invoking it is missing.

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

Parameters3/5

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

There is a single parameter with 100% schema description coverage, including an example of both accepted forms (full URL and site path). The description restates the URL-or-path duality but adds no syntax, encoding or constraint detail beyond the schema, so the baseline of 3 applies.

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 (Fetch) and resource (one VoyageHacks page by URL or site path) and enumerates the returned fields (body as Markdown, title, canonical URL, language, section, dates). This is clearly distinguishable from sibling search_articles, which would find pages rather than read one.

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 usage contexts: when full text is needed to quote figures accurately, and when a source must be cited with a real date. It does not explicitly name search_articles as the alternative for discovery, so routing guidance is implied rather than stated.

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.