
NorthCinder MCP Server: A Shopping Agent That Asks Before It Buys
Lets Claude, Cursor and other assistants compare products across your chosen stores, watch prices, and buy only after you approve.
NorthCinder is a community project run from the cinderline/northcinder repository. It runs on your computer, needs no account or key in its default local mode, and the repository owner runs no service. You set it up with the initializer in the install box, which saves your settings and prints the entry to add to your AI app.
It can complete purchases. Each one needs a fresh approval for one exact offer and one unit, a spending cap and a one-time code that goes to a local file. Store connections are optional and use your own credentials.
Good for
- Shoppers who want an assistant to compare offers and explain why one ranks first
- People who want price alerts and order tracking kept on their own computer
- Anyone who wants a hard spending cap and a one-time code before an agent can buy
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install NorthCinder MCP
Claude Code
- 1
Copy this prompt.
Add the NorthCinder MCP server to Claude Code. Run this command: npx northcinder init Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js 20+.
Read-only mode: There is no read-only mode. Set a low spending cap for every purchase.
Run the command, then add the entry it prints to Claude Code's MCP settings. The entry it prints is a node command with a file path, not a plain npx command. By default the path points at the package files that npx ran; adding --persist-runtime to the init command copies the runtime into your config folder instead (the flag is in the 0.2.1 init code, not the README). Local mode needs no key. The README documents the initializer but does not name Claude Code, so where the entry goes is our guidance.
From the project README. Source.
Tools
Makes a checklist for researching a product or seller
Returns a fixed checklist and limits on searches and source reads for one product or seller request. The tool itself does not browse. Your assistant follows the checklist with its own tools.
Try: “Make a research plan for the Brooks Ghost 16 in size 10”
Read ·
create_research_planFinds products across your stores, ranked by your criteria
Searches the store connections you set up (Shopify, eBay, Etsy, read-only Amazon) and ranks offers only by price, spec match, delivery, availability, merchant trust and ethics. Sponsored listings are labelled and sit below organic ones, and each result says why it ranked where it did.
Try: “Find black wool running shoes under $130 and tell me why the winner ranked first”
Network ·
search_productsAdds product facts your assistant found on the web
Takes product facts your assistant collected with its own browser or search tools and feeds them into the same ranking. The description tells the assistant not to send cookies, raw pages, screenshots or passwords.
Try: “Add these three offers I found on a small shop to the comparison”
Write ·
submit_browser_observationsAttaches research notes to specific offers
Links product and seller research to exact offers from one search so each offer shows how ready it is to compare. It never changes the rank or allows a purchase.
Try: “Attach the seller research to the second offer”
Write ·
submit_decision_evidenceShows the summary of a past search again
Re-prints the buyer's brief for a search from this session, with up to three role-based picks. More finalists, rejections and store coverage are in the expanded view.
Try: “Show me the brief for that search again”
Read ·
get_buyers_briefReads your saved shopping preferences
Returns the preferences saved on your computer, such as sizes, budget defaults, brand rules and delivery defaults. Each entry says whether you stated it or it was inferred from feedback.
Try: “What shopping preferences do you have for me?”
Files ·
get_profileSaves or deletes shopping preferences
Adds preferences you said in the conversation or deletes entries by id, whether stated or inferred. The assistant is told to relay only your exact words and never to guess.
Try: “Remember that I only buy fair-trade brands”
Delete ·
update_profileRecords your reaction to a result
Logs a reaction such as not interested or more like this. A reasoned reaction to a brand can create a pending proposal, and a wrong-interpretation note records a correction without learning a preference.
Try: “Mark the second result as not interested because of the brand”
Write ·
record_feedbackConfirms or dismisses a suggested preference
A suggestion does not become a preference until you confirm it or a second matching offer backs it. Confirming makes it a stated entry and dismissing removes it.
Try: “Dismiss the proposal to deny that brand”
Write ·
review_preference_proposalSets a price alert
Creates a standing watch that notifies you when the price reaches a target, through the notification channel set up on your computer. The description says a watch can never buy anything.
Try: “Watch this jacket and tell me when it drops under $120”
Write ·
create_watchLists your price alerts
Shows every watch, including cancelled and expired ones, with target price, last check and expiry. The notification topic is never shown.
Try: “List my price watches”
Files ·
list_watchesStops a price alert
Cancels one watch by id. The record is kept as voided so the history stays auditable.
Try: “Cancel watch w_3”
Write ·
cancel_watchRates how trustworthy a seller looks
Returns trusted, known, unknown or flagged for a merchant, with the evidence. Unknown merchants come back as unknown with a reason, not as safe.
Try: “How trustworthy is this merchant?”
Network ·
get_trust_signalStarts a purchase with a spending cap
Step 1 of 3. Creates a pending authorization for one offer with a hard cap. A one-time confirmation code is written to a local file and is not returned to the assistant. Nothing is bought yet.
Try: “Start a purchase for the first offer with a cap of $130”
Write ·
request_purchase_authorizationApproves a purchase with your code
Step 2 of 3. You approve by giving the one-time code from the local file, exactly as typed. The description says never to call it with a guessed or invented code.
Try: “Approve the purchase with code 481-902”
Write ·
approve_purchaseCancels a pending purchase
Voids a pending or approved but unused authorization and destroys its code. No code is needed, so saying no is never blocked.
Try: “Decline that purchase”
Write ·
decline_purchaseCarries out the approved purchase
Step 3 of 3. Checks the signed approval for the exact offer, quantity, merchant, cap and expiry, and burns its single-use nonce. It then either pays through an agent commerce rail with a payment token or gives you a cart link to finish yourself.
Try: “Complete checkout for the approved purchase”
Write ·
complete_checkoutLists your orders
Shows orders made through NorthCinder plus orders recovered from confirmation, shipping and return emails that you drop in a local folder. It rescans that folder first, and emails are parsed by fixed rules, not sent to a model.
Try: “List my open orders”
Files ·
list_ordersRecords how an order turned out
Saves outcomes you confirm and reminder dates for warranty or maintenance. Outcomes are never guessed, and reminders only notify.
Try: “Record that order o_7 arrived and fits”
Write ·
record_order_outcomeShows one order and its shipments
Returns the items, linked shipments with tracking history and the return-window deadline. It also writes or refreshes a calendar file for that deadline in the local config folder.
Try: “Show order o_7 and its tracking”
Write ·
get_orderAdds an order it could not find
Records an order placed elsewhere or without an email, using only the fields you give it.
Try: “Add my order from the local shop, $59 on October 3”
Write ·
import_order
Read from the source code
Permissions
high risk · 5 things to watch
High risk
The assistant can search, track orders and, after your approval, complete a purchase with real money. Use a low spending cap and keep the approval code out of the assistant's reach.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can complete purchases
complete_checkout can pay through a payment token or hand you a cart link. Every checkout needs a fresh approval for one offer and one unit, with a spending cap and a one-time code. Set a low cap and read each summary before you give the code. github.com
Your assistant may be able to read the approval code
The code is written to a local file, not returned over MCP. The README says an AI app with file access as the same user may be able to read it. Do not give the assistant that access, or use a separate OS account. github.com
It writes and reads local files
It keeps an audit log, profile, watches and orders in your config folder. It also reads order emails you drop in a mail folder and writes a calendar file for return deadlines. github.com
Research results are provisional
The README says no host and model pair is qualified for routine research use. Check the identity, sources and conflicts yourself before you rely on a result. github.com
Browser results are not store-verified
Facts your assistant collects by browsing are labelled as reported by the agent. Purchases and unattended watches are not automated until a native store connection confirms the offer. unpkg.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | No read-only switch is documented. Searching and research tools only read, but the purchase tools are always on. |
|---|---|
| Talks to | The stores you connect (Shopify, eBay, Etsy, Amazon) and trust-check sources. A payment rail or cart link at checkout. Your own ntfy topic if you set one up for notifications |
| Sign-in and keys | Local mode needs no key. Settings, the signing keys, the audit log, watches and orders are stored in your config folder on your computer. Store credentials are optional and used only for connections you set up. |
Questions
Is NorthCinder official?
No. It is a community project from the cinderline/northcinder repository, not made by Shopify, eBay, Etsy or Amazon. The repository owner does not run a NorthCinder service.
Can it buy things without asking me?
No. Each checkout needs a fresh approval for one exact offer and one unit, with a spending cap, and you give a one-time code from a local file. The signed approval works once. Price watches only notify and can never buy.
Does it need an account or API key?
Not in the default local mode. There is no NorthCinder account or cloud. Store credentials are optional and used only for the connections you set up, and your AI provider key stays in your AI app.
How do I set it up?
Run the initializer shown in the install box. It saves your config and prints the entry for your AI app, which you then add to that app's MCP settings. Use Node.js 20 or later.
Which stores does it cover?
Built-in connections cover Shopify, WooCommerce, eBay, Etsy and read-only Amazon comparison. A store that is not configured returns not_configured, and the assistant can keep researching with its own browser tools.
Can sellers pay for a better rank?
The README says no. Sponsored offers stay labelled and below organic results, and ranking is re-run on your computer.
Does it work in ChatGPT or claude.ai?
The default setup runs locally on your computer, so it needs an app that can start local servers. The repository also builds a separate desktop bundle for a self-hosted engine, which is not the default setup.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
northcinder- Registry
- npm
- Transport
- stdio
- Auth
- None
- License
- MIT
- Last commit
- Aug 22, 2026
- Open issues
- 0
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 4Hide
- NorthCinder README · github.com
- northcinder package README · unpkg.com
- northcinder on npm · npmjs.com
- northcinder 0.2.1 bin/northcinder.js · unpkg.com