Shopper Setup — Have AI Negotiate Online For You
This guide gets an AI shopping agent running in under 2 minutes. Works with both ChatGPT and Claude Desktop — pick whichever you already use. Once setup, your AI can find negotiable stores and haggle on your behalf at any negotiate.v1-compliant storefront. Think of it as having a sharp purchasing agent on call.
No terminal, no config file editing — just an install link or a URL pasted into a settings dialog.
What you get
After setup, in any conversation with your AI you can say things like:
"Find me a store that sells Dyson vacuums. Then negotiate the V15 down to under $560."
Your AI will:
- Find a matching store from the public negotiate.v1 directory.
- Open a chat session with that store's AI sales rep.
- Negotiate turn by turn — apply real tactics: anchor low with comps, trade non-price concessions, push for the bundle, walk if the floor is too high.
- Tell you the result — close with a final price + extras, or report the walk-away.
Every merchant message comes from a real Claude agent on the store's side. You watch two AIs negotiate, you get the deal.
Pick your AI client
| Client | Install | Best for |
|---|---|---|
| ChatGPT (Custom GPT) (easiest) | One click on the GPT URL | Anyone with a ChatGPT Plus/Pro/Team account |
| Claude Desktop | Paste a URL into Settings → Connectors | Existing Claude Desktop users |
Both paths use the same backend and the same protocol — only the UI differs. Pick whichever app you already have open.
Path 1 — ChatGPT
Step 1 — Install the Negotiate Agent Custom GPT
Click the URL below in any browser. ChatGPT will open and prompt you to install the GPT — confirm with "Add to ChatGPT".
Custom GPT install link:
https://chatgpt.com/g/g-69f8430995d08191aa9dbc1df6e43452-negotiate-agent
You need a ChatGPT Plus, Pro, Team, or Enterprise account to install Custom GPTs (free accounts can use them once installed).
Step 2 — Try a negotiation
Open the Negotiate Agent and click any conversation starter, or type:
"Find me a Dyson HP07 air purifier and negotiate it down to under $510."
Watch the GPT call its actions in sequence — findStores → discoverStore → startNegotiation → sendMessage looped until close. Each call shows as a small "Used [actionName]" line you can expand for the request/response. Whole negotiation runs ~30-60 seconds.
That's the entire setup for ChatGPT users. Skip ahead to Tips below.
Path 2 — Claude Desktop
Step 1 — Install Claude Desktop
If you don't already have Claude Desktop:
- Go to claude.ai/download.
- Download the installer for your OS (macOS, Windows, or Linux).
- Open it, drag Claude into Applications (macOS) or run the installer (Windows/Linux).
- Launch Claude Desktop and sign in.
Step 2 — Add the negotiate-agent connector
- Open Settings (gear icon at the top right).
- Go to the Connectors section in the sidebar.
- Scroll to the bottom and click Add custom connector.
- Fill in the dialog:
- Name:
Negotiate Agent- Remote MCP server URL:https://mcp.pier39.ai/mcp - Click Add.
Step 3 — Restart Claude Desktop
Quit Claude Desktop completely (Cmd-Q on macOS, not just close the window). Reopen it. Custom Connectors only register at app startup.
Step 4 — Verify the tools loaded
Open a fresh chat. Click the tools indicator (🔌 / 🛠️ icon, usually at the bottom of the message composer). You should see "Negotiate Agent" listed with 6 tools:
find_stores— search the public store directorydiscover_store— probe a domain for negotiate.v1list_products— list what a store sellsstart_negotiation— open a chat with the store's sales repsend_message— send one shopper turnread_history— read a chat session's history
If you don't see the icon, just type "List the MCP tools you have access to, grouped by server." — Claude will show you the same info.
Step 5 — Try your first negotiation
In a fresh chat, paste:
Use the find_stores tool to find me a store that sells Dyson vacuums.
Claude will call find_stores(query="dyson vacuum") and show you the matching stores from the directory. Right now that returns Atlas Premium Appliance — the reference Dyson outlet.
Then follow up with:
Great — now negotiate the V15 there. Try to get it under $560 with the extra battery thrown in.
Watch Claude:
- Pick Atlas Premium Appliance from the previous result
- Open a session with the store's sales rep, Chonkers
- Anchor with a credible price, justify with comps
- Engage with Chonkers's counter-offers (free shipping, extra battery, extended warranty)
- Either close the deal under $560 effective, or walk gracefully if Chonkers holds firm
The full negotiation usually runs 6–12 turns and takes ~30 seconds.
Tips for getting better deals
The merchant agent on the other side is also AI, and it's trained to hold its floor. To get the most out of negotiations:
Be specific about your budget. "Try to get it under $500" gives Claude a clear target. "See if you can get a deal" gives Claude no anchor and weakens its position.
Mention what you actually value. "Bonus points for free shipping" or "I'd take a longer warranty over a price cut" tells Claude which non-price levers to push for. The merchant agent has more flexibility on those than on the listed price.
Let Claude walk if needed. A walk-away has signaling power — it sometimes triggers the merchant to come back with a better offer through a different lever stack. Don't say "get me this no matter what."
Don't reveal your true ceiling. "Try to get it under $500" implies your ceiling is around $500, but if it closes at $510 with $30 of bundled extras, that might still be worth it. Frame your budget tightly so Claude has room to come up if needed.
Reference comps. "I've seen this same model on Costco for $470" gives Claude credible leverage. Even if you're approximating, naming a specific competitor sharpens the anchor.
For high-stakes purchases, run the negotiation twice. Open two chats and try slightly different opening anchors ($450 vs. $480). See which result lands better.
What stores can I negotiate at?
Today there's one fully-functional reference store:
- Atlas Premium Appliance at
negotiate.pier39.ai— fictional Dyson outlet (V15 vacuum, Airwrap, HP07 air purifier, Supersonic hair dryer)
As more stores adopt the protocol, the directory grows automatically. To see what's currently listed:
Use find_stores to list every negotiable store you can find.
To check whether any specific store speaks the protocol:
Use the discover_store tool to check if [DOMAIN] is negotiable.
If you're a store owner who wants to be listed, see STORE_SETUP.md.
Troubleshooting
"Negotiate Agent" doesn't appear in the tools menu
- Did you fully quit Claude Desktop (Cmd-Q on macOS) and reopen? Closing the window doesn't reload Custom Connectors.
- Re-open Settings → Connectors and confirm "Negotiate Agent" appears in your list. If it's missing, the Add step didn't save — try Step 2 again.
- Confirm the URL you entered is exactly
https://mcp.pier39.ai/mcp(no trailing slash, no typos).
Claude has the tools but won't use them
- Be more direct: "Use the negotiate-agent tools to find a store that sells Dyson vacuums and negotiate" instead of "can you negotiate this for me?"
- If Claude responds by trying to roleplay the seller, remind it: "The merchant has its own agent — don't roleplay it. Use send_message to talk to them."
"Connection error" mid-negotiation
- The connector might be temporarily unreachable. Try
curl -s https://mcp.pier39.ai/mcpfrom your terminal — if it returns406 Not Acceptable, the server is healthy. - The store you're negotiating at might be down. Test with
curl -s https://negotiate.pier39.ai/api/healthfor the reference store. - Wait 1–2 minutes and ask Claude to retry. The connector also rate-limits per IP — heavy testing in a short window will throttle.
The negotiation closes but at a price higher than I wanted
- That's the merchant agent doing its job — it held its floor. Try again with a more aggressive opening anchor, or with comps Claude can cite as leverage.
- Some products genuinely don't have room to drop further. The merchant's floor is non-negotiable; it'll walk before crossing it.
Claude says the store doesn't speak the protocol
- The store you tried hasn't adopted negotiate.v1 yet. Currently, only stores running the pier39-merchant-server library or compatible implementation will work. Try the demo at
negotiate.pier39.aito confirm your setup works.
Going further
Negotiate at any negotiate.v1 store. As the protocol gains adoption, the same setup works everywhere — no per-store configuration. Just ask Claude to find one.
Build a custom shopper agent. If you want full programmatic control (for bulk purchases, automated procurement, etc.), the protocol is plain HTTP/JSON. See PROTOCOL.md and write a script in any language that can fetch URLs.
Tell stores about it. If there's a small business or specialty retailer you'd love to be able to negotiate with, point them at STORE_SETUP.md. The setup takes ~30 minutes for a developer.
See also
- Negotiate Agent on ChatGPT — one-click install for ChatGPT users
- PROTOCOL.md — the formal protocol spec
- STORE_SETUP.md — for store owners who want to be negotiable
- CHATGPT_SETUP.md — for developers who want to build their own Custom GPT
- negotiate-mcp on PyPI — the Claude Desktop connector source
- negotiate-directory — public registry of negotiable stores
- pier39-skills — the underlying Claude Agent Skills
License
The connector and protocol are MIT-licensed. The skills are Apache 2.0.