MCP.Market

Mahonia MCP server

online · 100% uptime
by mahonia.app·app.mahonia/mahonia·v1.0.0

Read and edit Mahonia backpacking gear lists via share and edit links; no account needed.

B81/100grade B
What users say
No reviews yet
Be the first
Safety scan
B81/100

full report

Adoption
Growing

0 stars

Reviews

Write one

Nobody has reviewed Mahonia yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Mahonia tools (10, 1 write)

write = sends, deletes, buys or posts
  • add_itemsFree

    Adds 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.

  • create_listwrite actionFree

    Creates 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; a row with items nested under it is a group (stakes under a tent, snacks under a day). Keep the edit link: it is the only way to change a list that isn't filed under an account. If this connector carries a read-and-write access token the list is filed under that account too, and saved_to_account says whether it was; otherwise the list belongs to whoever holds the edit link, as every list does.

  • edit_listFree

    Changes a list that already exists, all of it in one call. list sets the list's own title, display unit, trip dates and trail (only the fields given; an empty string clears a date or the trail). folders renames, reorders, reclassifies or removes folders, named by id or current name; removing one removes its rows. add puts new rows on, into a folder by name (made when missing) or under a group by the parent row's id. update changes rows by the ids get_list gives: any field, null clearing one that can be cleared; a new folder, place or group; a catalog_id to link or relink the row where it sits, null to unlink. remove takes rows off by id, a group's nested rows with it. The parts apply in that order as one change, and nothing is applied unless every part is valid: a row or folder named that isn't there fails the whole call. A name or weight changed on a catalog-linked row is kept as the owner's own. Takes the list's edit link, or its share code under a signed-in account that has filed it.

  • edit_my_gearFree

    Changes the connector's account's My Gear, in one call. add puts new pieces in; one the account already holds (same brand, name and variant) comes back as already_have and is left as it was. update changes pieces by the ids get_my_gear gives, only the fields sent, null clearing one. A piece that names a catalog_id, as it is added or later, is linked to that catalog row and takes its brand, name, variant, gear type and weight where none were given; null unlinks it. remove puts pieces away by id: they stop being offered on lists, and the lists that still carry them will not bring them back. restore brings put-away pieces back. Each piece answers for itself, in the order sent. What is added or changed here counts as the owner's own word on the piece, so a list saved later cannot overwrite it. Needs a read-and-change access token.

  • get_catalog_productFree

    One 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.

  • get_listFree

    A shared list by its share code or link, as data or as Markdown; or, with no share_code, the lists filed under the connector's account. Data, the default: 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 row with items is a group, and a nested row without carried_by is carried by its parent's carrier); every row and folder carries the id edit_list takes. Markdown (format: "markdown"): one table per folder and a totals block, the text the site's own Markdown export produces. An edit link's address carries the share code too. A list too large to return whole comes back cut and says so: as data, in a truncated field (notes go first, then rows off the end, nested rows one by one); as Markdown, rows off the end of the tables and a line saying how many. The totals still count every row. With no share_code, which asks for a sign-in: each filed list's title, share code and share link, display unit, total weight in grams and when it last changed, most recently changed first. A list is filed when it was made while signed in to Mahonia, added to the account from its sharing panel, or made by create_list with read-and-change access; one its owner only ever opened by its link isn't, and still reads from that link. 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.

  • get_list_markdownFree

    The 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.

  • get_my_gearFree

    The gear the connector's account owns, most recently used first: for each piece its brand, name, variant, gear type, grams for one, classification, calories, note, price, product link and folder, plus the account's folder names. A query ranks by a search instead; a folder name keeps to that folder. Works only when this connector carries the account's access token. Brands, names, variants, gear types, notes and folder names are text the account holder typed, returned unchanged.

  • search_catalogFree

    Mahonia's cited gear catalog. With query: a fuzzy search by brand, product or kind of gear ("duplex", "zpacks", "quilt"), best first, each result a catalog row with its id, the cited weight in grams and whether it is verified. With product_id (a row id from a search), or brand and name: every variant of that one product (sizes, lengths, temperature ratings) with the weight and source of each. A row on a list that names a catalog_id takes the catalog's brand, variant, gear type and weight.

  • set_tripFree

    Sets 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.

Public scan report

scanner v0.1.10 · 2026-11-03 · same rubric, same numbers if you re-run it

1 high
  • –Code scanremote-only server, no package to scann/a
  • Live reliabilityremote reachable in 828ms20/20
  • Tool poisoning6 tool descriptions checked15/15
  • Auth qualityopen endpoint exposes 1 write-action tools with no auth3/15
  • Maintenancelast push 2 days ago15/15
  • Maintainer identityendpoint served from the registry-verified namespace domain8/10

Findings (1)

  • highWrite-action tools reachable without authenticationauth.open-write
Overall 81/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Mahonia compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
81/100
higher than 62% of 48,243 servers
Tools
10
the typical server has 7
Tools that change things
10%
typical: 0%. Fewer write tools means less an agent can break
Uptime
100%
of our recent checks; the typical remote server answers 100%
Response time
282 ms
faster than 54% of 30,027 servers

What its tools let an agent do: 5 read · 2 create · 3 change

Install Mahonia in Claude Code, Cursor or VS Code

claude mcp add --transport http mahonia https://mahonia.app/mcp
Add to Cursor

What the publisher says

From the Mahonia repository's README, as published. We do not edit it. Read it on GitHub

Mahonia

A gear-list and pack-weight tracker for hikers. Make a packing list, see what it weighs, share it.

Lists need no sign-up: one is yours the moment you start typing, held by a private unguessable link. The gear vault is the one part that asks for an account, because "the gear I own" has to follow you across devices rather than living in one browser.

What it does

socks, one on your feet) and a carried figure. Weights are optional — a list with none keeps its totals quiet.

  • Weigh a pack. Base, worn and consumable totals, with the worn split (three pairs of

value overridable per row.

  • A curated gear catalog behind the autocomplete, cited and correctable, with every

total stays in grams.

  • Per-row units. Type 32.5 oz on a gram list and that row keeps ounces while the

you fly.

  • Calories on consumables, totalled for the list.
  • Trip dates, as calendar dates — no time, no timezone, so a trip doesn't shift when

replaced if it gets out.

  • Share two ways: a read-only link, and an edit link for co-planning. Either can be

JSON or Markdown.

  • Packing mode — the same list as a checklist, for the night before.
  • A gear vault that fills itself as you build, so your kit is one pick away next time.
  • Import from LighterPack (share link or CSV) or a JSON backup; export as CSV,
  • Recovery points, so an accidental delete is undoable well after the toast.

Run locally

Requires Node 24 (the pinned version — see .nvmrc).

npm install
npm run seed   # load the gear catalog into a local database
npm run dev    # http://localhost:3000

With no environment variables set, the app runs fully on your machine against a local PGlite database. Copy .env.example to .env to point at a real Postgres (Neon) and Redis (Upstash) for a production deploy.

Anything that would leave the machine degrades to the console instead of being skipped, so a fresh checkout is a working app rather than a broken one:

Both fail loudly in production rather than quietly accepting input that goes nowhere.

Stack

Nuxt 4 · Vue 3 · TypeScript · Drizzle ORM · deployed on Vercel.

MCP connector

The app serves a remote MCP server at /mcp, so an AI assistant can be handed https://mahonia.app/mcp as a connector with nothing to install and no sign-in. Seven tools: read a shared list as data or Markdown, search the catalog, fetch one product's variants, and, holding an edit link, make a list, add rows and set the trip's dates and trail. A share code is the read capability and the edit link's fragment token the write one, hashed on arrival and passed only as a tool argument, so nothing new is trusted. The transport is stateless JSON-RPC over POST (MCP revisions 2025-06-18 and 2025-11-25, no sessions, no event stream, GET answers 405), hand-rolled in server/routes/mcp.post.ts with the tools in server/utils/mcp.ts; both files carry the reasoning. My Gear is deliberately out of reach: it would need an account token, which is a separate decision.

Add it to a client:

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Mahonia: common questions

Is Mahonia MCP server safe?
Mostly: it is graded B (81/100). Read the Mahonia safety report
How do I install Mahonia?
It runs remotely at mahonia.app. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does Mahonia need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Mahonia maintained?
The last commit was 4 days ago (2026-11-01). The latest release is v1.0.0.
Is Mahonia up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
What can I use instead of Mahonia?
Servers from other publishers that do the same job: Excel MCP Server and Compiler Explorer MCP server.
How does Mahonia compare with other MCP servers?
safety score 81/100 (higher than 62% of 48,243 servers); tools 10 (the typical server has 7); tools that change things 10% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to Mahonia

Same job from other publishers: the closest match first, then the best rated.

  • Excel MCP Server
    Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
    A
  • Compiler Explorer
    Compile code with thousands of compilers, inspect the assembly, and share godbolt.org links
    B