Skip to main content
Glama

get_fee_breakdown

Get detailed fee breakdown for an Amazon ASIN, including referral, FBA, storage, and dimensional weight estimates.

Instructions

Read Amazon fee breakdown for an ASIN: referral fees, FBA fees, storage fees, and dimensional weight estimates.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
asinYes

Implementation Reference

  • Tool schema definition for get_fee_breakdown: accepts an ASIN string as input, returns referral/FBA/storage fees and dimensional weight estimates.
    {
      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,
      },
  • src/index.ts:39-239 (registration)
    The tool is registered in the tools array at lines 178-188 and served via ListToolsRequestSchema handler at line 251.
    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 },
      },
    ]
  • The CallToolRequestSchema handler handles all tool calls. For get_fee_breakdown (and all tools except agentcentral_setup), it returns a hosted notice message pointing users to the remote MCP endpoint. The actual business logic lives on the remote server at https://mcp.agentcentral.to/mcp.
    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,
        }
      }
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states the tool 'reads' (implying read-only) and lists fee types, but it does not mention data freshness, error handling (e.g., missing ASIN), or whether the breakdown is current or historical. Minimal additional context beyond the basic purpose.

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 13 words, front-loading the purpose and listing fee types. Every word contributes to understanding, with no fluff 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?

For a simple tool with one parameter and no output schema, the description is bare. It explains what the fee breakdown includes but omits the response structure, any limitations, or how it relates to sibling tools. The agent lacks information to set expectations for the return value or to handle edge cases.

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

Parameters1/5

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

The schema has 0% description coverage, and the description adds no semantic meaning beyond the parameter name 'asin'. It simply says 'for an ASIN', which repeats the schema. The AI agent gains no understanding of what an ASIN is, its format, or constraints.

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 Amazon fee breakdown for an ASIN, listing specific fee types (referral, FBA, storage, dimensional weight). It is a specific verb+resource combination, but it does not explicitly distinguish itself from sibling tools like get_profitability or get_fba_inventory, which may also contain fee-related data.

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 no guidance on when to use this tool vs alternatives, nor does it mention prerequisites or exclusions. It merely states what it does, leaving the AI agent to infer context from the tool name and sibling list.

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