Skip to content

MCP tools and resources

Every tool and resource of the Brick Work MCP server, generated when the site is built from the adapter the server itself uses. Each tool is one API v2 call. How to start the server and connect an assistant is in the MCP server guide.

Read tools (41)

Tool What it does Arguments API call
export_wishlist_csv Export wishlist as rebrickable csv id, kind, summary GET /api/v2/wishlists/{id}/export.csv
export_wishlist_xml Export wishlist as bricklink wanted list xml id, kind, summary GET /api/v2/wishlists/{id}/export.xml
get_copy One copy. id GET /api/v2/copies/{id}
get_copy_completeness Stored and derived completeness, checked flag, missing and damaged counts. id GET /api/v2/copies/{id}/completeness
get_item The item: its brick work id, kind, name, the bricklink numbers it is known by and its rebrickable key (design 7). a merged id answers 307 to the survivor. provider, kind, no GET /api/v2/items/{id}
get_lot_candidate_sets The sets a lot may have come from, ranked, with reasons and distinctive parts (lot detective). id, min_score, theme, year_from, year_to, parts_min, parts_max, ignore_common, limit, offset GET /api/v2/lots/{id}/candidate-sets
get_lot_pull_list The pull list of a set for a lot (#202, lot detective): the set's lines with what each needs, what the lot holds and what is found so far. id, provider, kind, no, show, limit, offset GET /api/v2/lots/{id}/pull-list/{set_id}
get_minifigure_by_number Find the item for a minifigure number; the same item body as /items/{id} (decision 2). default provider bricklink; provider=rebrickable for rebrickable numbers. several items answer 409 ambiguous with the candidates, none 404. no, provider, color GET /api/v2/minifigures/by-number/{no}
get_order Order with documents and lines. id GET /api/v2/orders/{id}
get_part_by_number Find the item for a part number; the same item body as /items/{id} (decision 2). default provider bricklink; provider=rebrickable for rebrickable numbers. several items answer 409 ambiguous with the candidates, none 404. no, provider, color GET /api/v2/parts/by-number/{no}
get_planning_build_scout Build scout (#9): the catalogue's sets ranked by how much of each the loose stock already makes. lot, storage, loose, damaged, min_percent, max_missing, theme, year_from, year_to, size_from, size_to, limit, offset, detail GET /api/v2/planning/build-scout
get_planning_ranking Owned copies ranked by cost to complete, with the repair settings used. cursor, limit, sort, q, direction GET /api/v2/planning/ranking
get_planning_set_scores The catalogue's sets ranked by how much of a pile of loose parts each explains. lot, storage, loose, stock, limit, offset, detail GET /api/v2/planning/set-scores
get_prices Current prices and recorded observations of one item. provider, kind, no, color GET /api/v2/items/{id}/prices
get_set_by_number Find the item for a set number; the same item body as /items/{id} (decision 2). a set number is the same at both providers. several items answer 409 ambiguous with the candidates, none 404. no, provider, color GET /api/v2/sets/by-number/{no}
get_settings Allowed settings and freshness rules. none GET /api/v2/settings
get_sources Sources with key state (configured yes or no), budget, usage today, last success and error. cursor, limit, direction GET /api/v2/sources
get_statistics Counts by completeness, theme, storage, place. none GET /api/v2/statistics
get_sync_status Sync status per source: credentials (never their values), link, last pull, last send and what is waiting. source GET /api/v2/sync/{source}
get_valuation Value and gain per copy (#57): what each live copy cost, what it is worth now and the gain, and the paid vs value figures of statistics. none GET /api/v2/valuation
get_wishlists Get wishlists cursor, limit, archived, direction GET /api/v2/wishlists
list_copies Owned set copies. cursor, limit, number, provider, condition, status, storage, place, flag, lot, problem, duplicates, theme, year, q, sort, archived, direction GET /api/v2/copies
list_copy_figures Whole figures of the copy. id, cursor, limit, direction GET /api/v2/copies/{id}/figures
list_copy_parts Part lines of the copy (required, spare, figure components). id, cursor, limit, spare, parent, problem, direction GET /api/v2/copies/{id}/parts
list_events Audit events, newest first. cursor, limit, entity, field, via, since, undoable, direction GET /api/v2/events
list_flags Flags of kind owner, status and tag. cursor, limit, kind, direction GET /api/v2/flags
list_gaps Missing items over all copies and loose figures. cursor, limit, kind, number, provider, color, copy_id, direction GET /api/v2/gaps
list_instruction_files Booklet files and booklet identities with coverage. cursor, limit, kind, number, provider, has_file, archived, direction GET /api/v2/instruction-files
list_jobs Import and refresh jobs with steps. cursor, limit, state, failed, direction GET /api/v2/jobs
list_lots Part lots. cursor, limit, storage, archived, direction GET /api/v2/lots
list_matches Suggestions: loose stock that fills a gap. cursor, limit, kind, number, provider, color, copy_id, completes, direction GET /api/v2/matches
list_minifigures Figures by identity: owned in sets, loose, missing. cursor, limit, color, provider, problem, theme, year, q, sort, inventory, direction GET /api/v2/minifigures
list_orders Orders with line and receipt state. cursor, limit, bricklink_order_id, status, direction GET /api/v2/orders
list_places Purchase locations with counts and totals per currency. cursor, limit, direction GET /api/v2/places
list_stale_prices Items whose price is older than the freshness rule. cursor, limit, direction GET /api/v2/prices/stale
list_sticker_candidates The sets a sticker on a part line of a lot may belong to (sets that hold the part in its colour and a sticker sheet). id, stock_id, limit, offset GET /api/v2/lots/{id}/stock/{stock_id}/stickers
list_stock Loose stock lines (parts, minifigures, booklets, anything). cursor, limit, kind, number, provider, color, condition, storage, lot, place, flag, problem, theme, year, q, sort, archived, direction GET /api/v2/stock
list_storages Active storages with counts, plus the virtual "not stored". cursor, limit, direction GET /api/v2/storages
list_wishes Wishlist rows; under_max filters to rows priced under the wish maximum. list, cursor, limit, kind, number, provider, color, condition, flag, under_max, q, sort, archived, direction GET /api/v2/wishes
lookup_item Find the item for any provider number: provider, kind and key (and a colour in the provider space). same body and errors as the by-number paths. provider, kind, key, color GET /api/v2/lookup
search_catalogue Search the local bricklink catalogue file by type and text. cursor, limit, kind, q, sort, direction GET /api/v2/catalogue/items

Write tools (33, only with a write token and --allow-write)

Tool What it does Arguments API call
add_copies Add owned copies of a set (quantity n makes n copies) and queue its import. item, quantity, condition, completeness, decision, storage_id, purchase_location_id, purchase_date, purchase_price, purchase_currency, idempotency_key POST /api/v2/copies
add_stock Add loose stock; identical lines merge. item, color, quantity, condition, storage_id, lot_id, note, idempotency_key POST /api/v2/stock
add_wish Add a wish (same colour and item adds to the live row on decision=another). list_id, item, color, quantity, condition, note, max_price, max_price_currency, max_price_boxed, max_price_boxed_currency, decision, idempotency_key POST /api/v2/wishes
apply_sync_pull Apply a pull plan: one copy per missing unit (flag imported from <site>, condition and completeness unset) and missing wishes, in one transaction. ticked defaults to the suggested rows; conflicts only when ticked. undo with post /events/{id}/undo. source, plan_id, ticked, idempotency_key POST /api/v2/sync/{source}/pull/apply
archive_copy Archive the copy (the ui calls this deleting a set). id, if_match, idempotency_key DELETE /api/v2/copies/{id}
archive_wish Archive the wish. id, if_match, idempotency_key DELETE /api/v2/wishes/{id}
archive_wishlist Archive a wishlist id, idempotency_key DELETE /api/v2/wishlists/{id}
clear_sticker Not a sticker: remove the sticker flag from a part line and stop counting a confirmed sticker. one undoable event; a line without the flag writes nothing. id, stock_id, idempotency_key DELETE /api/v2/lots/{id}/stock/{stock_id}/sticker
confirm_sticker Confirm the sticker of a part line: the sheet of a set from the candidates ("this one"). one undoable event; choosing what is already chosen writes nothing. id, stock_id, set_item_id, sheet_item_id, idempotency_key POST /api/v2/lots/{id}/stock/{stock_id}/sticker
create_storage Create a storage. name, type, parent_id, note, idempotency_key POST /api/v2/storages
create_wishlist Create a wishlist name, sort, note, bricklink_id, idempotency_key POST /api/v2/wishlists
edit_wishlist Rename a wishlist or change its settings id, name, sort, note, bricklink_id, idempotency_key PATCH /api/v2/wishlists/{id}
give_from_stock Give n from this line to a copy gap or a loose-figure part gap. id, copy_id, target, target_id, quantity, idempotency_key POST /api/v2/stock/{id}/give
import_item Create the item identity and queue the six import steps. provider, kind, no, steps, idempotency_key POST /api/v2/items/{id}/import
import_order Import an order document: pasted email, bricklink xml, or fetch by order number with the user key. source, text, number, choice, label, idempotency_key POST /api/v2/orders/documents
make_copy_from_lot Make it a copy (#202): the found pieces of the pull list move out of the lot into a new copy of the set, the rest recorded as missing on it. one undoable event. id, provider, kind, no, idempotency_key POST /api/v2/lots/{id}/pull-list/{set_id}/make-copy
move_to_storage Move copies, stock and lots into this storage (id "unstored" for none). a lot carries its parts in the same storage. id, selections, idempotency_key POST /api/v2/storages/{id}/contents
plan_sync_pull Fetch the remote collection and compare: add here, only here, differs, conflict (changed in both places), unmatched. writes nothing to the collection; the plan expires after 24 hours. source, idempotency_key POST /api/v2/sync/{source}/pull/plan
plan_sync_send The remote calls a send would make: set counts and wishes; removals are never ticked by default. source, idempotency_key POST /api/v2/sync/{source}/send/plan
record_price Record one manual or valuation observation; undo sets error=undone and recomputes price_current. provider, kind, no, condition, guide, price, currency, slot, color, observed_at, idempotency_key POST /api/v2/items/{id}/prices
refresh_price Queue a market price refresh for one item. provider, kind, no, idempotency_key POST /api/v2/items/{id}/prices/refresh
restore_wishlist Restore an archived wishlist id, idempotency_key POST /api/v2/wishlists/{id}/restore
retry_job Retry failed steps (all, or one step). queues the work and returns the job. id, step, idempotency_key POST /api/v2/jobs/{id}/retry
set_copy_checked Set or clear the "set is checked" flag and recompute derived completeness. id, checked, idempotency_key PUT /api/v2/copies/{id}/checked
set_figure_missing Set the missing count of one whole figure. id, provider, kind, no, missing, idempotency_key PATCH /api/v2/copies/{id}/figures/{item_id}
set_part_missing Set missing, damaged, checked for one line (mark missing or found). id, part_id, missing, damaged, checked, idempotency_key PATCH /api/v2/copies/{id}/parts/{part_id}
take_for_gap Take n of one missing part (with its colour) or whole minifigure from loose stock into the copy; one undo reverses every move. id, item, color, quantity, idempotency_key POST /api/v2/copies/{id}/take
transfer_wishes Move or copy wishes into this wishlist id, ids, copy, idempotency_key POST /api/v2/wishlists/{id}/transfer
undo_event Undo m3 collection or supported standalone core receipts. token, source key and source toggle receipts (alone or inside an api event) require admin; other receipts require write. id, idempotency_key POST /api/v2/events/{id}/undo
update_copy Edit condition, completeness, storage, purchase and estimate fields, note. id, if_match, fields, idempotency_key PATCH /api/v2/copies/{id}
update_stock Edit a stock line (may merge into an existing line; response lists merged ids). id, if_match, fields, idempotency_key PATCH /api/v2/stock/{id}
update_wish Edit quantity, colour, condition, max price, max price with box and their currencies, note. id, if_match, fields, idempotency_key PATCH /api/v2/wishes/{id}
wish_to_owned Turn a wish into owned copies and archive the wish, one transaction. id, quantity, condition, completeness, idempotency_key POST /api/v2/wishes/{id}/to-owned

Resources (8)

URI API operation
brickwork://summary get_statistics
brickwork://copies/{id} get_copies_by_id
brickwork://wishlist get_wishes
brickwork://storages get_storages
brickwork://sources get_sources
brickwork://events/recent get_events
brickwork://openapi get_openapi_yaml
brickwork://items/{provider}/{kind}/{no} get_lookup