{
  "markdown": "# @replenishradar/mcp-server\n\n[![smithery badge](https://smithery.ai/badge/pro/replenishradar)](https://smithery.ai/servers/pro/replenishradar)\n\nConnect AI agents to live [ReplenishRadar](https://replenishradar.com) inventory data. Works with Claude Desktop, OpenClaw, and any MCP-compatible client.\n\n## Setup\n\n1. Get your API key from **ReplenishRadar > Settings > API Keys**.\n2. Add this server to your MCP client config. In Claude Desktop, open **Settings > Developer > Edit Config**:\n\n```json\n{\n  \"mcpServers\": {\n    \"replenishradar\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@replenishradar/mcp-server\"],\n      \"env\": {\n        \"REPLENISHRADAR_API_KEY\": \"rr_sk_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n3. Restart Claude Desktop and ask: \"What are my top stockout risks?\"\n\nNo ReplenishRadar account yet? Use the public agent intake endpoint to request a short-lived, read-only sandbox key before configuring the server:\n\n```text\nPOST https://api.replenishradar.com/api/public/agent-intake\n```\n\n## Available Tools\n\n### Read\n\nStandard includes limited read API access. Growth adds diagnosis/status read tools.\n\n| Tool | Description |\n|------|-------------|\n| `rr_get_stockout_risk` | Stockout risk levels for SKUs |\n| `rr_get_inventory_position` | Stock-by-location for an item |\n| `rr_get_demand_forecast` | Demand forecast stats |\n| `rr_get_suggested_purchase_orders` | Suggested POs |\n| `rr_get_replenishment_actions` | Canonical buyer replenishment actions |\n| `rr_get_replenishment_action` | One replenishment action with event history |\n| `rr_get_alerts` | Active alerts |\n| `rr_list_items` | List inventory items |\n| `rr_get_sync_status` | Recent sync history |\n| `rr_list_suppliers` | List vendors/suppliers |\n| `rr_list_purchase_orders` | List purchase orders |\n| `rr_get_purchase_order` | Single PO with line items |\n| `rr_get_po_pdf` | PO PDF info |\n| `rr_get_po_documents` | Documents attached to a PO |\n| `rr_get_po_notes` | Notes attached to a PO |\n| `rr_get_sales_history` | Sales history |\n| `rr_get_top_sellers` | Top-selling SKUs |\n| `rr_get_slow_movers` | Slow-moving SKUs |\n| `rr_get_inventory_value` | Inventory value breakdown |\n| `rr_get_sku_health` | SKU-level health summary |\n| `rr_get_lost_sales` | Estimated lost sales from stockouts |\n| `rr_get_store_health` | Store connection and sync health |\n| `rr_get_data_freshness` | Freshness status by data dimension |\n| `rr_get_setup_status` | Setup milestones and next step |\n| `rr_get_recent_activity` | Recent alerts, POs, and sync rollup |\n| `search_knowledge` | ReplenishRadar product knowledge search |\n| `rr_evaluate_fit` | Deterministic ICP + tier fit verdict (no org data) |\n\n### Basic write (Standard tier and up)\n\nSafe, low-blast-radius writes - no money or stock mutation.\n\n| Tool | Description |\n|------|-------------|\n| `rr_acknowledge_alert` | Acknowledge an alert |\n| `rr_add_po_note` | Add a note to a PO |\n| `rr_request_approval` | Request human approval for a PO |\n| `rr_add_replenishment_action_note` | Add a note to a replenishment action |\n| `rr_dismiss_replenishment_action` | Dismiss a replenishment action |\n| `rr_prepare_replenishment_action` | Preview an action and get its current `updated_at` before execute |\n| `rr_execute_replenishment_action` | Execute 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 |\n| `rr_resolve_replenishment_action` | Resolve an action as no-action with a reason; idempotent, stale-state protected |\n| `rr_retry_replenishment_action` | Retry a blocked or failed action via the draft execution path; idempotent, stale-state protected |\n| `rr_get_document_upload_url` | Get upload URL for a PO document |\n| `rr_record_pi_review` | Record proforma invoice details |\n\n### Sensitive write (Growth tier and up)\n\nMoney / stock mutation.\n\n| Tool | Description |\n|------|-------------|\n| `rr_trigger_sync` | Trigger inventory sync |\n| `rr_create_purchase_order` | Create a draft PO |\n| `rr_update_purchase_order` | Update a draft PO |\n| `rr_send_purchase_order` | Send an approved PO |\n| `rr_cancel_purchase_order` | Cancel a PO |\n| `rr_create_location` | Create a manual inventory location |\n| `rr_set_stock_at_location` | Set stock at a manual location |\n\nPO creation always starts as a **draft**. `rr_send_purchase_order` only sends a PO that was already human-approved.\n\nAction 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.\n\n### Agent context store\n\nA 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.\n\n| Tool | Description |\n|------|-------------|\n| `rr_get_agent_context` | Get one entry by `namespace` + `key`; expired entries are omitted |\n| `rr_set_agent_context` | Store a bounded JSON object under `namespace` + `key` (optional `scope_ref`, `ttl_seconds`) |\n| `rr_list_agent_context` | List live entries for ONE `namespace` (required), bounded `limit` (max 200) |\n| `rr_delete_agent_context` | Delete one entry by `namespace` + `key`; records actor provenance |\n\nRules and limits:\n\n- **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.\n- **No secrets, no raw PII.** Writes that look like tokens, passwords, private keys, credentials, or raw emails/phones/addresses are rejected.\n- `value` must be a **JSON object** (not a scalar or array), capped at **16 KiB** serialized.\n- `ttl_seconds` is optional and capped at **90 days**; with no TTL the entry persists while the organization exists.\n- `rr_list_agent_context` **requires** `namespace` and never lists across namespaces.\n- `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`).\n- Sensitive namespaces (for example `sourcing_economics`) additionally require the key to hold the sensitive economics read capability + tool group.\n\n## Spend budgets (admin-managed, no MCP tool)\n\nPer-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.\n\n## Rate Limits\n\n- **Standard** ($99/mo): 10 calls/hour, read + basic-write tools\n- **Growth** ($199/mo): 100 calls/hour, read + basic + sensitive read/write + diagnosis/status tools\n- **Scale** ($499/mo): 1,000 calls/hour, full read + write capability set\n\n## Learn More\n\n- [MCP Setup Guide](https://replenishradar.com/blog/connect-ai-agent-amazon-shopify-inventory)\n- [ReplenishRadar](https://replenishradar.com)\n",
  "bytes": 8364,
  "sha": "496f8afd296902b05c8de85d4e8dac5e6f23638b13d8b26a90e31ee345eb1e4c",
  "repo_slug": "replenishradar/mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_replenishradar_mcp_4288127f/readme"
}