npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@replenishradar/mcp-server

v1.0.8

Published

ReplenishRadar MCP server - connects Claude Desktop and other MCP clients to the ReplenishRadar REST API

Readme

@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.

| Tool | Description | |------|-------------| | rr_get_stockout_risk | Stockout risk levels for SKUs | | rr_get_inventory_position | Stock-by-location for an item | | rr_get_demand_forecast | Demand forecast stats | | rr_get_suggested_purchase_orders | Suggested POs | | rr_get_replenishment_actions | Canonical buyer replenishment actions | | rr_get_replenishment_action | One replenishment action with event history | | rr_get_alerts | Active alerts | | rr_list_items | List inventory items | | rr_get_sync_status | Recent sync history | | rr_list_suppliers | List vendors/suppliers | | rr_list_purchase_orders | List purchase orders | | rr_get_purchase_order | Single PO with line items | | rr_get_po_pdf | PO PDF info | | rr_get_po_documents | Documents attached to a PO | | rr_get_po_notes | Notes attached to a PO | | rr_get_sales_history | Sales history | | rr_get_top_sellers | Top-selling SKUs | | rr_get_slow_movers | Slow-moving SKUs | | rr_get_inventory_value | Inventory value breakdown | | rr_get_sku_health | SKU-level health summary | | rr_get_lost_sales | Estimated lost sales from stockouts | | rr_get_store_health | Store connection and sync health | | rr_get_data_freshness | Freshness status by data dimension | | rr_get_setup_status | Setup milestones and next step | | rr_get_recent_activity | Recent alerts, POs, and sync rollup | | search_knowledge | ReplenishRadar product knowledge search | | rr_evaluate_fit | Deterministic ICP + tier fit verdict (no org data) |

Basic write (Standard tier and up)

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

| Tool | Description | |------|-------------| | rr_acknowledge_alert | Acknowledge an alert | | rr_add_po_note | Add a note to a PO | | rr_request_approval | Request human approval for a PO | | rr_add_replenishment_action_note | Add a note to a replenishment action | | rr_dismiss_replenishment_action | Dismiss a replenishment action | | rr_prepare_replenishment_action | Preview an action and get its current updated_at before execute | | 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 | | rr_resolve_replenishment_action | Resolve an action as no-action with a reason; idempotent, stale-state protected | | rr_retry_replenishment_action | Retry a blocked or failed action via the draft execution path; idempotent, stale-state protected | | rr_get_document_upload_url | Get upload URL for a PO document | | rr_record_pi_review | Record proforma invoice details |

Sensitive write (Growth tier and up)

Money / stock mutation.

| Tool | Description | |------|-------------| | rr_trigger_sync | Trigger inventory sync | | rr_create_purchase_order | Create a draft PO | | rr_update_purchase_order | Update a draft PO | | rr_send_purchase_order | Send an approved PO | | rr_cancel_purchase_order | Cancel a PO | | rr_create_location | Create a manual inventory location | | rr_set_stock_at_location | Set 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.

| Tool | Description | |------|-------------| | rr_get_agent_context | Get one entry by namespace + key; expired entries are omitted | | rr_set_agent_context | Store a bounded JSON object under namespace + key (optional scope_ref, ttl_seconds) | | rr_list_agent_context | List live entries for ONE namespace (required), bounded limit (max 200) | | rr_delete_agent_context | Delete 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