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 after search_articles when the full text 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.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds valuable behavioral context beyond this: domain restriction, inability to fetch non-HTML resources, and truncation with a marker. This is meaningful additional transparency.

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

Conciseness5/5

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

The description is three sentences with zero filler: main action and return value first, usage context second, limitations third. Every sentence earns its place and the most important information is front-loaded.

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 single-parameter read-only tool with an output schema and annotations, this description is complete: it states what is returned, when to use it, what it cannot do, and truncation behavior. An agent has enough information to invoke it correctly.

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?

Schema coverage is 100% and the single parameter's description already gives examples of URLs and site paths. The tool description essentially restates the same accepted input forms without adding deeper semantics, so a baseline score of 3 is appropriate.

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?

The description opens with a specific verb ('Fetch one VoyageHacks page') and clearly states the resource and return format: body as Markdown plus metadata. It also distinguishes this tool from siblings like search_articles by clarifying it retrieves full page content rather than search results.

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

Usage Guidelines5/5

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

The description explicitly says this is useful after search_articles when full text is needed for accurate quoting or for citing real dates, giving a clear workflow trigger. It also states boundaries: only HTML pages on voyagehacks.com can be read, not other websites, data files, or images, and long pages are truncated.

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.