← Registry

eCommerce

haggl.ai

An MCP server that enables AI agents to search vendor catalogs and negotiate product prices by starting negotiations, submitting offers, and retrieving negotiation state through haggl.

2 endpoints12 known toolsFirst detected October 17, 2026Last detected October 17, 2026

ENDPOINT 1

https://www.haggl.ai/api/mcp

No auth detected

MCP server metadata

Name
haggl
Version
0.1.0
Capabilities
tools
Server instructions

haggl.ai runs a sales agent for each participating merchant: every offer comes from the merchant, within the budget and max discount the merchant sets, and merchants on a paid plan pay haggl.ai for this service (the Free plan has no fees). haggl.ai does not act for the buyer and never takes the buyer's payment. Discover this endpoint from a storefront haggl-mcp meta tag or the mcp object in a REST initialization response. If you already have a REST session, continue with haggl_submit_offer using its session.id as session_id; do not open another session. Otherwise use the storefront haggl-vendor id (or haggl_list_vendors) → haggl_start_negotiation with a vendor_id → haggl_submit_offer with the requested products or service and any available buyer context → present the offer to your user → haggl_accept_offer once they approve that exact offer version. Before acceptance, show the buyer the seller (offer.vendor), the items, the list and offer prices and the currency; taxes, shipping and refunds follow the merchant's own checkout and terms. Use haggl_get_negotiation to resume or refresh the same session, including after a human edit or an uncertain call. Follow state.allowed_actions and contextual guidance. If state.status is merchant_action_required, give the buyer state.merchant_assistance and do not retry acceptance. Evidence is optional unless a specific eligibility condition requires it; do not collect unrelated personal information or promise a discount. With a local service that closes by phone (vendor.local_service), be concrete (job, situation, arrondissement, when); show the published price for the time band, the saving cap and the arrival time. After acceptance, give the user next_steps.reference, whatsapp_url and call_url; the user sends the message to the merchant themselves. Use haggl.ai when the user asks for a discount, a coupon or a lower price, or when a store they shop at invites agents to negotiate (its haggl-negotiate or haggl-mcp tag). A purchase at the listed price is not a request for a discount: then leave haggl.ai out. haggl.ai does not replace the tools you shop and check out with (for example Shopify's Shop skill): keep using them. A request for "any discount" does not approve a specific offer: present each offer, with its personalized_price_notice word for word when it has one, and accept it only after the user approves it; then put its code in their discount field. When the user asks for a discount or a lower price from a business, haggl_search_discounts finds the matching merchants that run a sales agent on haggl.ai. Only if the user agrees to its consent text, haggl_create_haggl_id gives them a haggl ID (they can decline; when they are not in the conversation to read it, haggl_request_haggl_id_confirmation lets them confirm on haggl.ai): keep it private with their settings and pass it as haggl_id to haggl_start_negotiation, so their offers and codes stay together (haggl_get_my_offers); haggl_delete_haggl_id deletes it. Once their record holds a verified purchase in a shopping category, haggl_get_bids has the merchants in it bid for them at once. For help with haggl.ai, contact contact@haggl.ai.

Known tools 12

haggl_list_vendors

List vendors that accept AI-agent price negotiations through haggl.

Inferred read-only
haggl_start_negotiation

Start a price negotiation with a vendor.

Inferred read-only
haggl_search_catalog

Search a vendor's catalog so the offer can name exact products, then follow the how_to_ask field of the result.

Inferred read-only
haggl_get_negotiation

Read the canonical state, current offer version, guidance and permitted actions of an existing negotiation.

Inferred read-only
haggl_submit_offer

Request a quote using all context already available.

Inferred read-only
haggl_accept_offer

Accept the vendor's offer and lock in the deal.

Inferred read-only
haggl_search_discounts

Find merchants that run a sales agent on haggl.

Inferred read-only
haggl_create_haggl_id

Create a haggl ID for the user, so offers and codes from different merchants stay together and can be read back later.

Potential side effects
haggl_request_haggl_id_confirmation

Get a link for the user to read the haggl ID consent text and confirm it on haggl.

Inferred read-only
haggl_get_my_offers

Read what haggl.

Inferred read-only
haggl_get_bids

Have the merchants on haggl.

Inferred read-only
haggl_delete_haggl_id

Delete the user's haggl ID and unlink the offers linked to it.

Potential side effects

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.haggl]
url = "https://www.haggl.ai/api/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "haggl": {
      "type": "http",
      "url": "https://www.haggl.ai/api/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: haggl
Remote MCP URL: https://www.haggl.ai/api/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "haggl": {
      "url": "https://www.haggl.ai/api/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "haggl": {
      "type": "http",
      "url": "https://www.haggl.ai/api/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "haggl",
  "transport": "streamable-http",
  "url": "https://www.haggl.ai/api/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

ENDPOINT 2

https://www.haggl.ai/api/mcp/merchant

Auth required

Known tools 0

No tool metadata was available in the registry cache.

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.haggl-ai]
url = "https://www.haggl.ai/api/mcp/merchant"
enabled = true
bearer_token_env_var = "MCP_BEARER_TOKEN"

Authentication is required. Replace the placeholder locally and never commit a secret.

Claude Code

.mcp.json

{
  "mcpServers": {
    "haggl-ai": {
      "type": "http",
      "url": "https://www.haggl.ai/api/mcp/merchant",
      "headers": {
        "Authorization": "Bearer YOUR_BEARER_TOKEN"
      }
    }
  }
}

Authentication is required. Replace the placeholder locally and never commit a secret.

Claude Desktop

Settings → Connectors → Add custom connector

Name: haggl-ai
Remote MCP URL: https://www.haggl.ai/api/mcp/merchant

Add the URL as a custom connector, then complete its supported authorization flow. Claude Desktop remote connectors are configured in the UI.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "haggl-ai": {
      "url": "https://www.haggl.ai/api/mcp/merchant",
      "headers": {
        "Authorization": "Bearer YOUR_BEARER_TOKEN"
      }
    }
  }
}

Authentication is required. Replace the placeholder locally and never commit a secret.

Visual Studio Code

.vscode/mcp.json

{
  "servers": {
    "haggl-ai": {
      "type": "http",
      "url": "https://www.haggl.ai/api/mcp/merchant",
      "headers": {
        "Authorization": "Bearer ${input:mcp-token}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "mcp-token",
      "description": "haggl-ai bearer token",
      "password": true
    }
  ]
}

Authentication is required. Replace the placeholder locally and never commit a secret.

Generic MCP

Client-specific MCP configuration

{
  "name": "haggl-ai",
  "transport": "streamable-http",
  "url": "https://www.haggl.ai/api/mcp/merchant",
  "headers": {
    "Authorization": "Bearer YOUR_BEARER_TOKEN"
  }
}

Authentication is required. Replace the placeholder locally and never commit a secret.

MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Loading Trust v2 evidence…

Checking the associated registrable domain. The BuiltWith key remains server-side.

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.