{"name":"io.github.ReplenishRadar/MCP","slug":"replenishradar-mcp","title":"ReplenishRadar","description":"Shopify + Amazon inventory planning, forecasting & replenishment over MCP (50 tools).","url":"https://mcp.market/server/replenishradar-mcp","rating":null,"grade":"B","score":75,"certified":false,"status":"active","category":"ecommerce","tags":["ecommerce"],"presence":{"score":23,"stars":2,"forks":1,"downloads_week":42,"last_push_at":"2026-08-01T02:42:23.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/ReplenishRadar/MCP","website":null,"version":"1.1.0","remotes":[],"packages":[{"registryType":"npm","identifier":"@replenishradar/mcp-server","version":"1.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"ReplenishRadar API key with the rr_sk_ prefix.","isRequired":true,"format":"string","isSecret":true,"name":"REPLENISHRADAR_API_KEY"},{"description":"Optional API base URL. Defaults to https://api.replenishradar.com.","format":"string","default":"https://api.replenishradar.com","name":"REPLENISHRADAR_API_URL"}]}],"tools":[{"name":"rr_acknowledge_alert","description":"Acknowledge an active alert with an optional note.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_add_po_note","description":"Add a note/comment to a purchase order.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_add_replenishment_action_note","description":"Add a note to a replenishment action.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_cancel_purchase_order","description":"Cancel a purchase order. Cannot cancel POs with status cancelled, received, or closed.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rr_create_location","description":"Create a manual inventory location such as warehouse, 3PL, or inbound location.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rr_create_purchase_order","description":"Create a new purchase order (always created as draft). Include line items with SKUs and quantities.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rr_delete_agent_context","description":"Delete one agent context entry by namespace and key. Records actor provenance. The namespace must be granted to this key.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rr_dismiss_replenishment_action","description":"Dismiss a replenishment action with an optional reason.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_evaluate_fit","description":"Evaluate whether ReplenishRadar fits your use case (deterministic ICP + tier match) and capture demand signal. Mirrors the public agent-intake survey; reads no org data.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_execute_replenishment_action","description":"Execute a replenishment action in draft mode: creates a draft purchase order and/or draft transfer order for the action's items. Idempotent by idempotency_key; rejects with conflict if the action changed since prepare (stale expected_updated_at) or if the same key is reused with a different payload or actor. Never auto-sends to suppliers and never commits stock.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rr_get_agent_context","description":"Get one agent context entry by namespace and key. Expired entries are omitted. The namespace must be granted to this API key by a human admin.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_alerts","description":"Get inventory alerts (stockout warnings, sync failures, reorder points). Supports filtering by type, severity, status, and SKU.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_data_freshness","description":"Get data freshness by inventory dimension before quoting operational numbers.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_demand_forecast","description":"Get demand forecast statistics (mu/sigma) for a SKU or item. Returns active forecast windows.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_document_upload_url","description":"Create a document record for a purchase order (invoice, packing slip, etc.). Requires Scale tier.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rr_get_inventory_position","description":"Get stock-by-location breakdown for a single item. Returns on-hand quantities across all warehouses and stores.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_inventory_value","description":"Get total inventory value and per-SKU breakdown. Cost/value fields require sensitive_read capability.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_lost_sales","description":"Estimate lost sales from current stockouts based on demand velocity and days out of stock.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_po_documents","description":"List documents attached to a purchase order (invoices, packing slips, etc.).","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_po_notes","description":"Get notes/comments on a purchase order.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_po_pdf","description":"Get the PDF generation endpoint for a purchase order.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_purchase_order","description":"Get a single purchase order with full details including line items and vendor info.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rr_get_recent_activity","description":"Get recent alerts, purchase orders, and sync activity counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_replenishment_action","description":"Get one replenishment action with child item provenance, immutable snapshots, linked execution records, and event history.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_replenishment_actions","description":"List canonical buyer work across supplier PO, transfer, combined, and no-action replenishment outcomes. Prefer this over suggested purchase orders or alerts for deciding what action to take next.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_sales_history","description":"Get daily sales history (units sold, revenue) for a SKU or store over a date range.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_setup_status","description":"Get onboarding milestones, setup completion state, and next recommended step.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_sku_health","description":"Get a high-level SKU health snapshot: stockout risk counts by level and active alert counts by type.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_slow_movers","description":"Overstock / dead-stock / slow movers: SKUs you are holding (on-hand > 0) that aren't selling. Returns on_hand, units sold in the window, and a dead_stock flag. Inventory-first, so never-sold dead stock is surfaced too.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_stockout_risk","description":"Get items at risk of stocking out, sorted by days to stockout. Filter by risk level, SKU, or store.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_store_health","description":"Diagnose connected store health, sync status, and connection errors.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_suggested_purchase_orders","description":"Get system-generated purchase order suggestions based on demand forecasts and stockout risk.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rr_get_sync_status","description":"Get recent data sync runs and optionally monitor one durable manual-sync receipt, including its retry attempts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_get_top_sellers","description":"Get top-selling SKUs ranked by units sold over a date range.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_import_purchase_orders","description":"Import open and historical purchase orders from a CSV export (Stocky / Inventory Planner migration). One row per line item, grouped by po_number; both tools' column names are recognized. Records received quantities as a snapshot only - never moves stock. Idempotent on po_number. preview defaults to true (validate without writing); pass preview=false to commit.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rr_list_agent_context","description":"List live agent context entries for a single namespace. The namespace is required and the limit is bounded (max 200). This tool never lists across namespaces.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_list_items","description":"List catalog items with optional search, vendor filtering, pagination, and opt-in exact listing identity. Returns SKU, display name, lead time, supplier info, and optional Amazon ASIN/FNSKU evidence.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_list_purchase_orders","description":"List purchase orders with filtering by status, vendor, and search. Supports pagination.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rr_list_suppliers","description":"List all suppliers/vendors for the organization. Optionally include vendor SKU mappings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_prepare_replenishment_action","description":"Preview a replenishment action and return its current updated_at before executing. Use the returned updated_at as expected_updated_at on execute/resolve/retry.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_record_pi_review","description":"Record proforma invoice details on a purchase order (PI number, date, total, terms).","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_request_approval","description":"Request human approval for a purchase order. Returns a time-limited approval URL (15 min) to share with a team member.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_resolve_replenishment_action","description":"Resolve a replenishment action as no-action with a reason. Idempotent; requires idempotency_key and expected_updated_at and applies the same stale-state conflict contract as execute.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_retry_replenishment_action","description":"Retry a blocked or failed replenishment action by re-running the draft execution path. Idempotent; requires idempotency_key and expected_updated_at and applies the same stale-state conflict contract as execute.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_send_purchase_order","description":"Mark an approved purchase order as sent. Requires prior human approval via rr_request_approval.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rr_set_agent_context","description":"Store a bounded JSON object under a namespace and key. The value must be a JSON object (max 16 KiB), must not contain secrets or raw PII, and ttl_seconds is optional and capped at 90 days. The namespace must be granted to this key.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_set_stock_at_location","description":"Set stock quantity for a SKU at a manual location.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_trigger_sync","description":"Durably queue a Shopify or Amazon data sync. Returns a sync_event_id receipt for rr_get_sync_status and respects the connector-wide 5-minute cooldown.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rr_update_purchase_order","description":"Update a draft or in-review purchase order (notes, expected delivery date, vendor).","write_action":true,"price_micros":0,"input_schema":null},{"name":"search_knowledge","description":"Search ReplenishRadar product knowledge for grounded answers.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":75,"grade":"B","scanned_at":"2026-09-24T12:02:40.424Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T12:02:40.404Z","components":{"code":{"score":25,"max":25,"notes":["5 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 54 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@replenishradar/mcp-server","version":"1.1.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-08-01T02:48:07.966Z","repositoryUrl":"git+https://github.com/ReplenishRadar/MCP.git","weeklyDownloads":42}],"repo":{"found":true,"owner":"ReplenishRadar","repo":"MCP","archived":false,"pushedAt":"2026-08-01T02:42:23Z","stars":2,"forks":1,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/267792062?v=4","ownerCreatedAt":"2026-03-12T23:52:10Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":2,"forks":1,"downloadsWeek":42,"license":"MIT","lastPushAt":"2026-08-01T02:42:23.000Z","score":23}}}},"grade_history":[],"reviews":[]}