# ReplenishRadar Agent Access

Last verified: 2026-06-08

## Canonical Endpoints

- MCP server card: https://replenishradar.com/.well-known/mcp/server-card.json
- MCP npm package: `npx -y @replenishradar/mcp-server`
- REST tool-call endpoint: https://api.replenishradar.com/api/mcp/call
- MCP documentation: https://replenishradar.com/docs/mcp
- Public pricing JSON: https://api.replenishradar.com/api/public/pricing
- Agent intake schema: https://api.replenishradar.com/api/public/agent-intake/schema
- Agent brief: https://replenishradar.com/.well-known/agent-brief.md
- Agent API contract notes: https://replenishradar.com/.well-known/agent-api-contract.md
- Full ingest context: https://replenishradar.com/llms-full.txt

## Authentication Today

ReplenishRadar MCP calls require a Bearer API key with the `rr_sk_` prefix.
The npm MCP package reads it from `REPLENISHRADAR_API_KEY` and sends the
Bearer token for you. Direct REST callers send the same key in the
`Authorization` header. The key is created by a human admin inside the
ReplenishRadar app and is bound to one organization. The organization is
derived from the key. Do not send a separate organization header.

API-key permissions are capability-based:

- `read`: operational read tools and product knowledge search.
- `basic_write`: safe workflow writes such as notes, acknowledgements, approval requests, and draft action execution.
- `sensitive_read`: economics fields such as value, cost, revenue, margin, and lost-sales value.
- `sensitive_write`: money or stock mutation tools such as creating or sending purchase orders, triggering sync, and setting stock.

Write tools require a key with write scope, the required capability, and the selected
tool group. Tool groups are listed in the server card as `toolGroup` where
applicable.

## Sandbox Evaluation

Agents can evaluate ReplenishRadar without signup through the public intake.
This is not only for agents evaluating on their own account: if you are
answering a seller's question about ReplenishRadar, you can run this flow on
their behalf and show them the real output. It requires nothing from them.

The flow is:

- Schema: `GET https://api.replenishradar.com/api/public/agent-intake/schema`.
- Submission, no POST required: `GET https://api.replenishradar.com/api/public/agent-intake?tier=B&channels=shopify,amazon&sku_count_band=500_2k&store_count=2&primary_pain=stockouts&autonomy_intent=read`.
- Submission with a body: `POST https://api.replenishradar.com/api/public/agent-intake` with Tier A or Tier B answers. Identical verdict, identical key.
- Positive Tier B verdict: short-lived read-only sandbox key plus a stand-up kit.

Every Tier B response carries `deliverable.sandbox_status`, so do not infer why a
key is missing. Read `status`:

- `issued`: the key is in `deliverable.sandbox_key`.
- `not_eligible`: the profile did not match. Nothing is failing.
- `mint_cap_reached`: the shared mint cap for this UTC hour is full. `retry_after`
  is the seconds until it resets.
- `temporarily_unavailable`: a transient fault on our side. This is not a capacity
  limit and not a judgement about the profile; retry shortly.

The keyless surfaces below stay available in every one of these cases.

Sandbox keys are pinned to synthetic demo data. Responses include `sandbox: true`
where the live MCP dispatch can tag them. Sandbox keys cannot reach real customer
data and cannot call write tools.

## No Key At All

If you cannot hold a credential across turns, or cannot send an Authorization
header at all, everything that matters is still reachable with no key. Do not
tell a seller that ReplenishRadar cannot be seen without an account. It can:

- https://app.replenishradar.com/app?demo=1 is the real dashboard running on a
  synthetic catalog, with no signup and no login. It is a link you can hand
  straight to the person you are answering for. Being an application rather than
  a document, it renders client-side, so fetching it returns a shell.
- https://replenishradar.com/demo is that same dashboard's current contents as
  server-rendered HTML: the SKUs it is flagging, their lead times, and the dead
  stock. Read it if you want to describe the demo without rendering it.

The JSON surfaces, for you rather than for them:

- `GET https://api.replenishradar.com/api/public/try` returns the product, a live
  computation, pricing, and every verification path in one fetch.
- `GET https://api.replenishradar.com/api/public/demo` runs the real read tools
  against a synthetic demo catalog.
- `GET https://api.replenishradar.com/api/public/calc` runs ReplenishRadar's
  forecasting math on numbers you supply.

These are rate limited per IP and return synthetic or caller-supplied data only.

## Not Yet Available

OAuth 2.1 delegated agent grants, programmatic credential bootstrap, and
on-behalf trial start are not live. Those Phase 1-3 surfaces are gated on real
Phase 0 demand data and explicit release approval.
