negotiate-mcp
The negotiate-mcp server enables AI agents and MCP-aware clients (e.g., Claude Desktop) to discover stores and conduct product price negotiations with any negotiate.v1-compliant online store.
find_stores(query, category): Search a directory of negotiate.v1-compliant stores by free-text query or category (e.g., "appliances", "fashion"). Returns a ranked list of matching stores with domains, taglines, categories, and sample products.discover_store(domain): Probe a specific domain to verify it supports the negotiate.v1 protocol and retrieve its full protocol descriptor (store info, endpoints, products, and limits).list_products(domain, query, limit, offset): Enumerate negotiable products at a store with optional filtering and pagination. Returns product IDs, names, prices, and negotiation entry points.start_negotiation(domain, product_id): Open a new negotiation session for a specific product, receiving the merchant's opening greeting and the URL for the next conversation turn.send_message(next_url, message): Send a shopper message during an active negotiation. Returns the merchant's reply, a closed flag (indicating if the deal is done), and the URL for the next turn.read_history(history_url): Retrieve the full conversation history of a negotiation session for review or resumption.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@negotiate-mcpFind stores with organic snacks and negotiate for a protein bar."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
negotiate-mcp
Model Context Protocol (MCP) server for the negotiate.v1 protocol. Once installed in Claude Desktop, Cowork, Claude Code, or any other MCP-aware client, your Claude gains five native tools for negotiating with any negotiate.v1-compliant store.
What you get
Tool | Purpose |
| Probe a domain to check if it's negotiable. Returns the protocol descriptor. |
| Enumerate negotiable products at the store. |
| Open a chat session with the merchant agent. |
| Send one shopper turn. |
| Read the running history of a session. |
The agent uses these like a human would use a browser: discover the store, pick a product, start a chat, send turns until the deal closes.
mcp-name: io.github.sanjana-pier39/negotiate-mcp
Related MCP server: TelemetryFlow Python MCP Server
Install
The recommended path uses uv — no virtualenv plumbing, picks the right Python automatically.
# install uv if you don't have it (macOS):
brew install uv
# then point Claude Desktop / Cowork / Claude Code at it (see below).
# uvx will install the package the first time it's invoked.If you'd rather use plain pip:
pip install negotiate-mcpWire it into Claude Desktop
Open your Claude Desktop config:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add this entry under
mcpServers(creating the file if it doesn't exist):{ "mcpServers": { "negotiate-agent": { "command": "uvx", "args": ["negotiate-mcp"] } } }Quit and re-open Claude Desktop. The five tools should appear in any new conversation.
If you installed with plain pip instead of uv, replace the command/args block with:
"command": "negotiate-mcp",
"args": []Wire it into Cowork or Claude Code
Same negotiate-mcp command. Add it to the corresponding MCP config in those clients (consult their docs for exact paths). The tool surface is identical.
Try it
Once installed, in a fresh chat:
Negotiate for a Dyson HP07 at negotiate.pier39.ai. Try to get it under $500. Bonus points for the engraved gift box.
Claude will call discover_store("negotiate.pier39.ai"), find the HP07 in the product list, call start_negotiation, then drive the conversation through send_message until closed: true. No prompt acrobatics needed.
Test standalone (no Claude required)
# Run the server on stdio:
uvx negotiate-mcp
# Or, if you've used pip:
python -m negotiate_mcpMost useful when paired with the mcp CLI to inspect tool definitions and exercise them by hand.
Adding more stores
The connector works against any negotiate.v1-compliant store, not just the Atlas reference (negotiate.pier39.ai). As stores adopt the protocol, just point your shopper agent at their domain — the same five tools work everywhere.
See PROTOCOL.md for the full spec.
Develop locally
git clone https://github.com/sanjana-pier39/negotiate-mcp
cd negotiate-mcp
pip install -e .
python -m negotiate_mcp # runs on stdioTo publish a new version, see PUBLISH.md.
License
MIT.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sanjana-pier39/negotiate-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server