Merchant Context

Resolve sourced merchant facts and safe actions before an agent acts.

Should I use this

Quality & Safety

A
Description quality
94%
Schema completeness
82%
Naming quality
91%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'compare_offers' description lacks action verbin compare_offers

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,520Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (1.19% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "merchant-context": {
      "url": "https://api.merchant.atomandbits.com/mcp"
    }
  }
}

Remote endpoints

https://api.merchant.atomandbits.com/mcpstreamable-http

What it can do

Tool inventory

Tools (9)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_service_info

Describe the Merchant Context service, price, and inspection checks.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_merchant(merchant_url)

Run a free merchant-site diagnostic. Agents should use resolve_merchant before relying on merchant facts or actions.

Input Schema

{
  "type": "object",
  "properties": {
    "merchant_url": {
      "type": "string",
      "format": "uri",
      "description": "Public HTTPS merchant URL to check"
    }
  },
  "required": [
    "merchant_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢resolve_merchant(merchant_url, client_id)

Resolve cached merchant identity, sourced facts, offers, terms, freshness, and safe actions for free. Call this before relying on merchant facts or starting an action.

Input Schema

{
  "type": "object",
  "properties": {
    "merchant_url": {
      "type": "string",
      "format": "uri",
      "description": "Public HTTPS merchant URL"
    },
    "client_id": {
      "description": "Stable, non-secret identifier for the calling client",
      "type": "string",
      "minLength": 3,
      "maxLength": 128
    }
  },
  "required": [
    "merchant_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_merchants(item_or_service, geography, maximum_price_amount, maximum_price_currency, timing, ...)

Search cached merchant records by sourced offer, place, price, timing, policy, action support, and freshness. Payment and adoption never change order.

Input Schema

{
  "type": "object",
  "properties": {
    "item_or_service": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "geography": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "maximum_price_amount": {
      "type": "number",
      "minimum": 0
    },
    "maximum_price_currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$"
    },
    "timing": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "policy": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "action_type": {
      "type": "string",
      "enum": [
        "learn_more",
        "contact",
        "request_quote",
        "book",
        "checkout"
      ]
    },
    "freshness": {
      "type": "string",
      "enum": [
        "fresh",
        "stale",
        "unknown",
        "any"
      ]
    },
    "max_stale_seconds": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "client_id": {
      "description": "Stable, non-secret identifier for the calling client",
      "type": "string",
      "minLength": 3,
      "maxLength": 128
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢compare_offers(merchant_urls, client_id)

Compare only sourced offer fields from two or more merchants. Unknown values stay unknown and payment never changes order.

Input Schema

{
  "type": "object",
  "properties": {
    "merchant_urls": {
      "minItems": 2,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      }
    },
    "client_id": {
      "type": "string",
      "minLength": 3,
      "maxLength": 128
    }
  },
  "required": [
    "merchant_urls"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_safe_actions(merchant_url, client_id, action_type, allowed_authority, human_confirmation_available)

Return current merchant-owned action URLs, exact inputs, authority, confirmation, expiry, retry rules, recovery, and attribution.

Input Schema

{
  "type": "object",
  "properties": {
    "merchant_url": {
      "type": "string",
      "format": "uri"
    },
    "client_id": {
      "type": "string",
      "minLength": 3,
      "maxLength": 128
    },
    "action_type": {
      "type": "string",
      "enum": [
        "learn_more",
        "contact",
        "request_quote",
        "book",
        "checkout"
      ]
    },
    "allowed_authority": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "navigate",
          "prepare",
          "submit"
        ]
      }
    },
    "human_confirmation_available": {
      "type": "boolean"
    }
  },
  "required": [
    "merchant_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢preflight(merchant_url, client_id, item_or_service, action_type, geography, ...)

Resolve one merchant, evaluate sourced intent constraints, select a safe action, state approval, and return attribution.

Input Schema

{
  "type": "object",
  "properties": {
    "merchant_url": {
      "type": "string",
      "format": "uri"
    },
    "client_id": {
      "type": "string",
      "minLength": 3,
      "maxLength": 128
    },
    "item_or_service": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "action_type": {
      "type": "string",
      "enum": [
        "learn_more",
        "contact",
        "request_quote",
        "book",
        "checkout"
      ]
    },
    "geography": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "maximum_price_amount": {
      "type": "number",
      "minimum": 0
    },
    "maximum_price_currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$"
    },
    "timing": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "max_stale_seconds": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "allowed_authority": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "navigate",
          "prepare",
          "submit"
        ]
      }
    },
    "human_confirmation_available": {
      "type": "boolean"
    }
  },
  "required": [
    "merchant_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢refresh_merchant(merchant_url, agent_id, approved)

Pay for a fresh merchant inspection and cache refresh. Show the price and get explicit human approval first.

Input Schema

{
  "type": "object",
  "properties": {
    "merchant_url": {
      "type": "string",
      "format": "uri",
      "description": "Public HTTPS merchant URL"
    },
    "agent_id": {
      "type": "string",
      "minLength": 3,
      "maxLength": 128,
      "description": "Stable, non-secret identifier for the calling agent"
    },
    "approved": {
      "type": "boolean",
      "const": true,
      "description": "Explicit human approval for this priced refresh"
    }
  },
  "required": [
    "merchant_url",
    "agent_id",
    "approved"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢inspect_merchant(merchant_url, agent_id, approved)

Compatibility alias for refresh_merchant. Show the price and get explicit human approval first.

Input Schema

{
  "type": "object",
  "properties": {
    "merchant_url": {
      "type": "string",
      "format": "uri",
      "description": "Public HTTPS merchant URL"
    },
    "agent_id": {
      "type": "string",
      "minLength": 3,
      "maxLength": 128,
      "description": "Stable, non-secret identifier for the calling agent"
    },
    "approved": {
      "type": "boolean",
      "const": true,
      "description": "Explicit human approval for this priced refresh"
    }
  },
  "required": [
    "merchant_url",
    "agent_id",
    "approved"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded9 tools
verifiedversion not recorded9 tools
verifiedversion not recorded9 tools
verifiedversion not recorded9 tools
verifiedversion not recorded9 tools
verifiedversion not recorded9 tools