Skip to main content
Glama

assess_bom_sourcing_risk

Read-only

Flags off-the-shelf BOM parts that can't be reliably bought within a year, helping teams catch sourcing risks before production.

Instructions

Flag the off-the-shelf parts a design can't reliably buy in a year.

Free door, tiered answer — Free: nothing computed · Pro: nothing computed · Business: nothing computed · Enterprise: ✓.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "assess_bom_sourcing_risk"
  }
}

Input Schema

NameRequiredDescriptionDefault
bomNoBOM rows you already have; the ``source="buy"`` rows are extracted and added to ``components``.
bom_csvNoThe raw text of an EDA-tool BOM export; its rows are parsed and added to ``components``. Unreadable text answers ``BOM_CSV_UNREADABLE``. With none of the three given, the call answers ``MISSING_COMPONENTS``.
componentsNoThe bought parts, a list of small dicts with any of ``ref``, ``manufacturer``, ``mpn`` and ``category`` (shown above). Non-dict items are skipped.
confirm_mappingNoTrue to accept a low-confidence guess at the CSV's part-number column and assess anyway; the default stops with ``status: needs_confirmation`` instead. Default: false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.5.1
    • addedInput schema / properties / bom / description
      Added value: +"BOM rows you already have; the ``source=\"buy\"`` rows are extracted and added to ``components``."
    • addedInput schema / properties / bom_csv / description
      Added value: +"The raw text of an EDA-tool BOM export; its rows are parsed and added to ``components``.  Unreadable text answers ``BOM_CSV_UNREADABLE``.  With none of the three given, the call answers ``MISSING_COMPONENTS``."
    • addedInput schema / properties / components / description
      Added value: +"The bought parts, a list of small dicts with any of ``ref``, ``manufacturer``, ``mpn`` and ``category`` (shown above).  Non-dict items are skipped."
    • changedInput schema / properties / confirm_mapping / description
      Previous value: -"Default: false."New value: +"True to accept a low-confidence guess at the CSV's part-number column and assess anyway; the default stops with ``status: needs_confirmation`` instead. Default: false."
  2. Addedv1.5.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real behavioral value by disclosing that free/pro/business tiers compute nothing and only Enterprise returns results, which prevents wasted calls. It still omits what the flags contain, how confidence is determined, and why three tiers are listed identically as 'nothing computed' rather than simply 'Enterprise only'.

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?

Two sentences, front-loaded with the purpose and followed by a compact tier table; nothing is padded prose. The repeated 'nothing computed' three times is slightly awkward but functions as a clear at-a-glance gating table rather than filler.

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?

With four optional parameters, no output schema, and a multi-input resolution path (bom, bom_csv, or components), the description covers purpose and entitlement but not the shape of the answer. Since no output schema exists, it should at least indicate whether 'flag' returns a per-part list, a risk score, or a pass/fail, and it does not.

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 bom, bom_csv, components, and confirm_mapping, including error codes like BOM_CSV_UNREADABLE and MISSING_COMPONENTS. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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 first sentence gives a concrete verb and outcome: flag off-the-shelf parts a design can't reliably buy within a year. That is a recognizable sourcing-risk assessment and distinct from the many geometry/print siblings. It does not name the nearest related sibling (propose_sourcing_remediation) or state that input is a BOM, so differentiation is only partial.

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?

There is no when-to-use guidance: nothing says whether to call this before propose_sourcing_remediation, what a 'can't reliably buy' signal should trigger, or what prerequisites exist. The only contextual statement is an entitlement gate (Enterprise-only), which is a precondition rather than usage guidance.

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

Deploy Server

Other Tools