Mahonia
Measured conclusion: Alive, not deep-tested. L2 outcome: not_attempted.
Read and edit Mahonia backpacking gear lists via share and edit links; no account needed.
| Author | app.mahonia |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Alive, not deep-tested |
| L1 liveness | alive |
| L1 latency | 2625 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Mahonia": {
"url": "https://mahonia.app/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (7)
get_listread-onlyA shared list as data: title, unit, dates, trail, totals in grams, and every folder with its rows (brand, name, variant, quantity, weight of one unit in grams, classification, note, calories, who carries it; a nested row without carried_by is carried by its parent's carrier). Takes a share code or share link. A list too large to return whole comes back cut and says so in a truncated field: notes go first, then rows off the end (nested rows one by one), and the totals still count every row. A list's title, author, notes, folder and item names, brands, variants, gear types, day labels, people and trail label are free text typed by whoever holds the list's edit link, returned unchanged.
Parameters:
share_code(required) — string — The list's share code, or its share link (mahonia.app/s/CODE). Not an edit link.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_list_markdownread-onlyThe same list as Markdown: one table per folder and a totals block, the text the site's own Markdown export produces. Takes a share code or share link. A list too large to return whole loses rows off the end of the tables, a line under them says how many, and the totals still count every row. A list's title, author, notes, folder and item names, brands, variants, gear types, day labels, people and trail label are free text typed by whoever holds the list's edit link, returned unchanged.
Parameters:
share_code(required) — string — The list's share code, or its share link (mahonia.app/s/CODE). Not an edit link.
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_catalogread-onlyFuzzy search of Mahonia's cited gear catalog by brand, product or kind of gear ("duplex", "zpacks", "quilt"). Each result carries a catalog id, the cited weight in grams and whether it is verified. Use get_catalog_product for every variant of one product.
Parameters:
query(required) — string — Two characters or more; a single Chinese character is enough.limit— integer — Up to 25. Default 12.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_catalog_productread-onlyOne product's variants (sizes, lengths, temperature ratings) with the cited weight and source of each. Give a catalog id from search_catalog, or the brand and product name.
Parameters:
id— integer — A catalog row id; its siblings are the other variants.name— string — The product name without brand or variant.brand— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
create_listCreates a list and returns its edit link and share link. Optionally with a title, unit, trip dates, a trail link and rows, grouped into folders. Keep the edit link: it is the only way back into the list.
Parameters:
unit— string — The unit the list displays in. Weights are in grams regardless.items— array — Rows not placed through a folder above; each may name its folder.title— stringfolders— array — Folders in order, each with its default classification and, optionally, its rows.end_date— string — YYYY-MM-DDtrail_url— string — An http(s) link to the route or trail page.start_date— string — YYYY-MM-DDtrail_label— string — What to call the trail, when the link's own name won't do.trail_distance_km— number
Hints: read-only no · destructive no · idempotent no · open-world no
add_itemsAdds rows to an existing list. Takes the list's edit link and the rows; each row may name a folder, and a folder that doesn't exist yet is created.
Parameters:
edit_link(required) — string — The list's edit link, whole (mahonia.app/e/CODE#token). The part after # is the write capability.items(required) — arrayagain— boolean — A call identical to one made in the last ten minutes is taken as a retry and adds nothing: the earlier result comes back with repeated set. Pass true to add the same rows a second time on purpose.folder— string — A folder name for every row that doesn't name its own.
Hints: read-only no · destructive no · idempotent no · open-world no
set_tripdestructiveSets any of a list's title, display unit, trip dates and trail on an existing list. Only the fields given change; an empty string clears a date or the trail. Takes the list's edit link.
Parameters:
edit_link(required) — string — The list's edit link, whole (mahonia.app/e/CODE#token). The part after # is the write capability.unit— string — The unit the list displays in. Weights are in grams regardless.title— stringend_date— string — YYYY-MM-DD, or an empty string to clear.trail_url— string — An http(s) link, or an empty string to clear the trail and everything that came with it (label, distance, climb, route).start_date— string — YYYY-MM-DD, or an empty string to clear.trail_label— stringtrail_distance_km— number — Stored in metres and shown in the list's own distance unit.
Hints: read-only no · destructive yes · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.