engawa
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ENGAWA_LAT | No | Latitude of observation point. Default is Greenwich (0). | 0 |
| ENGAWA_LON | No | Longitude of observation point. Default is Greenwich (0). | 0 |
| ENGAWA_HOST | No | Host address to bind when running in HTTP mode. | 127.0.0.1 |
| ENGAWA_PORT | No | Port to listen on when running in HTTP mode. | 8799 |
| NASA_API_KEY | No | NASA API key for APOD. Default is DEMO_KEY, limited to ~50 requests/day. Get a free key at api.nasa.gov. | DEMO_KEY |
| ENGAWA_CACHE_DIR | No | Directory where the server writes data. This is the only path that persists to disk. | ~/.cache/engawa-mcp |
| ENGAWA_TZ_OFFSET | No | Timezone offset in hours for determining 'today'. Defaults to system timezone. | system |
| ENGAWA_ALLOW_PRIVATE_URLS | No | Set to '1' to allow access to private/internal network URLs (disables the SSRF guard). | 0 |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| web_readA | Read any web page: give a URL, get title + clean article text + links. Two lanes inside: httpx + readability for static pages (fast), and an
automatic fallback to a real browser render for SPAs (needs the optional
Boundaries:
Args: url: full URL (http:// or https://) offset: character offset into the article text (for paging) length: max characters returned this call (default 3000) Returns: {ok, title, content, total_length, links (≤10), note} |
| shelfA | The engawa shelf: curated feed sources (name / one-liner / tags). Feed a name straight into rss_read. Two layers: built-in picks that ship with the package, plus whatever you add with shelf_add. Args: tag: filter to one shelf tag — science / ocean / longform / architecture / wonder. Empty = everything. Returns: {ok, tags, entries: [{name, title, url, tags, note, picked_by, source}], note} |
| shelf_addA | Add a source to the shelf. Give any site address — if it is already a feed it is used as-is; otherwise its RSS/Atom feed is discovered (page-declared first, common paths as fallback) and verified with a real fetch before anything is saved. Args: url: full http(s) address of a site or feed (e.g. https://nautil.us) name: shelf name (optional; lowercase letters/digits/hyphens, 2-40 chars; empty = derived from the domain, collisions get -2) note: one-line description (optional) tags: comma-separated, from science/ocean/longform/architecture/wonder picked_by: free-form provenance — who asked for this source (optional) Returns: {ok, name, feed_title, feed_url, note} |
| shelf_suggestA | A second ring of verified sources that are not on the default shelf. Like any of them? shelf_add(url=its url, name=its name). Args: tag: filter to one shelf tag, empty = everything Returns: {ok, tags, entries: [{name, title, url, tags, note, on_shelf}], note} on_shelf=True means it is already on your shelf (same name or url). |
| shelf_removeA | Remove a user-added source from the shelf (built-ins cannot be removed). Args: name: shelf name Returns: {ok, name, note} |
| rss_readA | Read any RSS/Atom feed: latest entries as a list. The discovery half of a browse loop: spot an interesting entry, then web_read its link for the full text. Also accepts shelf names (see the shelf tool), e.g. rss_read("aeon"). Args: feed_url: full feed URL, or a shelf name limit: max entries returned (default 10) Returns: {ok, feed_title, entries: [{title, link, published, summary}], note} |
| sky_tonightA | Tonight's sky: moon phase, illumination, moonrise/set, sunset, next full/new moon, and which naked-eye planets are up at 21:00. Computed locally (set ENGAWA_LAT / ENGAWA_LON for your location) — the one tool here that never touches the network. Args: date: "YYYY-MM-DD"; empty = today (local timezone) Returns: {ok, date, moon_phase, moon_illumination, moonrise, moonset, sunset, next_full_moon, next_new_moon, planets_2100} |
| apodA | NASA Astronomy Picture of the Day: title, an astronomer's explanation, and the image URL. Args: date: "YYYY-MM-DD"; empty = today. NASA publishes on US Eastern time, so "today" is occasionally not up yet — if you get a 404 note, call again with yesterday's date. Returns: {ok, title, date, explanation, url, hdurl, media_type, note} |
| daily_artA | One artwork a day from the Art Institute of Chicago's public-domain collection (no API key needed). Without a keyword: the piece of the day (date-seeded, so repeat calls on the same day return the same artwork). With a keyword: search instead (English terms hit best — "monet", "cat", "moon"). Returns: {ok, title, artist, date, medium, image_url, page_url, note} |
| arxiv_newA | Newest arXiv papers in a category: title + authors + abstract. Args: category: arXiv category, e.g. cs.AI / cs.CL / astro-ph.EP / math.HO limit: max papers returned (default 8) Returns: {ok, category, papers: [{title, authors, summary, link, published}], note} |
| daily_poemA | A line of classical Chinese poetry matched to the season and hour, with its source poem in full. Powered by the Jinrishici (今日诗词) API; content is in Chinese — that is the point, not a bug. Returns: {ok, sentence, title, dynasty, author, full, note} |
| on_this_dayA | Wikipedia's curated "on this day" events. Note: this Wikipedia API serves a subset of languages (en/de/fr/es/pt/ru and a few more); unsupported languages 404. Args: lang: Wikipedia language code (default en) limit: max events returned (default 8) Returns: {ok, date, events: [{year, text}], note} |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |