Skip to main content

MCP server for the negotiate.v1 protocol — gives AI agents native tools to negotiate at any negotiate.v1-compliant storefront.

Project description

negotiate-mcp

PyPI

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
discover_store(domain) Probe a domain to check if it's negotiable. Returns the protocol descriptor.
list_products(domain) Enumerate negotiable products at the store.
start_negotiation(domain, product_id) Open a chat session with the merchant agent.
send_message(next_url, message) Send one shopper turn.
read_history(history_url) 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

Install — easiest path: hosted endpoint

If you're using Claude Desktop with the Custom Connectors UI (or any other MCP client that accepts a remote URL), you don't need to install anything locally. The maintainers run a hosted instance at:

https://mcp.pier39.ai/mcp

Setup in Claude Desktop:

  1. Settings → Connectors → Add custom connector
  2. Name: Negotiate Agent
  3. Remote MCP server URL: https://mcp.pier39.ai/mcp
  4. Click Add → restart Claude Desktop

That's the entire install. No uv, no pip, no terminal commands. The 5 tools register automatically and you can start negotiating in any chat.

Install — local stdio (for offline use, custom config, or older Claude versions)

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-mcp

Wire it into Claude Desktop

  1. Open your Claude Desktop config:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add this entry under mcpServers (creating the file if it doesn't exist):

    {
      "mcpServers": {
        "negotiate-agent": {
          "command": "uvx",
          "args": ["negotiate-mcp"]
        }
      }
    }
    

    See claude_desktop_config.example.json.

  3. 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_mcp

Most 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 stdio

To publish a new version, see PUBLISH.md.

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

negotiate_mcp-0.1.4.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

negotiate_mcp-0.1.4-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file negotiate_mcp-0.1.4.tar.gz.

File metadata

  • Download URL: negotiate_mcp-0.1.4.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for negotiate_mcp-0.1.4.tar.gz
Algorithm Hash digest
SHA256 019aea1373f8e848195d1a08ec5ded9a9b6e3d5cf2b90eddae5cde226899e85a
MD5 61b16234745dfb67f1a2ef3636f06db5
BLAKE2b-256 38ab83e418a39317c5ab97e653738ec9f70059806f47e0bd51cec08c4bd0b48d

See more details on using hashes here.

File details

Details for the file negotiate_mcp-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: negotiate_mcp-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for negotiate_mcp-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5542fa4f69bd0406a3493066f5e8d6cb179569dbc13c79a60225240cc57fa0e2
MD5 2a9b6830d68fa05a2c58dc82961dace3
BLAKE2b-256 9d5a9477a80bc9d8deefddc12456cb0f520e65a1223883de2cef632a3cbee424

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page