Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AMENBO_CACHE_DIRNoCache directory for SQLite and PNG files~/.cache/amenbo
AMENBO_CACHE_TTL_MSNoCache TTL in milliseconds (default 15 minutes)900000
AMENBO_MAX_BODY_BYTESNoMaximum body size in bytes (default 20MB)20971520

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
fetchA

Fetch a web page (Japanese-web-native) as low-impact, token-efficient Markdown. Built-in robots.txt compliance, rate limiting, and caching. mode: auto (default; quality score picks Markdown or screenshot) / markdown / outline (heading summary) / screenshot. Page 1 can come back as cache: unchanged or cache: diff (changed sections only, each without its child sections) instead of the body, but only when all of these hold: this server process has already returned that URL's Markdown body, amenbo's cached copy has expired (15 min by default; a refetch within 15 min, or a site that answers 304, returns the full text), the site resent the whole page, and the call has no selector and no force_full. The comparison copy may have been stored by another session or the CLI. Both responses carry total_tokens (the size of a full refetch) and a hint: if you have not read the whole content yourself, refetch with force_full: true. The CLI never returns them. The response also lists markdown_alternate: and llms_txt: when the page advertises them (amenbo does not fetch them itself). PDF URLs are handled automatically; other non-HTML responses (CSV, JSON, text/markdown, etc.) return a handoff with metadata, a text preview (paginated by page) and a curl command for the whole file. mode: screenshot is the retry for pages whose Markdown came back poor; when the layout itself is the information or you need viewport/scale control, use the screenshot tool instead.

linksA

Enumerate URLs under a site or page without fetching each one. Tries, in this order and regardless of what is cached: sitemap.xml (from robots.txt or the conventional path; gzip is unpacked up to the body-size limit and a warning: line is added when it cannot be read), then the llms.txt the page advertises, then RSS/Atom feeds, then falls back to links found in the page itself. The response header reports which source was used (source:), the count:, and (truncated) when more than 200 links were cut. Each link is one line, - <title> — <url> (title omitted when unknown; for llms.txt it is name: description). filter narrows by substring or * glob against URL and link text; an empty result states whether the filter removed everything or the source had no links. Each source is cached like a page (15 minutes by default, up to 24 hours when Cache-Control max-age says so), so repeating the call with another filter does not hit the site again. Use it to find the right page before fetch. It does not return page content, reads the first 3 child sitemaps of a sitemap index in order and stops reading further children once 200 links are collected (filter is applied afterwards, so a URL found only in an unread child cannot be matched), and never guesses an llms.txt location.

screenshotA

Render a page in a headless browser and return it as up to 10 tiled PNG images (1280px wide by default; fullPage: false returns only the first viewport). Pages taller than 10 tiles are cut off and the response says truncated: true. Use it when the layout or an image is the information (pricing tables, banners, visual QA) or when you need explicit viewport/scale control; scale: 0.5 roughly halves image tokens. For text content use fetch. Built-in robots.txt compliance, rate limiting, and caching.

Prompts

Interactive templates invoked by user choice

NameDescription
usageUsage conventions for token-efficient, low-impact fetching (progressive disclosure, diff refetch, links).

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.6/5.0

Scored across 3 tools

Disambiguation4/5

Each tool has a largely distinct role: fetch for content as Markdown, links for URL discovery, screenshot for visual rendering. There is one overlap point — `fetch` also has a `mode: screenshot` option while a separate `screenshot` tool exists — but the descriptions explicitly route agents ('use the `screenshot` tool instead'), which resolves most misselection risk.

Naming Consistency4/5

All three names are single lowercase words, so the surface reads consistently and is easy to remember. However there is no verb_noun pattern, and the names mix grammatical roles (verb `fetch`, noun `links`, noun/verb `screenshot`), which is a minor deviation from a fully predictable convention.

Tool Count4/5

Three tools is on the lean side but each covers a genuinely separate capability (fetch content, enumerate URLs, render pixels), so nothing feels like filler. The multi-mode `fetch` absorbs much of the domain's complexity into one tool, which keeps the count tight rather than under-scoped.

Completeness4/5

The surface covers the core web-reading lifecycle: discover URLs (links) → read content (fetch, including PDFs and non-HTML handoffs) → see layout (screenshot), with caching, robots.txt, and rate limiting built in. Gaps exist around search/discovery without a seed URL and access to raw HTML or response headers, but these are minor and roughly outside the stated scope.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues