Skip to main content
Glama

get_inventory_health

Identify stranded, aged, excess, and low-stock FBA inventory per ASIN to improve stock efficiency.

Instructions

Read FBA inventory health scoring with stranded, aged, excess, and low-stock indicators per ASIN.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • src/index.ts:39-239 (registration)
    The tool definition for 'get_inventory_health' is registered as part of the tools array at lines 117-121. It is listed under the 'Inventory' section with a description about reading FBA inventory health scoring.
    const tools: Tool[] = [
      // --- Ads (read) ---
      {
        name: "get_campaign_performance",
        description:
          "Read Sponsored Products / Sponsored Brands / Sponsored Display campaign performance metrics for a date range, including impressions, clicks, spend, sales, ACOS, ROAS, and TACOS.",
        inputSchema: dateRangeSchema,
      },
      {
        name: "get_keyword_performance",
        description:
          "Read keyword-level performance for a date range across Sponsored Products and Sponsored Brands campaigns.",
        inputSchema: dateRangeSchema,
      },
      {
        name: "get_search_terms",
        description:
          "Read search terms (customer queries) that triggered ad impressions, with attributed sales, clicks, and spend by ASIN.",
        inputSchema: dateRangeSchema,
      },
      {
        name: "get_budget_pacing",
        description:
          "Read campaign budget pacing: budget consumed by hour, time-out-of-budget percentage, and pacing alerts.",
        inputSchema: { type: "object", properties: {}, additionalProperties: false },
      },
      {
        name: "get_tacos",
        description:
          "Read TACOS (total advertising cost of sales) blending ad spend with total Amazon sales by ASIN, brand, or campaign.",
        inputSchema: dateRangeSchema,
      },
    
      // --- Ads (write) ---
      {
        name: "update_keyword_bids",
        description:
          "Update keyword bids in bulk. Pre-reads current bids, enforces $0.02 min and $100 max guardrails, warns on >500% changes, and writes a pre/post audit log.",
        inputSchema: {
          type: "object" as const,
          properties: {
            keyword_ids: {
              type: "array",
              items: { type: "string" },
              description: "Keyword IDs to update.",
            },
            new_bid: {
              type: "number",
              description: "New bid in account currency (e.g. USD).",
            },
          },
          required: ["keyword_ids", "new_bid"],
          additionalProperties: false,
        },
      },
      {
        name: "update_campaign_budget",
        description:
          "Update a campaign daily budget. Pre-reads current budget, enforces account-currency minimums, and writes a pre/post audit log.",
        inputSchema: {
          type: "object" as const,
          properties: {
            campaign_id: { type: "string", description: "Campaign ID." },
            new_budget: { type: "number", description: "New daily budget." },
          },
          required: ["campaign_id", "new_budget"],
          additionalProperties: false,
        },
      },
    
      // --- Inventory ---
      {
        name: "get_fba_inventory",
        description:
          "Read FBA inventory levels by SKU/ASIN, including fulfillable, unfulfillable, reserved, inbound, and AWD quantities.",
        inputSchema: { type: "object", properties: {}, additionalProperties: false },
      },
      {
        name: "get_inventory_health",
        description:
          "Read FBA inventory health scoring with stranded, aged, excess, and low-stock indicators per ASIN.",
        inputSchema: { type: "object", properties: {}, additionalProperties: false },
      },
      {
        name: "get_orders",
        description:
          "Read recent Amazon orders with status, marketplace, totals, items, and shipping details.",
        inputSchema: dateRangeSchema,
      },
      {
        name: "get_sales_velocity",
        description:
          "Read sales velocity by ASIN: 7/30/90-day rolling units sold, days of cover, and sell-through pace.",
        inputSchema: { type: "object", properties: {}, additionalProperties: false },
      },
      {
        name: "get_inventory_risk_triage",
        description:
          "Read prioritized inventory risk: stockouts, excess, aged inventory, suppressed listings, and Buy Box loss with risk_level and coverage_state.",
        inputSchema: { type: "object", properties: {}, additionalProperties: false },
      },
    
      // --- Catalog ---
      {
        name: "get_product_details",
        description:
          "Read catalog metadata for an ASIN: title, brand, category, dimensions, images, and identifiers.",
        inputSchema: {
          type: "object" as const,
          properties: { asin: { type: "string", description: "Amazon ASIN." } },
          required: ["asin"],
          additionalProperties: false,
        },
      },
      {
        name: "get_listing_quality",
        description:
          "Read listing quality scoring: title length, bullet completeness, A+ Content presence, image count, and suppressed-status flags per ASIN.",
        inputSchema: { type: "object", properties: {}, additionalProperties: false },
      },
      {
        name: "get_variations",
        description:
          "Read variation family relationships (parent ASIN with all child ASINs) including variation theme.",
        inputSchema: {
          type: "object" as const,
          properties: { parent_asin: { type: "string" } },
          required: ["parent_asin"],
          additionalProperties: false,
        },
      },
    
      // --- Finance ---
      {
        name: "get_profitability",
        description:
          "Read net profitability by ASIN: gross sales minus FBA fees, referral fees, ad spend, COGS, and returns.",
        inputSchema: dateRangeSchema,
      },
      {
        name: "get_fee_breakdown",
        description:
          "Read Amazon fee breakdown for an ASIN: referral fees, FBA fees, storage fees, and dimensional weight estimates.",
        inputSchema: {
          type: "object" as const,
          properties: { asin: { type: "string" } },
          required: ["asin"],
          additionalProperties: false,
        },
      },
      {
        name: "get_settlement_economics",
        description:
          "Read settlement-period unit economics: starting balance, charges, deposits, refunds, and reserves.",
        inputSchema: dateRangeSchema,
      },
    
      // --- Ranking ---
      {
        name: "get_current_rank",
        description:
          "Read live keyword rank for an ASIN: organic position, sponsored position, and total result count.",
        inputSchema: {
          type: "object" as const,
          properties: {
            asin: { type: "string" },
            keyword: { type: "string" },
          },
          required: ["asin", "keyword"],
          additionalProperties: false,
        },
      },
    
      // --- Fulfillment ---
      {
        name: "get_shipping_preview",
        description:
          "Read MCF (Multi-Channel Fulfillment) shipping cost and speed estimates for a destination address.",
        inputSchema: { type: "object", properties: {}, additionalProperties: false },
      },
    
      // --- Utility ---
      {
        name: "create_shareable_report",
        description:
          "Create a public, read-only snapshot URL of an MCP tool result so a stakeholder without an account can view it.",
        inputSchema: {
          type: "object" as const,
          properties: { title: { type: "string" } },
          additionalProperties: false,
        },
      },
    
      // --- Setup helper ---
      {
        name: "agentcentral_setup",
        description:
          "Returns the connection details and setup link for the hosted agentcentral MCP server.",
        inputSchema: { type: "object", properties: {}, additionalProperties: false },
      },
    ]
  • Input schema for 'get_inventory_health' — an empty object schema (no parameters required).
    inputSchema: { type: "object", properties: {}, additionalProperties: false },
  • The CallToolRequestSchema handler catches tool calls. Since 'get_inventory_health' is not the special 'agentcentral_setup' case (line 255), it falls through to the default return at line 270 which returns the HOSTED_NOTICE message. This is an introspection stub — there is no actual handler logic; the tool is meant to be executed on the remote hosted server.
    server.setRequestHandler(CallToolRequestSchema, async (request) => {
      const name = request.params.name
      if (name === "agentcentral_setup") {
        return {
          content: [
            {
              type: "text",
              text:
                `Hosted MCP endpoint:\n  ${HOSTED_URL}\n\n` +
                `Setup guide:\n  ${SETUP_URL}\n\n` +
                `Add this to your client config:\n` +
                `{\n  "mcpServers": {\n    "agentcentral": {\n      "url": "${HOSTED_URL}",\n      "headers": { "Authorization": "Bearer ac_live_<YOUR_API_KEY>" }\n    }\n  }\n}`,
            },
          ],
          isError: false,
        }
      }
      return {
        content: [
          {
            type: "text",
            text: HOSTED_NOTICE,
          },
        ],
        isError: false,
      }
    })
Behavior2/5

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

The description implies a read-only operation ('Read') but provides no details on side effects, required permissions, rate limits, or output format. With no annotations, the description should offer more behavioral context.

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

Conciseness4/5

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

The description is a single, well-structured sentence that front-loads the purpose. It is concise and free of extraneous information.

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 zero-parameter tool with no output schema or annotations, the description provides the basic purpose. However, it lacks details on result granularity (e.g., aggregated or per-ASIN) and filtering, which could improve completeness.

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?

There are no parameters, so the baseline is 4. However, the description does not add meaning beyond the schema (empty). It contextualizes the output but not the parameters themselves, so a 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool reads FBA inventory health scoring and lists specific indicators (stranded, aged, excess, low-stock) per ASIN. However, it does not differentiate from similar sibling tools like get_fba_inventory or get_inventory_risk_triage.

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 context, prerequisites, or exclusions.

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

Install Server

Other Tools

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/agentcentral-to/agent-central-mcp'

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