amenbo
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AMENBO_CACHE_DIR | No | Cache directory for SQLite and PNG files | ~/.cache/amenbo |
| AMENBO_CACHE_TTL_MS | No | Cache TTL in milliseconds (default 15 minutes) | 900000 |
| AMENBO_MAX_BODY_BYTES | No | Maximum 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
| 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 |
| screenshotA | Render a page in a headless browser and return it as up to 10 tiled PNG images (1280px wide by default; |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| usage | Usage conventions for token-efficient, low-impact fetching (progressive disclosure, diff refetch, links). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 3 tools
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.
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.
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.
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.