Back to MCP Servers

ReplenishRadar MCP

Multi-channel inventory intelligence for Shopify and Amazon sellers. 28 tools for stockout risk, demand forecasts, purchase order lifecycle, and sales analytics. Human-in-the-loop: all write operations create drafts only.

other-tools-and-integrations
By ReplenishRadar
21Updated 4 weeks agoJavaScriptMIT

Installation

npx -y MCP

Configuration

{
  "mcpServers": {
    "MCP": {
      "command": "npx",
      "args": ["-y", "MCP"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes

@replenishradar/mcp-server

Connect AI agents to live ReplenishRadar inventory data. Works with Claude Desktop, OpenClaw, and any MCP-compatible client.

Setup

  1. Get your API key from ReplenishRadar > Settings > API Keys.
  2. Add this server to your MCP client config. In Claude Desktop, open Settings > Developer > Edit Config:
{
  "mcpServers": {
    "replenishradar": {
      "command": "npx",
      "args": ["-y", "@replenishradar/mcp-server"],
      "env": {
        "REPLENISHRADAR_API_KEY": "rr_sk_your_key_here"
      }
    }
  }
}
  1. Restart Claude Desktop and ask: "What are my top stockout risks?"

No ReplenishRadar account yet? Use the public agent intake endpoint to request a short-lived, read-only sandbox key before configuring the server:

POST https://api.replenishradar.com/api/public/agent-intake

Available Tools

Read

Standard includes limited read API access. Growth adds diagnosis/status read tools.

ToolDescription
rr_get_stockout_riskStockout risk levels for SKUs
rr_get_inventory_positionStock-by-location for an item
rr_get_demand_forecastDemand forecast stats
rr_get_suggested_purchase_ordersSuggested POs
rr_get_replenishment_actionsCanonical buyer replenishment actions
rr_get_replenishment_actionOne replenishment action with event history
rr_get_alertsActive alerts
rr_list_itemsList inventory items
rr_get_sync_statusRecent sync history
rr_list_suppliersList vendors/suppliers
rr_list_purchase_ordersList purchase orders
rr_get_purchase_orderSingle PO with line items
rr_get_po_pdfPO PDF info
rr_get_po_documentsDocuments attached to a PO
rr_get_po_notesNotes attached to a PO
rr_get_sales_historySales history
rr_get_top_sellersTop-selling SKUs
rr_get_slow_moversSlow-moving SKUs
rr_get_inventory_valueInventory value breakdown
rr_get_sku_healthSKU-level health summary
rr_get_lost_salesEstimated lost sales from stockouts
rr_get_store_healthStore connection and sync health
rr_get_data_freshnessFreshness status by data dimension
rr_get_setup_statusSetup milestones and next step
rr_get_recent_activityRecent alerts, POs, and sync rollup
search_knowledgeReplenishRadar product knowledge search
rr_evaluate_fitDeterministic ICP + tier fit verdict (no org data)

Basic write (Standard tier and up)

Safe, low-blast-radius writes - no money or stock mutation.

ToolDescription
rr_acknowledge_alertAcknowledge an alert
rr_add_po_noteAdd a note to a PO
rr_request_approvalRequest human approval for a PO
rr_add_replenishment_action_noteAdd a note to a replenishment action
rr_dismiss_replenishment_actionDismiss a replenishment action
rr_prepare_replenishment_actionPreview an action and get its current updated_at before execute
rr_execute_replenishment_actionExecute an action. mode="draft" (default) creates a draft PO and/or transfer; mode="autonomous" also sends the PO / commits the transfer when the key has sensitive_write + the operation tool group + an enabled budget and all guardrails pass (else draft-fallback or hard-refuse). Idempotent, stale-state protected
rr_resolve_replenishment_actionResolve an action as no-action with a reason; idempotent, stale-state protected
rr_retry_replenishment_actionRetry a blocked or failed action via the draft execution path; idempotent, stale-state protected
rr_get_document_upload_urlGet upload URL for a PO document
rr_record_pi_reviewRecord proforma invoice details

Sensitive write (Growth tier and up)

Money / stock mutation.

ToolDescription
rr_trigger_syncTrigger inventory sync
rr_create_purchase_orderCreate a draft PO
rr_update_purchase_orderUpdate a draft PO
rr_send_purchase_orderSend an approved PO
rr_cancel_purchase_orderCancel a PO
rr_create_locationCreate a manual inventory location
rr_set_stock_at_locationSet stock at a manual location

PO creation always starts as a draft. rr_send_purchase_order only sends a PO that was already human-approved.

Action execution has two modes. rr_execute_replenishment_action with mode="draft" (the default) creates a draft PO and/or draft transfer for an action's items and never auto-sends to a supplier or commits stock. With mode="autonomous" it additionally sends the PO or commits the transfer, but only when the key has sensitive_write + the operation's tool group + an enabled per-key budget (autonomous_enabled=true) and every guardrail passes; otherwise it leaves a draft and returns an rr_request_approval hint (draft_fallback) or refuses without mutating (hard_refuse). Call rr_prepare_replenishment_action first to get the action's current updated_at, then pass it as expected_updated_at so a stale action is rejected before any write. Pass a stable idempotency_key so a retried call replays the original result instead of double-creating artifacts or double-sending.

Agent context store

A small, org-scoped, auditable key/value memory so an agent can remember bounded workflow state. rr_get_agent_context / rr_list_agent_context are read-capability; rr_set_agent_context / rr_delete_agent_context are basic-write. All four are in the agent_context tool group.

ToolDescription
rr_get_agent_contextGet one entry by namespace + key; expired entries are omitted
rr_set_agent_contextStore a bounded JSON object under namespace + key (optional scope_ref, ttl_seconds)
rr_list_agent_contextList live entries for ONE namespace (required), bounded limit (max 200)
rr_delete_agent_contextDelete one entry by namespace + key; records actor provenance

Rules and limits:

  • Namespaces are code-owned and per-key allowlisted. A human admin must grant your API key read/write/delete on each namespace in Settings > API Keys. Same-organization access alone is not sufficient.
  • No secrets, no raw PII. Writes that look like tokens, passwords, private keys, credentials, or raw emails/phones/addresses are rejected.
  • value must be a JSON object (not a scalar or array), capped at 16 KiB serialized.
  • ttl_seconds is optional and capped at 90 days; with no TTL the entry persists while the organization exists.
  • rr_list_agent_context requires namespace and never lists across namespaces.
  • scope_ref is descriptive metadata only and is not part of uniqueness - encode per-scope entries into the key (for example supplier_rules/sku:ABC123).
  • Sensitive namespaces (for example sourcing_economics) additionally require the key to hold the sensitive economics read capability + tool group.

Spend budgets (admin-managed, no MCP tool)

Per-API-key spend budgets - per-PO value cap, rolling-24h daily cap, max transfer quantity delta, an autonomous_enabled flag, and vendor / destination / transfer-source (or route-pair) allowlists - constrain what an autonomous key may buy or move. They are managed only by a human admin in Settings > API Keys (a JWT-admin Settings API); there is no MCP tool to read or change a budget, and an API key cannot reach the budget routes, not even for its own caps. Budgets are consumed only by autonomous send/commit, autonomous mode is off by default, and a denied autonomous action receives only a short decision reason - never the cap amounts, the allowlists, or another key's ledger.

Rate Limits

  • Standard ($99/mo): 10 calls/hour, read + basic-write tools
  • Growth ($199/mo): 100 calls/hour, read + basic + sensitive read/write + diagnosis/status tools
  • Scale ($499/mo): 1,000 calls/hour, full read + write capability set

Learn More

View source on GitHub