Skip to main content
Glama

@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

Related MCP server: cob-shopify-mcp

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

Available Tools

16 tools
rr_create_locationB

Create a manual inventory location such as warehouse, 3PL, or inbound location.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity
nameYesLocation name
typeYesLocation type
stateNoState or province
countryNoCountry
is_defaultNoWhether this should be the default manual location
postal_codeNoPostal code
address_line1NoStreet address

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It only states 'Create a manual inventory location' but gives no details on permissions, side effects, idempotency, or rate limits. This is insufficient for a write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with core purpose ('Create a manual inventory location'), no unnecessary words, and appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple creation tool with well-documented schema parameters, but lacks information about return values (no output schema) and any behavioral constraints. Could be improved with a note on what the response contains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover 100% of parameters, so baseline is 3. The tool description adds no additional meaning beyond the schema's own field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb (create) and resource (manual inventory location), provides examples of location types (warehouse, 3PL, inbound), and is distinct from sibling tools, none of which create locations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites, exclusions, or context about when creation is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_delete_agent_contextA

Delete one agent context entry by namespace and key. Records actor provenance. The namespace must be granted to this key.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesEntry key within the namespace
namespaceYesAllowlisted context namespace

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool deletes data (destructive) and records actor provenance. However, it lacks details on error handling, idempotency, or behavior when the entry does not exist. Without annotations, more transparency about side effects and constraints is expected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at two sentences, with no extraneous information. It front-loads the purpose and adds key constraints efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and no output schema, the description covers purpose and a key constraint but omits return values, error conditions, or confirmation of success. It is adequate for a minimal viable description but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully describes both parameters with 100% coverage, so the baseline is 3. The description adds the constraint that the namespace must be granted to the key, which provides limited additional meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool deletes one agent context entry by namespace and key, distinguishing it from siblings like get, set, and list. It specifies the verb 'delete' and the resource 'agent context entry', fulfilling a specific verb+resource pattern.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a prerequisite ('namespace must be granted to this key') but does not offer guidance on when to use this tool versus alternatives (e.g., rr_set_agent_context or rr_list_agent_context). No explicit when-to-use or when-not-to-use instructions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_execute_replenishment_actionA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
action_idYesReplenishment action UUID
idempotency_keyYesCaller-chosen idempotency key; replay with the same key + payload returns the original result
expected_updated_atYesThe action updated_at from rr_prepare_replenishment_action; execute fails if it no longer matches

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses idempotency via idempotency_key, rejection on stale expected_updated_at, and that it never auto-sends or commits stock. With no annotations, this covers essential behavioral traits comprehensively.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with main action, then details. No waste, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers behavior well but lacks description of return values (e.g., what the created draft orders look like). Given no output schema, some guidance on the response would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaning beyond schema: explains why 'expected_updated_at' is needed (from prepare) and how idempotency_key ensures replay. Schema coverage is 100%, but description enriches understanding of causality and constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool executes a replenishment action to create draft purchase/transfer orders. The verb 'execute' and resource 'replenishment action' are specific. It distinguishes from siblings like 'rr_prepare_replenishment_action' by focusing on execution in draft mode.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Never auto-sends to suppliers and never commits stock', indicating this tool is for draft-only execution. It implies usage after 'rr_prepare_replenishment_action' via the 'expected_updated_at' parameter. Could be more explicit about when not to use (e.g., when final approval is needed).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_get_agent_contextA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesEntry key within the namespace (max 200 chars)
namespaceYesAllowlisted context namespace (for example supplier_rules)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses expiry omission and authorization needs, but does not mention behavior for missing keys or return format. Adequate but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no redundancy, front-loaded with the primary purpose. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get tool with two parameters and no output schema, the description covers purpose, expiry, and authorization. Missing details on error handling or return structure, but still sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds context about namespace permissions, but does not elaborate on key constraints beyond what schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'agent context entry', and specifies the identifying fields (namespace and key). It distinguishes from sibling tools like rr_list_agent_context which retrieves multiple entries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context: expired entries are omitted, and the namespace must be admin-granted. However, it does not explicitly state when to use this tool over siblings like rr_list_agent_context for batch retrieval.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_get_demand_forecastB

Get demand forecast statistics (mu/sigma) for a SKU or item. Returns active forecast windows.

ParametersJSON Schema
NameRequiredDescriptionDefault
skuNoCanonical SKU
item_idNoItem UUID
store_idNoFilter by store ID
window_daysNoFilter by forecast window (e.g., 7, 14, 30)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It states the tool returns 'active forecast windows' but does not disclose whether it is read-only, the data freshness, or any side effects. Behavioral traits like permissions or performance are not addressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of two clear sentences. It is front-loaded with the core purpose and avoids any unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite moderate complexity (4 optional parameters, no output schema), the description does not explain what 'active forecast windows' means in terms of structure, how parameters combine (e.g., exclusivity of sku vs item_id), or if results are paginated. The description feels incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all four parameters have descriptions in the schema. The tool description adds no additional meaning beyond what the schema provides (e.g., 'Filter by store ID' is already in schema). The description mentions 'active forecast windows' but does not clarify parameter interactions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves demand forecast statistics (mu/sigma) for a SKU or item and returns active forecast windows. It uses a specific verb ('Get') and resource ('demand forecast'), and distinguishes itself from sibling tools like rr_create_location or rr_delete_agent_context by focusing on forecast retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of preconditions (e.g., at least one identifier required) or exclusions. The description lacks context for optimal usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_get_document_upload_urlC

Create a document record for a purchase order (invoice, packing slip, etc.). Requires Scale tier.

ParametersJSON Schema
NameRequiredDescriptionDefault
po_idYesPurchase order UUID
filenameYesDocument filename
descriptionNoDocument description
document_typeNoDocument type (default: attachment)

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states 'Requires Scale tier' (a behavioral constraint) but does not disclose other behaviors: e.g., does it automatically upload? Can it overwrite? What triggers an error? The description falls short of adequately describing tool behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, but the first sentence is misleading due to verb mismatch with the tool name. Conciseness is present but at the cost of clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so the description should explain return values. It does not mention what the tool returns (presumably a URL). With no annotations and no output description, the tool is incomplete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters adequately. The description adds no additional meaning beyond noting it relates to purchase orders. Baseline 3 is appropriate since schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Create a document record' but the tool name is 'get_document_upload_url'. This mismatch creates confusion about whether the tool creates a record or returns a URL. The purpose is somewhat clear (creates a record for a purchase order), but the inconsistency with the name lowers clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The sibling tools list includes various actions but no similar document upload tools, so no explicit or implicit differentiation. The 'Requires Scale tier' note is a prerequisite but not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_get_purchase_orderA

Get a single purchase order with full details including line items and vendor info.

ParametersJSON Schema
NameRequiredDescriptionDefault
po_idYesPurchase order UUID

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It mentions returning line items and vendor info but does not state whether the operation is read-only, requires authentication, or has side effects. The read nature is implied but not explicit, leaving gaps for a mutation-unaware agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 12 words, front-loaded with the verb and resource, and contains no redundant information. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single parameter and no output schema, the description adequately conveys the tool's purpose and expected returns. Some details (e.g., whether all fields are returned, error handling) are absent, but not critical for a simple get operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter (po_id) already described as 'Purchase order UUID'. The description repeats this without adding new semantic meaning beyond what the schema provides. Hence baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'purchase order', specifying scope as 'single' and content as 'full details including line items and vendor info'. This effectively distinguishes it from siblings like rr_list_purchase_orders and rr_list_suppliers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving a single purchase order but does not explicitly state when to use this tool over alternatives (e.g., rr_list_purchase_orders for multiple, or other get tools for different resources). No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_list_agent_contextA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 50, max 200)
namespaceYesAllowlisted context namespace (required)
key_prefixNoOptional key prefix filter

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations; description mentions 'live' entries and 'never lists across namespaces', but omits details on pagination, ordering, or return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero wasted words, front-loaded with key action and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple list tool with no output schema; covers constraints and scope, though could hint at return type.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and description repeats schema info (namespace required, limit bounded) without adding new meaning beyond structured fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'List live agent context entries for a single namespace' with specific verb and resource, and distinguishes from siblings by noting it does not list across namespaces.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit constraints (namespace required, max limit 200) and clarifies scope (single namespace only), but lacks explicit when-to-use/alternatives guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_list_purchase_ordersB

List purchase orders with filtering by status, vendor, and search. Supports pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 50, max 200)
offsetNoPagination offset
searchNoSearch by PO number
statusNoFilter by status (comma-separated: draft,sent,approved,received,cancelled)
vendor_idNoFilter by vendor ID

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full burden. It discloses filtering and pagination but does not mention behavioral traits like read-only nature, rate limits, error handling, or the fact that it returns a list. The description is insufficient for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at 12 words, front-loading the core purpose. Every word earns its place with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 optional parameters, no output schema, and no annotations, the description is too sparse. It does not explain return format, default behavior (e.g., default limit, unfiltered list), or sorting. This leaves gaps for an agent invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no new semantic detail beyond summarizing the filtering options. Baseline 3 is appropriate; it adds marginal value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool lists purchase orders and supports filtering by status, vendor, and search, as well as pagination. This is a specific verb+resource combination that distinguishes it from sibling tools like rr_get_purchase_order (single order) and other resource-specific tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing with filters but does not explicitly state when to use vs. alternatives (e.g., when to use rr_get_purchase_order). No when-not or exclusions are provided, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_list_suppliersA

List all suppliers/vendors for the organization. Optionally include vendor SKU mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_skusNoInclude vendor SKU mappings (default false)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as authentication requirements, rate limits, or side effects. The 'list' verb implies read-only behavior, but this is implicit rather than explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no redundant words. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional boolean parameter, no output schema), the description adequately states the core function and optional parameter. However, it does not describe the output format, which could be expected, but for a list tool, the result is likely a list of suppliers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%; the parameter 'include_skus' is already documented in the schema. The description's mention of 'Optionally include vendor SKU mappings' adds no new meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'List' and clearly identifies the resource as 'suppliers/vendors', making the purpose unambiguous. It effectively distinguishes from sibling tools, none of which are supplier-listing tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states 'for the organization' which implies scope but lacks explicit guidance on when to use this tool vs alternatives or when not to use it. No exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_prepare_replenishment_actionA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
action_idYesReplenishment action UUID

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description indicates read-only preview behavior but does not explicitly state it is non-destructive. Adequate but could be more explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no waste. First sentence covers purpose and output, second sentence guides usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but description fully explains return value and how to use it, plus relationship to siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of the single param. Description adds context on output usage but no new param info beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool preivews a replenishment action and returns its updated_at, distinguishing it from sibling tools like execute, resolve, and retry.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use before executing and how to use the output (as expected_updated_at). No when-not-to-use stated, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_record_pi_reviewB

Record proforma invoice details on a purchase order (PI number, date, total, terms).

ParametersJSON Schema
NameRequiredDescriptionDefault
po_idYesPurchase order UUID
pi_dateNoPI date (ISO 8601)
pi_termsNoPayment terms
pi_totalNoPI total amount
pi_numberNoProforma invoice number

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must bear the full burden. It indicates mutation ('Record') but does not disclose idempotency, side effects (e.g., overwriting existing PI details), required permissions, or return behavior. For a write tool, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the verb and resource. No unnecessary words; every word earns its place. It is as concise as possible while remaining clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 5 parameters and no output schema, the description is minimal. It does not explain when or why to call this tool, what the response indicates (e.g., confirmation, error), or how it fits into the larger workflow. More detail is needed for an AI to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description lists the fields that correspond to parameters but adds no additional meaning beyond the schema descriptions. It reinforces the context but does not deepen understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Record') and resource ('proforma invoice details on a purchase order'), and lists the key fields (PI number, date, total, terms). It distinguishes itself from sibling tools like 'rr_get_purchase_order' which are read-related.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., the purchase order must exist) or when not to use it (e.g., if the PI already exists). The context is implied but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_resolve_replenishment_actionA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYesReason the action needs no procurement/transfer
action_idYesReplenishment action UUID
idempotency_keyYesCaller-chosen idempotency key
expected_updated_atYesThe action updated_at the resolution was decided against

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility. It discloses idempotency, the requirement for idempotency_key and expected_updated_at, and a stale-state conflict contract. This is sufficient behavioral context for a mutation-like tool, though it omits authorization needs and return value details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences, front-loading the key purpose and behavioral traits. No unnecessary information is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 required parameters and no output schema, the description covers the essential behavioral aspects (idempotency, conflict contract) and the action's outcome. However, it assumes knowledge of the 'execute' tool's contract and does not describe return values or what 'no-action' entails fully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds minimal value beyond the schema (e.g., 'as no-action with a reason' clarifies the reason parameter's purpose). It does not provide syntax or format details for parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Resolve' and the resource 'replenishment action' with a specific outcome ('as no-action with a reason'). This differentiates it from sibling tools like rr_execute_replenishment_action and rr_retry_replenishment_action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used for resolving actions as no-action and mentions the idempotent and conflict contract, but does not explicitly state when to use it versus alternatives or when not to use it. Usage context is implied but not clarified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_retry_replenishment_actionA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
action_idYesReplenishment action UUID
idempotency_keyYesCaller-chosen idempotency key
expected_updated_atYesThe action updated_at the retry was decided against

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description discloses idempotency, required fields, and the stale-state conflict contract, providing essential behavioral context beyond just the operation type.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words, front-loaded with the core purpose immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 required params and no output schema, the description sufficiently covers purpose, key constraints (idempotency, conflict contract), and context for retry operations, though it could briefly mention expected outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%; the description adds context by linking idempotency_key and expected_updated_at to the stale-state conflict contract, enhancing understanding beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb "Retry" clearly indicates the action, resource "replenishment action" is specific, and the scope "blocked or failed" distinguishes it from sibling tools like rr_execute_replenishment_action and rr_prepare_replenishment_action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states when to use (retry blocked or failed actions) and mentions idempotency and stale-state contract, but does not explicitly exclude other scenarios or compare to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_set_agent_contextA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesEntry key within the namespace (max 200 chars)
valueYesJSON object value (max 16 KiB, no secrets or PII)
namespaceYesAllowlisted context namespace
scope_refNoOptional descriptive scope label (max 200 chars, non-secret)
ttl_secondsNoOptional expiry in seconds (max 7776000 = 90 days)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It reveals constraints (max 16 KiB, no secrets/PII, TTL cap, namespace grant) but does not specify overwrite behavior, atomicity, or response structure. Some important behavioral traits are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences, front-loading the main purpose and key constraints. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and the tool's complexity (5 parameters, 3 required), the description covers essential constraints and usage. It misses details like overwrite behavior and expected return value, but for a store operation, this is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds the context that 'namespace must be granted to this key,' which slightly enhances the schema. However, most parameter constraints are already in the schema, so the added value is minimal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: storing a bounded JSON object under a namespace and key. It uses specific verbs and resources ('Store a bounded JSON object'), and distinguishes from sibling tools like rr_get_agent_context and rr_delete_agent_context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (for storing JSON objects) but does not explicitly contrast with sibling tools or provide guidance on when not to use it. It mentions constraints but no alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rr_set_stock_at_locationC

Set stock quantity for a SKU at a manual location.

ParametersJSON Schema
NameRequiredDescriptionDefault
skuYesCanonical SKU
quantityYesNew on-hand quantity
location_idNoManual location UUID
location_nameNoManual location name, used if location_id is omitted

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose behavioral traits such as whether the operation is idempotent, what happens if location is unspecified, or authorization requirements. For a mutation tool, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very brief (one sentence), which is efficient but lacks necessary depth. It could be improved by adding context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, no output schema, and no annotations, the description should provide more context about return values, error handling, and behavioral constraints. The current description is inadequate for proper tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds minimal extra meaning beyond restating that the location is 'manual'. It does not explain the relationship or priority between location_id and location_name, nor the impact of omitting optional parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (set stock quantity), resource (SKU), and scope (at a manual location). It distinguishes from sibling tools like rr_create_location or rr_set_agent_context by focusing on stock modification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. Sibling tools include replenishment actions that might also modify stock, but no differentiation is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 22 tool updatesv1.0.8
    • Addedrr_create_location
    • Removedrr_create_purchase_order
    • Addedrr_execute_replenishment_action
    • Addedrr_get_agent_context
    • Removedrr_get_data_freshness
    • Addedrr_get_demand_forecast
    • Addedrr_get_document_upload_url
    • Removedrr_get_lost_sales
    • Removedrr_get_po_documents
    • Addedrr_get_purchase_order
    • Removedrr_get_recent_activity
    • Removedrr_get_setup_status
    • Removedrr_get_sku_health
    • Addedrr_list_agent_context
    • Addedrr_list_purchase_orders
    • Addedrr_list_suppliers
    • Addedrr_prepare_replenishment_action
    • Addedrr_record_pi_review
    • Addedrr_resolve_replenishment_action
    • Addedrr_retry_replenishment_action
    • Addedrr_set_agent_context
    • Addedrr_set_stock_at_location
  2. 16 tool updatesv1.0.8
    • Addedrr_create_purchase_order
    • Addedrr_delete_agent_context
    • Removedrr_execute_replenishment_action
    • Addedrr_get_data_freshness
    • Removedrr_get_document_upload_url
    • Addedrr_get_lost_sales
    • Addedrr_get_po_documents
    • Addedrr_get_setup_status
    • Addedrr_get_sku_health
    • Removedrr_list_purchase_orders
    • Removedrr_prepare_replenishment_action
    • Removedrr_record_pi_review
    • Removedrr_request_approval
    • Removedrr_resolve_replenishment_action
    • Removedrr_retry_replenishment_action
    • Removedrr_update_purchase_order
  3. 33 tool updatesv1.0.8
    • Removedrr_acknowledge_alert
    • Removedrr_add_po_note
    • Removedrr_cancel_purchase_order
    • Removedrr_create_purchase_order
    • Addedrr_execute_replenishment_action
    • Removedrr_get_alerts
    • Removedrr_get_demand_forecast
    • Changedrr_get_document_upload_url4 fields changed
      • addedInput schema / properties / description / description
        Added value: +"Document description"
      • addedInput schema / properties / document_type / description
        Added value: +"Document type (default: attachment)"
      • addedInput schema / properties / filename / description
        Added value: +"Document filename"
      • addedInput schema / properties / po_id / description
        Added value: +"Purchase order UUID"
    • Removedrr_get_inventory_position
    • Removedrr_get_inventory_value
    • Removedrr_get_lost_sales
    • Removedrr_get_po_documents
    • Removedrr_get_po_pdf
    • Removedrr_get_purchase_order
    • Addedrr_get_recent_activity
    • Removedrr_get_sales_history
    • Removedrr_get_sku_health
    • Removedrr_get_slow_movers
    • Removedrr_get_stockout_risk
    • Removedrr_get_suggested_purchase_orders
    • Removedrr_get_sync_status
    • Removedrr_get_top_sellers
    • Removedrr_list_items
    • Changedrr_list_purchase_orders7 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Max results (default 50, max 200)"
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • addedInput schema / properties / offset / description
        Added value: +"Pagination offset"
      • changedInput schema / properties / offset / type
        Previous value: -"number"New value: +"integer"
      • addedInput schema / properties / search / description
        Added value: +"Search by PO number"
      • addedInput schema / properties / status / description
        Added value: +"Filter by status (comma-separated: draft,sent,approved,received,cancelled)"
      • addedInput schema / properties / vendor_id / description
        Added value: +"Filter by vendor ID"
    • Removedrr_list_suppliers
    • Addedrr_prepare_replenishment_action
    • Changedrr_record_pi_review5 fields changed
      • addedInput schema / properties / pi_date / description
        Added value: +"PI date (ISO 8601)"
      • addedInput schema / properties / pi_number / description
        Added value: +"Proforma invoice number"
      • addedInput schema / properties / pi_terms / description
        Added value: +"Payment terms"
      • addedInput schema / properties / pi_total / description
        Added value: +"PI total amount"
      • addedInput schema / properties / po_id / description
        Added value: +"Purchase order UUID"
    • Changedrr_request_approval2 fields changed
      • addedInput schema / properties / message / description
        Added value: +"Message for the approver"
      • addedInput schema / properties / po_id / description
        Added value: +"Purchase order UUID"
    • Addedrr_resolve_replenishment_action
    • Addedrr_retry_replenishment_action
    • Removedrr_send_purchase_order
    • Removedrr_trigger_sync
    • Changedrr_update_purchase_order4 fields changed
      • addedInput schema / properties / expected_delivery_date / description
        Added value: +"Updated expected delivery date"
      • addedInput schema / properties / notes / description
        Added value: +"Updated notes"
      • addedInput schema / properties / po_id / description
        Added value: +"Purchase order UUID"
      • addedInput schema / properties / vendor_id / description
        Added value: +"Updated vendor ID"
  4. 28 tool updatesv1.0.1
    • First observedrr_acknowledge_alert
    • First observedrr_add_po_note
    • First observedrr_cancel_purchase_order
    • First observedrr_create_purchase_order
    • First observedrr_get_alerts
    • First observedrr_get_demand_forecast
    • First observedrr_get_document_upload_url
    • First observedrr_get_inventory_position
    • First observedrr_get_inventory_value
    • First observedrr_get_lost_sales
    • First observedrr_get_po_documents
    • First observedrr_get_po_pdf
    • First observedrr_get_purchase_order
    • First observedrr_get_sales_history
    • First observedrr_get_sku_health
    • First observedrr_get_slow_movers
    • First observedrr_get_stockout_risk
    • First observedrr_get_suggested_purchase_orders
    • First observedrr_get_sync_status
    • First observedrr_get_top_sellers
    • First observedrr_list_items
    • First observedrr_list_purchase_orders
    • First observedrr_list_suppliers
    • First observedrr_record_pi_review
    • First observedrr_request_approval
    • First observedrr_send_purchase_order
    • First observedrr_trigger_sync
    • First observedrr_update_purchase_order

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a distinct purpose with clear boundaries. The replenishment action tools (prepare, execute, resolve, retry) are well-differentiated, and the agent context tools form a separate subsystem with no overlap.

Naming Consistency4/5

Most tools follow a verb_noun pattern (e.g., rr_create_location, rr_list_purchase_orders). However, rr_get_document_upload_url is a misnomer as it creates a document record, and there is a mix of 'create' and 'set' for creation actions. Overall, still readable and mostly consistent.

Tool Count5/5

With 16 tools covering inventory replenishment and agent context management, the count is well-scoped for the domain. It is neither too sparse nor overly numerous.

Completeness3/5

The agent context tools are fully CRUD-complete. However, the inventory domain lacks a tool to retrieve stock quantity (only set_stock_at_location) and lacks location update/delete operations. The replenishment action workflow is well-covered, but these gaps limit overall completeness.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI agents to interact with Skulabs inventory management system through comprehensive tools for managing products, orders, customers, and analytics. Supports voice agents like Retell AI and desktop applications like Claude for natural language inventory operations.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    A production-grade MCP server and CLI tool that enables AI agents to manage Shopify stores through 49 built-in tools across products, orders, inventory, and analytics. It supports natural language workflows for tasks like inventory tracking, customer support, and sales reporting.
    387
    18
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    The first logistics/WMS MCP server for AI agents. Rate shopping, inventory management, order tracking, fleet logistics, AI-powered route optimization, demand forecasting, and supply chain analytics. 18 tools across 3 tiers.
    20
    17
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ReplenishRadar/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server