Skip to main content
Glama

get_index

Fetch a published MFG Calcs index, board, ledger, forecast, vintage, revision record, seasonal series, or HS-NAICS map. Tariff targets distinguish the tracked manufacturing panel's observed effective calculated-duty rate; origins are statistically associated with those reported Calculated Duties, not causes. The selected index's JSON Schema branch lists its accepted fields; unsupported, dependent, or conflicting fields return invalid params. Try: {"index":"get_state_cost_index","filter":"Ohio"}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
asOfNoVintage cutoff (YYYY-MM-DD).
indexYesPublished target.
limitNoRows: "all" or count.
naicsNoSix-digit NAICS code for get_hs_naics.
sinceNoRevision cutoff (YYYY-MM-DD).
filterNoTarget selector; meaning depends on index.
pointsNoHistory: "latest", "all", or count.
countryNoDuty-free origin.
artifactNoRevision artifact filter.
scheduleYearNoDuty-free HTS year.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed18 schema fields changed
    • addedInput schema / oneOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "index": {
      +        "const": "get_tariff_index"
      +      },
      +      "points": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "rank_landed_cost"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "reshoring_score"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "index": {
      +        "const": "get_tariff_bill"
      +      },
      +      "limit": {},
      +      "points": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "get_policy_premium"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "get_tariff_dollars_by_country"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "get_source_shift"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "get_tariff_effect"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "get_sourcing_diversification"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "get_import_price_movers"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "country": {},
      +      "filter": {},
      +      "index": {
      +        "const": "get_duty_free_routes"
      +      },
      +      "limit": {},
      +      "scheduleYear": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "get_wage_board"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "get_forecast"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "index": {
      +        "const": "get_forecast_accuracy"
      +      }
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "index": {
      +        "const": "get_cost_pressure_index"
      +      },
      +      "points": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "index": {
      +        "const": "get_input_cost_diffusion"
      +      },
      +      "points": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "get_supply_chain_fragility"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "get_state_cost_index"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "index": {
      +        "const": "get_cost_pass_through"
      +      }
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "index": {
      +        "const": "get_manufacturing_pmi"
      +      },
      +      "points": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "limit"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "get_reshoring_break_even"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "index": {
      +        "const": "get_tariff_action_ledger"
      +      }
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "index": {
      +        "const": "get_eti_outlook"
      +      }
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "dependencies": {
      +      "asOf": [
      +        "filter"
      +      ]
      +    },
      +    "properties": {
      +      "asOf": {},
      +      "filter": {},
      +      "index": {
      +        "const": "get_vintages"
      +      },
      +      "limit": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "artifact": {},
      +      "filter": {},
      +      "index": {
      +        "const": "get_revisions"
      +      },
      +      "limit": {},
      +      "since": {}
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "get_seasonally_adjusted"
      +      }
      +    }
      +  },
      +  {
      +    "additionalProperties": false,
      +    "allOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "filter",
      +            "naics"
      +          ]
      +        }
      +      }
      +    ],
      +    "properties": {
      +      "filter": {},
      +      "index": {
      +        "const": "get_hs_naics"
      +      },
      +      "limit": {},
      +      "naics": {}
      +    }
      +  }
      +]
    • addedInput schema / properties / artifact
      Added value: +{
      +  "description": "Revision artifact filter.",
      +  "maxLength": 500,
      +  "type": "string"
      +}
    • addedInput schema / properties / asOf
      Added value: +{
      +  "description": "Vintage cutoff (YYYY-MM-DD).",
      +  "maxLength": 500,
      +  "type": "string"
      +}
    • changedInput schema / properties / country / description
      Previous value: -"Origin qualifier for get_duty_free_routes, preserved independently from its optional family filter."New value: +"Duty-free origin."
    • addedInput schema / properties / country / maxLength
      Added value: +500
    • changedInput schema / properties / filter / description
      Previous value: -"Optional narrowing value, interpreted per index: a product family (most tariff and sourcing indices), a country (get_tariff_dollars_by_country), a U.S. state (get_state_cost_index), a trade (get_wage_board), or a series key (get_forecast). Omit for the whole index."New value: +"Target selector; meaning depends on index."
    • addedInput schema / properties / filter / maxLength
      Added value: +500
    • changedInput schema / properties / index / description
      Previous value: -"Which index to fetch. Use one of the names listed in this tool's description."New value: +"Published target."
    • removedInput schema / properties / index / enum
      Removed value: -[
      -  "get_tariff_index",
      -  "rank_landed_cost",
      -  "reshoring_score",
      -  "get_tariff_bill",
      -  "get_policy_premium",
      -  "get_tariff_dollars_by_country",
      -  "get_source_shift",
      -  "get_tariff_effect",
      -  "get_sourcing_diversification",
      -  "get_import_price_movers",
      -  "get_duty_free_routes",
      -  "get_wage_board",
      -  "get_forecast",
      -  "get_forecast_accuracy",
      -  "get_cost_pressure_index",
      -  "get_input_cost_diffusion",
      -  "get_supply_chain_fragility",
      -  "get_state_cost_index",
      -  "get_cost_pass_through",
      -  "get_manufacturing_pmi",
      -  "get_reshoring_break_even",
      -  "get_tariff_action_ledger",
      -  "get_eti_outlook",
      -  "get_vintages",
      -  "get_revisions",
      -  "get_seasonally_adjusted",
      -  "get_hs_naics"
      -]
    • addedInput schema / properties / index / maxLength
      Added value: +500
    • changedInput schema / properties / limit / description
      Previous value: -"Optional row depth for the indices that return a ranked board: \"all\" or a number. Default 15. Every payload carries a resultSets block saying what came back, how much exists, and the exact call for the rest."New value: +"Rows: \"all\" or count."
    • addedInput schema / properties / limit / maxLength
      Added value: +500
    • addedInput schema / properties / naics
      Added value: +{
      +  "description": "Six-digit NAICS code for get_hs_naics.",
      +  "maxLength": 500,
      +  "type": "string"
      +}
    • changedInput schema / properties / points / description
      Previous value: -"Optional history depth for the indices that carry a time series (get_tariff_index, get_tariff_bill, get_cost_pressure_index, get_input_cost_diffusion, get_manufacturing_pmi): \"all\", \"latest\", or a number of newest months. Default 24."New value: +"History: \"latest\", \"all\", or count."
    • addedInput schema / properties / points / maxLength
      Added value: +500
    • changedInput schema / properties / scheduleYear / description
      Previous value: -"Four-digit HTS schedule year for get_duty_free_routes; unsupported years are declined explicitly."New value: +"Duty-free HTS year."
    • addedInput schema / properties / scheduleYear / maxLength
      Added value: +500
    • addedInput schema / properties / since
      Added value: +{
      +  "description": "Revision cutoff (YYYY-MM-DD).",
      +  "maxLength": 500,
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / country
      Added value: +{
      +  "description": "Origin qualifier for get_duty_free_routes, preserved independently from its optional family filter.",
      +  "type": "string"
      +}
    • addedInput schema / properties / scheduleYear
      Added value: +{
      +  "description": "Four-digit HTS schedule year for get_duty_free_routes; unsupported years are declined explicitly.",
      +  "type": "string"
      +}
  3. Changed2 schema fields changed
    • addedInput schema / properties / limit
      Added value: +{
      +  "description": "Optional row depth for the indices that return a ranked board: \"all\" or a number. Default 15. Every payload carries a resultSets block saying what came back, how much exists, and the exact call for the rest.",
      +  "type": "string"
      +}
    • changedInput schema / properties / points / description
      Previous value: -"Optional history depth, for the indices that carry a time series (get_tariff_index, get_tariff_bill, get_cost_pressure_index)."New value: +"Optional history depth for the indices that carry a time series (get_tariff_index, get_tariff_bill, get_cost_pressure_index, get_input_cost_diffusion, get_manufacturing_pmi): \"all\", \"latest\", or a number of newest months. Default 24."
  4. Changed1 schema field changed
    • changedInput schema / properties / index / enum
      Previous value: -[
      -  "get_tariff_index",
      -  "rank_landed_cost",
      -  "reshoring_score",
      -  "get_tariff_bill",
      -  "get_policy_premium",
      -  "get_tariff_dollars_by_country",
      -  "get_source_shift",
      -  "get_tariff_effect",
      -  "get_sourcing_diversification",
      -  "get_import_price_movers",
      -  "get_duty_free_routes",
      -  "get_wage_board",
      -  "get_forecast",
      -  "get_forecast_accuracy",
      -  "get_cost_pressure_index",
      -  "get_input_cost_diffusion",
      -  "get_supply_chain_fragility",
      -  "get_state_cost_index",
      -  "get_cost_pass_through",
      -  "get_manufacturing_pmi",
      -  "get_reshoring_break_even",
      -  "get_tariff_action_ledger",
      -  "get_eti_outlook"
      -]New value: +[
      +  "get_tariff_index",
      +  "rank_landed_cost",
      +  "reshoring_score",
      +  "get_tariff_bill",
      +  "get_policy_premium",
      +  "get_tariff_dollars_by_country",
      +  "get_source_shift",
      +  "get_tariff_effect",
      +  "get_sourcing_diversification",
      +  "get_import_price_movers",
      +  "get_duty_free_routes",
      +  "get_wage_board",
      +  "get_forecast",
      +  "get_forecast_accuracy",
      +  "get_cost_pressure_index",
      +  "get_input_cost_diffusion",
      +  "get_supply_chain_fragility",
      +  "get_state_cost_index",
      +  "get_cost_pass_through",
      +  "get_manufacturing_pmi",
      +  "get_reshoring_break_even",
      +  "get_tariff_action_ledger",
      +  "get_eti_outlook",
      +  "get_vintages",
      +  "get_revisions",
      +  "get_seasonally_adjusted",
      +  "get_hs_naics"
      +]
  5. Added

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It adds meaningful caveats: tariff targets are observed rates, origins are statistically associated not causal, and unsupported/dependent/conflicting fields return invalid params. Missing rate-limit or authentication detail, but the interpretive caveats exceed the baseline for a fetch tool.

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?

Three sentences each earn their place: purpose, interpretive caveat, and schema-guidance plus a working example. It is front-loaded and efficient. The only issue is the second sentence is dense and slightly jargony, which is a minor readability cost.

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?

Complexity is high – ten parameters, a large oneOf switch over many index constants, and no output schema. The description points to schema branches and gives a concrete example, but it does not enumerate the available indexes, explain result shapes, or guide selection among overlapping artifact types. Without an output schema, this leaves the agent to infer a lot from the input branches alone.

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 description coverage is 100%, so the baseline is 3. The description adds value by telling agents to consult the selected branch of the schema for accepted fields, offering a concrete runnable example (get_state_cost_index plus Ohio filter), and clarifying the tariff/origin semantic distinction – guidance that the parameter descriptors alone do not provide.

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?

Opens with 'Fetch a published MFG Calcs index...' – a specific verb plus a clear list of artifact types it can return. It communicates the tool's broad fetch-and-dispatch role, though it doesn't explicitly distinguish itself from sibling tools like get_revisions and get_vintages that overlap in the 'vintage' and 'revision record' categories.

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 when-to-use vs alternatives guidance is provided. It never tells the agent when to prefer get_index over get_revisions, get_vintages, or lookup_tariff even though those are plausible competitors. The 'Try:' example and schema-branch advice address parameter usage, not tool selection.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources