Grabblist
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Save and organize web finds in persistent, user-controlled collections for AI assistants.
| Author | com.grabbitapp |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 250 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Grabblist": {
"url": "https://mcp.grabbitapp.com/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (22)
pingread-onlyTest connectivity to Grabblist and return service version.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_wishlistread-onlyGet all saved items from the user's Grabblist. Each item is a static snapshot — data reflects the moment it was saved, not current prices.
Parameters:
limit— number — Max items to return (default: 50)platform— string — Filter by platform (domain name, e.g. "amazon", "ebay", "trademe")
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_itemread-onlyGet full details of a saved item by ID. Returns a static snapshot from the user's Grabblist.
Parameters:
id(required) — string — The item ID
Hints: read-only yes · destructive no · idempotent yes · open-world no
add_itemSave an item to the user's Grabblist. Creates a static snapshot — Grabblist does not monitor prices or auto-update data. Only include fields with values available from the source. Price is optional: omit it for videos and other things without a price. If no image is provided, the server attempts to fetch og:image automatically.
Parameters:
url(required) — string — Direct public HTTP(S) page URL.title(required) — string — Exact title from the pageplatform(required) — string — Site domain name without TLD: amazon.com→"amazon", ebay.co.nz→"ebay", kiwiquads.co.nz→"kiwiquads"tags— array — Tags for categorizationimage— string — Main image URL. Server auto-fetches og:image if not provided.price— number — Price as a number (e.g. 99.99), taken from the page. Omit when the item has no price (videos, free content).images— array — All image URLs found on the pagereason— string — Why this change was made (shown to user in change history)category— string — Category — pick the best matchcurrency— string — Currency code of the price: USD, NZD, AUD, EUR, GBP, etc. Omit when there is no price.location— string — Seller location or pickup locationquantity— integer — How many of this itemcondition— string — Condition if applicable: New, Used, Refurbished, Used - Like New, Used - Good, Used - Fairitem_type— string — What kind of item: product (buy), rental (Airbnb), service (cleaning), course (Udemy), listing (classified), event (ticket), video (YouTube, Twitch, TikTok, Vimeo…). If omitted, the server infers it from the platform (video sites → video, otherwise product).posted_at— string — When the listing was originally posted (ISO 8601)attributes— object — Specs/details as key-value pairsdescription— string — Description from the page (max 2000 chars)seller_name— string — Seller or store nameseller_rating— number — Seller rating 0-5original_price— number — Original price before discount (if on sale)seller_reviews— integer — Number of seller reviews
Hints: read-only no · destructive no · idempotent no · open-world yes
delete_itemdestructiveRemove one or more items from the user's Grabblist (soft-delete). Pass a single id or an array of ids for batch operations.
Parameters:
id(required) — Item ID or array of item IDs to deletereason— string — Why this change was made (shown to user in change history)
Hints: read-only no · destructive yes · idempotent yes · open-world no
restore_itemRestore one or more deleted (archived) items back to the Grabblist. Pass a single id or an array of ids for batch restore.
Parameters:
id(required) — Item ID or array of item IDs to restorereason— string — Why this change was made (shown to user in change history)
Hints: read-only no · destructive no · idempotent yes · open-world no
search_savedread-onlySearch within the user's saved items by keyword
Parameters:
query(required) — string — Search querylimit— number — Max results (default: 20)
Hints: read-only yes · destructive no · idempotent yes · open-world no
update_pricedestructiveManually update the price on a saved item. Records old and new price for comparison. This is a manual correction, not automatic price tracking.
Parameters:
id(required) — string — The item IDprice(required) — number — New current pricereason— string — Why this change was made (shown to user in change history)source— string — Price update source
Hints: read-only no · destructive yes · idempotent no · open-world no
update_itemdestructiveEdit fields on one or more saved items. Pass a single id or an array of ids for batch updates (same fields applied to all). For batch: attributes are REPLACED not merged, og:image fallback is skipped.
Parameters:
id(required) — Item ID or array of item IDs to updatetags— array — Replace all tags with this listnotes— string — User or AI notes — personal comments, thoughts, comparisonstitle— string — Item titleimages— array — All image URLs — replaces the entire images arrayreason— string — Why this change was made (shown to user in change history)status— string — Decision status: considering, shortlisted, decided, bought, rejectedcategory— string — Item categoryquantity— integer — How many of this itemimage_url— string — Main image URLitem_type— string — What kind of item this isattributes— object — Merge into existing attributesdescription— string — Item description (max 2000 chars)is_favorite— boolean — Set true to favorite, false to unfavoritetarget_price— number — What the user wants to pay — not the actual price, but the goal price
Hints: read-only no · destructive yes · idempotent yes · open-world no
list_collectionsread-onlyList all collections OR get a specific collection with its items. Without id: returns all collections with counts/values. With id: returns that collection's metadata and all items inside (with optional filters).
Parameters:
id— string — Collection ID — if provided, returns that collection with all its items. If omitted, lists all collections.sort— string — Sort order (only when id is provided, default: newest)tags— array — Filter items that have ALL these tags (only when id is provided)status— string — Filter by decision status (only when id is provided)platform— string — Filter by platform domain name, e.g. "amazon", "ebay" (only when id is provided)max_price— number — Maximum price filter (only when id is provided)min_price— number — Minimum price filter (only when id is provided)created_by— string — Filter by who added: "ai" for AI-added items (only when id is provided)
Hints: read-only yes · destructive no · idempotent yes · open-world no
create_collectionCreate a new collection (folder) in the user's Grabblist to organize saved items.
Parameters:
name(required) — string — Collection name, e.g. "Gaming Setup" or "Gift Ideas"icon— string — Material Symbols icon name (e.g. "devices", "home", "shopping_bag", "checkroom", "directions_car", "favorite"). Default: inventory_2color— string — Hex color for the collection (e.g. "#3B82F6", "#22C55E", "#A855F7", "#EC4899", "#F59E0B", "#EF4444"). Default: #3B82F6budget— number — Total spending target for this collection (e.g. 1500 for "Build PC under $1500")reason— string — Why this change was made (shown to user in change history)description— string — Short description of what this collection is forbudget_currency— string — Currency for the budget (default: NZD)
Hints: read-only no · destructive no · idempotent no · open-world no
add_to_collectionAdd a saved item to a collection. Both the item and collection must already exist.
Parameters:
collection_id(required) — string — The collection IDitem_id(required) — string — The item ID to addreason— string — Why this change was made (shown to user in change history)
Hints: read-only no · destructive no · idempotent yes · open-world no
remove_from_collectiondestructiveRemove one or more items from a collection. Pass a single item_id or an array of item_ids for batch removal. Items are NOT deleted — they stay in the Grabblist.
Parameters:
collection_id(required) — string — The collection IDitem_ids(required) — Item ID or array of item IDs to removereason— string — Why this change was made (shown to user in change history)
Hints: read-only no · destructive yes · idempotent yes · open-world no
delete_collectiondestructivePermanently delete a collection. Items inside are not deleted — they stay in the Grabblist.
Parameters:
id(required) — string — The collection ID to deletereason— string — Why this change was made (shown to user in change history)
Hints: read-only no · destructive yes · idempotent yes · open-world no
update_collectiondestructiveUpdate a collection's name, icon, description, budget, or sharing status. Only provide the fields you want to change — omitted fields stay unchanged. Set is_public=true to share (returns public URL), is_public=false to unshare.
Parameters:
id(required) — string — The collection ID to updateicon— string — Material Symbols icon name (e.g. "devices", "home", "shopping_bag")name— string — New collection namecolor— string — Hex color (e.g. "#3B82F6", "#22C55E", "#EF4444")budget— number — New budget amountreason— string — Why this change was made (shown to user in change history)is_public— boolean — Set true to share (generates public URL), false to unsharedescription— string — New descriptionbudget_currency— string — New budget currency
Hints: read-only no · destructive yes · idempotent yes · open-world no
link_itemsCreate typed relations between items: alternative (A or B), complement (A and B together), upgrade (B replaces A), duplicate (same item different site), same_seller. Supports single pair (from_id, to_id, relation) or bulk (pairs array).
Parameters:
pairs— array — Array of pairs to link (for bulk mode)to_id— string — Second item ID (for single pair mode)reason— string — Why this change was made (shown to user in change history)from_id— string — First item ID (for single pair mode)relation— string — Type of relationship (for single pair mode)
Hints: read-only no · destructive no · idempotent yes · open-world no
get_item_graphread-onlyGet all relations for an item — alternatives, complements, upgrades, duplicates. Returns the item and all connected items with their relation types.
Parameters:
id(required) — string — The item ID to get relations for
Hints: read-only yes · destructive no · idempotent yes · open-world no
unlink_itemsdestructiveRemove a relation between two items.
Parameters:
from_id(required) — string — First item IDto_id(required) — string — Second item IDrelation(required) — string — The relation type to removereason— string — Why this change was made (shown to user in change history)
Hints: read-only no · destructive yes · idempotent yes · open-world no
get_item_historyread-onlyGet the change history for a saved item — who changed what and when.
Parameters:
item_id(required) — string — The item IDlimit— number — Max events to return (default: 20)
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_collection_activityread-onlyGet recent activity on a collection — additions, removals, edits.
Parameters:
collection_id(required) — string — The collection IDlimit— number — Max events to return (default: 20)
Hints: read-only yes · destructive no · idempotent yes · open-world no
set_pinned_itemsdestructiveSet the pinned "Top Picks" items for a collection (max 3). Pinned items are highlighted on the share page.
Parameters:
collection_id(required) — string — The collection IDitem_ids(required) — array — Items to pin, in display order (1st = top)reason— string — Why this change was made (shown to user in change history)
Hints: read-only no · destructive yes · idempotent yes · open-world no
send_feedbackdestructiveSend feedback, a bug report or a feature request to the Grabblist team. Only call this when the user asks to report something, or agrees after you offer to report a problem (parsing failure, broken URL, missing feature); show them the message first. Be specific about what went wrong and where.
Parameters:
type(required) — string — Type: bug (something broken), parsing_failure (price/title/image not extracted), feature_request (wishlist), feedback (general feedback)message(required) — string — What happened or what you propose. Be specific — the team reads this.url— string — The URL where the issue occurredtool— string — The tool you were using when the issue occurred (e.g. add_item, search_saved)error— string — Error message you received, if any
Hints: read-only no · destructive yes · idempotent no · 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.