Skip to main content
Glama

Server Details

Read-only MCP server for wafergraph.com's semiconductor & AI supply-chain data: 30 tools, no auth.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
jasonpalmer1/wafergraph-mcp
GitHub Stars
0
Server Listing
wafergraph-mcp

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 9 of 9 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: analyzing portfolio exposure, comparing companies, finding chokepoints, getting company details, country exposure, deals, segments, supply chain walk, and company search. No overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., 'get_company', 'search_companies', 'find_chokepoints'). The convention is uniform and predictable.

Tool Count5/5

9 tools is well-scoped for a specialized supply chain analysis server. Each tool serves a distinct query or analysis need without being too few or too many.

Completeness4/5

The tool set covers core operations: search, detail, comparison, portfolio analysis, chokepoint identification, country exposure, deals, and supply chain graph traversal. Minor gaps like historical trends or alerts exist but do not hinder primary use cases.

Available Tools

30 tools
analyze_portfolio_exposureAnalyze portfolio exposureAInspect

Given a list of tickers or company ids, report that basket's aggregate exposure across supply-chain segments and countries, and flag where holdings share the same upstream suppliers (correlated single points of failure). Informational supply-chain analysis over public data, not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
holdingsYesTickers (e.g. ['NVDA','TSM']) or company ids. Up to 40.
Behavior3/5

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

No annotations are provided, so the description bears full transparency burden. It correctly conveys the read-only, informational nature and the output type, but does not disclose potential limitations, data sources, or behavior under error conditions. It is adequate but not highly detailed.

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 two sentences. Every sentence adds value, and the main action is front-loaded. There is no redundant or extraneous information.

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?

Given the tool's low complexity (one parameter, no output schema, no nested objects), the description sufficiently covers what the tool does and what it returns. It mentions aggregate exposure across segments and countries and flagging of correlated suppliers, providing a complete picture for an agent.

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 has 100% coverage for the only parameter 'holdings', describing it as a list of tickers or company IDs with a max of 40. The description adds no additional semantic detail beyond the schema, so baseline score 3 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 tool's function: it reports aggregate exposure across supply-chain segments and countries for a basket of tickers, and flags correlated upstream suppliers. This distinguishes it from sibling tools like compare_companies or get_company which focus on individual entities or comparisons.

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 explicitly indicates use for a list of tickers or company IDs, implying portfolio-level analysis. While it sets context ('Informational supply-chain analysis over public data, not investment advice'), it does not explicitly state when not to use or name alternatives. The context is clear but lacks explicit exclusions.

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

compare_companiesCompare companiesAInspect

Side-by-side comparison of 2-6 companies on the same fields, plus their shared and unique supply-chain counterparties. Cheaper and more aligned than several get_company calls when the question is comparative.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesCompany ids (snake_case, e.g. ['tsmc','samsung_foundry']) or exact names. 2-6 of them.
Behavior3/5

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

With no annotations, the description carries full weight. It explains the tool compares companies on 'same fields' and supply-chain counterparties, but lacks details on data freshness, authorization requirements, pagination, or what 'same fields' entails. Adequate for basic understanding but leaves gaps.

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 with zero wasted words. The first sentence states core functionality, the second provides comparative advantage. Highly efficient.

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 tool has 1 parameter and no output schema, the description covers purpose and usage well. However, it omits detail on what output the agent should expect (e.g., fields compared, format). Lacks completeness on output expectation.

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% (single 'ids' parameter already described in schema). The description only reiterates '2-6 companies' without adding new meaning, such as accepted formats or constraints beyond what the schema already states.

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 specifies a concrete verb ('compare'), resource ('companies'), and scope ('2-6 companies on the same fields, plus shared/unique supply-chain counterparties'). It clearly distinguishes this tool from siblings like 'get_company' (single company) or 'analyze_portfolio_exposure'.

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 when to use this tool over alternatives: 'Cheaper and more aligned than several get_company calls when the question is comparative.' This provides clear context for appropriate usage, though it could mention situations where this tool is not suitable (e.g., deep dives on individual companies).

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

compare_countriesCompare countriesAInspect

Side-by-side comparison of 2-5 countries: aligned rows for company count, segment mix, market-position mix, and priced market cap, plus which segments each country is uniquely present in or dominant in, and which segments they all share. country is the company's HEADQUARTERS country only, not a manufacturing-footprint field. A company headquartered here may fabricate, assemble, or test elsewhere — do not read this data as production geography.

ParametersJSON Schema
NameRequiredDescriptionDefault
countriesYes2-5 country names, e.g. ['Taiwan','South Korea','United States']. Case-insensitive; common short forms recognized.
Behavior4/5

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

With no annotations, the description carries full burden. It explicitly clarifies that 'country' means headquarters only not production geography, and describes output structure. This is valuable beyond what schema provides.

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 five sentences, each adding value. The first sentence fronts the purpose. One sentence is a critical caveat. Minor redundancy could be trimmed but overall efficient.

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?

The description covers output format, key behavioral nuance (headquarters vs production), and parameter constraints. No output schema exists, but the description compensates sufficiently. Complete for a single-parameter 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 coverage is 100% for the single parameter, so baseline is 3. The description adds no new parameter-level details beyond what the schema already states about format and case-insensitivity.

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 starts with 'Side-by-side comparison of 2-5 countries' which specifies the verb and resource, then lists specific output fields (company count, segment mix, etc.), clearly distinguishing it from sibling tools like compare_companies or get_country_profile.

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 mention of when to use this tool vs alternatives. The description does not compare with siblings or provide context on when this is preferred over get_country_exposure or list_countries.

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

filter_companiesFilter companiesAInspect

Structured multi-criteria screen over all 615 companies: exact segment/subsegment/country/market_position/public filters plus a market-cap range, sortable and paginated. Use this instead of search_companies when the question is a precise filter ('leader-position analog companies in Japan under $20B') rather than a free-text match. Unknown segment/subsegment/country values just return zero results rather than erroring — call get_segments or list_subsegments first if you're not sure a value is valid.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows to return, 1-100. Default 25.
offsetNoRows to skip, for paging past the first `limit`. Default 0.
publicNotrue = only publicly traded companies, false = only private ones. Omit for both.
countryNoHeadquarters country, exact match, case-insensitive, e.g. 'Japan'.
segmentNoExact taxonomy segment id, e.g. 'foundry' (see get_segments).
sort_byNoSort field. 'market_cap' sorts descending with unpriced companies last; 'name'/'country' sort ascending. Default 'market_cap'.market_cap
has_tickerNotrue = only companies with a public ticker on file, false = only companies without one.
subsegmentNoExact taxonomy subsegment id, e.g. 'litho' (see list_subsegments).
market_positionNoExact market_position: monopoly | leader | major | challenger | niche.
max_market_cap_usd_bNoMaximum market cap in USD billions (inclusive). Only ~72% of companies have a cap on file — see the response note when this is set.
min_market_cap_usd_bNoMinimum market cap in USD billions (inclusive). Only ~72% of companies have a cap on file — see the response note when this is set.
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden. It discloses important semantics: exact matching, unknown values returning zero results rather than erroring, and the tool being sortable/paginated. It does not mention response format or data coverage caveats (e.g., ~72% market cap availability), which are in the schema but not the description, so it is not fully 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?

The description is three sentences, front-loaded with the core function ('Structured multi-criteria screen') and immediately followed by usage guidance and an edge-case note. Every sentence 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.

Completeness4/5

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

Given 11 parameters, no annotations, and no output schema, the description covers the essential usage context: tool scope, filter types, sorting/pagination, and error behavior. It does not describe the response structure, which would be helpful, but the sibling tools and the tool name imply a company list. Overall, it is sufficiently complete for an agent to select and invoke the tool correctly.

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%, so the baseline is 3. The description adds a useful cross-reference: 'call get_segments or list_subsegments first if you're not sure a value is valid,' which helps agents validate parameter values. It also groups parameters into filter categories (exact filters + market-cap range), providing a mental model beyond the flat 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 opens with 'Structured multi-criteria screen over all 615 companies' and enumerates the exact filter dimensions (segment/subsegment/country/market_position/public, market-cap range), making the tool's scope and function explicit. It clearly distinguishes itself from 'search_companies' by contrasting precise filters with free-text matching.

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

Usage Guidelines5/5

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

The description provides an explicit directive: 'Use this instead of search_companies when the question is a precise filter...' and gives a concrete example. It also advises calling get_segments or list_subsegments first when unsure about valid values, effectively telling the agent when to use supporting tools.

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

find_chokepointsFind chokepointsAInspect

Rank supply-chain chokepoints: companies many others depend on, weighted by how concentrated their market position is. A chokepoint here means high downstream dependency plus monopoly/leader position, i.e. few substitutes. Scoring is a transparent heuristic over the public dataset, not a proprietary risk model.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many to return (1-25, default 10).
segmentNoRestrict to one taxonomy segment id (see get_segments).
Behavior4/5

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

With no annotations, the description fully carries the burden. It explains that scoring is a 'transparent heuristic over the public dataset, not a proprietary risk model', and defines the concept of chokepoint. Some details like data source or update frequency could be added.

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 that are front-loaded with the core purpose, no redundant words. 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?

Given no output schema and only two parameters, the description adequately explains the tool's logic and constraints. It could optionally mention the output format but is complete enough for most agents.

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 no new meaning beyond the schema; it mentions 'segment' restriction but does not elaborate on format or behavior.

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 'Rank' and the resource 'supply-chain chokepoints', defining the tool's specific purpose. It distinguishes from sibling tools like 'get_supply_chain' by focusing on ranking with a heuristic.

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 implies usage for identifying critical dependencies but does not explicitly state when not to use or compare with alternatives like 'analyze_portfolio_exposure'. It provides clear context for the scoring.

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

find_common_suppliersFind common suppliersAInspect

The shared-upstream question over a set of companies: given 2-15 company ids/tickers, or a segment id (uses every company in that segment), rank suppliers by how many of the input companies they documentedly serve (e.g. 'serves 9 of 12'), with each supplier's market position and country. Also reports how many input companies had no documented suppliers at all, since that makes a low overlap number ambiguous.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax number of ranked suppliers to return (1-100, default 20).
segmentNoUse every company in this taxonomy segment id instead of an explicit list (see get_segments).
company_idsNo2-15 company ids, names, or tickers. Exactly one of company_ids/segment is required.
Behavior4/5

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

No annotations provided; description reveals ranking logic, output fields (overlap count, market position, country), and handling of uncovered companies. Provides sufficient transparency for a read-only ranking tool.

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, each adding distinct value: first states the core function, second clarifies an important nuance. No 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?

Describes return fields (ranked list with overlap counts, market position, country, uncovered count) despite missing output schema. Lacks info on error handling or limits beyond the 'limit' parameter.

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%, so baseline 3. Description adds context about the ranking logic and the ambiguity note, adding value beyond parameter 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?

Clearly states the tool ranks suppliers by overlap count for a set of companies, with details on market position and country. Distinguishes from siblings like find_chokepoints by focusing on common suppliers.

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?

Explains input format (ids/tickers or segment) and company count range, and notes ambiguity if many companies lack suppliers. Does not explicitly compare to alternatives or state when not to use.

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

find_consolidation_hotspotsFind consolidation hotspotsAInspect

Ranks taxonomy segments by M&A activity by mapping each deal's parties onto their companies' segments (matching by id, then falling back to case-insensitive name), then aggregating deal count and disclosed value per segment. Deals whose parties cannot be resolved to any dataset company are counted in unmapped_deals rather than dropped, so thinly-covered segments aren't silently underrepresented.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many ranked segments to return, 1-12 (there are 12 segments total).
sort_byNoRank segments by number of deals ('deal_count') or by summed disclosed deal value ('value').deal_count
Behavior4/5

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

With no annotations provided, the description takes on the full burden of behavioral disclosure. It explains the matching fallback (id, then case-insensitive name), the aggregation of deal count and value, and how unmapped deals are handled. This provides good transparency into the tool's behavior.

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 sentences that cover the core functionality, matching logic, and handling of unmapped deals. Every sentence adds value, and the structure front-loads the main purpose.

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 that there is no output schema, the description provides sufficient context: it mentions ranking by deal count or value, and the inclusion of unmapped_deals. It could be more explicit about the output structure, but for a low-complexity tool with two parameters, it is reasonably 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 coverage is 100%, so the schema already describes both parameters (limit, sort_by) and their allowed values. The description does not add new semantic meaning beyond what is in the schema, so the baseline score of 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 description clearly states the tool ranks taxonomy segments by M&A activity, mapping deals to segments. It uses specific verbs ('ranks', 'mapping', 'aggregating') and identifies the resource ('taxonomy segments'). While the purpose is clear, it does not explicitly differentiate from sibling tools like get_ma_activity_summary or get_segment_leaders.

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 analyzing M&A activity concentration across segments, and explains the matching logic and handling of unmapped deals. However, it does not provide explicit guidelines on when to use this tool versus alternatives, nor does it state when not to use it.

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

find_deals_by_companyFind deals by companyAInspect

Every M&A deal a company took part in, split by role (as acquirer, as target, or other). Matches by dataset id first, then falls back to case-insensitive name matching — necessary because a deal's target is frequently not itself a company in this dataset and carries a null id (e.g. AMD's acquisition of Xilinx lists acquirer id 'amd' but target id null, name 'Xilinx'). Each matched deal carries a match_method ('id' or 'name') so weaker name-only matches are visible to the caller.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyYesCompany id, exact name, or ticker to search for across all deal parties, e.g. 'amd', 'Xilinx', 'AMD'.
Behavior5/5

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

With no annotations, the description fully discloses the matching behavior (id first, then case-insensitive name), the role split, and the match_method field. It also explains the data nuance about null target IDs, providing complete transparency.

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?

Three clear sentences: what the tool does, how it matches, and what it returns. No unnecessary words, well-structured.

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?

For a single-parameter tool with no output schema, the description fully explains the return structure (deals grouped by role, with match_method) and the rationale behind the matching logic, making it complete.

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 covers the one parameter well. Description adds significant value by explaining the matching fallback, role split, and match_method, which goes beyond the schema's description of the input.

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 returns every M&A deal a company participated in, split by role (acquirer, target, other). This distinguishes it from sibling tools like get_deals which likely returns all deals.

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?

Describes the matching logic and when fallback to name matching is necessary. Could be more explicit about when to use this vs. alternatives like get_deals or get_deal, but the context is clear enough.

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

find_paths_betweenFind paths between two companiesAInspect

Every documented supply path between two companies, following supplier->customer edges (e.g. 'how does NVIDIA actually depend on Shin-Etsu'). Searches up to max_depth hops in one or both directions and returns each path as an ordered list of companies, shortest first. Capped for combinatorial safety; absence of a path means undocumented, not disproven — see edge_coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesTarget company id, name, or ticker.
fromYesStarting company id, name, or ticker.
limitNoMax number of paths to return (1-50, default 10).
directionNo'downstream': paths where `from` supplies (directly or via intermediaries) to `to`. 'upstream': paths where `from` depends on `to` as a supplier. 'either': search both directions and label each path.either
max_depthNoMaximum path length in hops (edges). Default 3, hard-capped at 4 to bound the search.
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses key behaviors: 'capped for combinatorial safety', 'shortest first', and that absence means undocumented rather than disproven. This is sufficient for a read-only query tool.

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 with an example and no fluff. Every word adds value, and the structure is front-loaded with the core purpose.

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?

For a tool with 5 parameters, no output schema, and no annotations, the description is remarkably complete. It explains the edge model, direction, limit, depth cap, and how to interpret results, leaving no critical gaps.

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?

The schema covers all 5 parameters (100% coverage), but the description adds meaningful context beyond the schema, such as the hard cap on max_depth and the meaning of direction values, and warns about interpretation of missing paths.

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 ('find'), the resource ('supply path between two companies'), and distinguishes it from sibling tools like 'find_common_suppliers' and 'get_supply_chain' by specifying directionality and path enumeration.

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 provides context for when to use (e.g., querying supply dependencies) and an example. It does not explicitly list when not to use or compare to all siblings, but the context is clear and well-differentiated.

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

find_similar_companiesFind similar companiesAInspect

Nearest structural neighbours to one focal company, ranked by a transparent Jaccard-similarity score — not a market or competitive judgment. Use search_companies or resolve_ticker first if you only have a ticker or an approximate name, then pass the resolved id here.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesFocal company id (snake_case, e.g. 'tsmc') or exact name to find neighbours for.
limitNoHow many similar companies to return, 1-25. Default 10.
Behavior3/5

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

With no annotations, the description bears full responsibility. It discloses the similarity metric (Jaccard) and non-market intent, but lacks details on error handling, response format, or deterministic behavior. Adds some value beyond a bare description but is incomplete.

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: one defining purpose and methodology, one providing usage guidance. No superfluous text; every sentence serves a distinct function. Ideal conciseness.

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 tool's simplicity (2 params, no output schema), the description covers essential aspects: similarity type, usage prerequisites, and ranking. Minor gaps like return format and error behavior are acceptable for a straightforward 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 coverage is 100%, so baseline is 3. The tool description does not add parameter-specific info beyond what the schema already provides (e.g., the example 'tsmc' and snake_case format are in the schema description for id). No additional semantic enrichment.

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 finds 'nearest structural neighbours' ranked by Jaccard similarity, contrasting with market or competitive judgments. It distinguishes from siblings like search_companies by specifying that those should be used first for ticker/name resolution.

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

Usage Guidelines5/5

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

Explicitly advises using search_companies or resolve_ticker first when only a ticker or approximate name is available, then passing the resolved id. This provides clear when-to-use guidance and excludes the tool for directly handling ambiguous inputs.

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

find_single_source_dependenciesFind single-source dependenciesAInspect

Screen for (customer, subsegment) pairs where the customer has exactly ONE documented supplier in that subsegment — the highest-value documented-concentration risk screen in the dataset. Optionally scoped to customers in one segment or country. Ranked by the sole supplier's downstream importance (its total documented customer count).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax number of single-source pairs to return (1-100, default 25).
countryNoRestrict to customers headquartered in this country (case-insensitive exact match).
segmentNoRestrict to customers in this taxonomy segment id (see get_segments). Omit for the whole dataset.
Behavior4/5

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

Since no annotations are provided, the description fully handles transparency. It states the tool is a screen (read-only), mentions ranking by downstream importance, and explains scoping. It does not mention pagination or side effects, but for a read-only tool this is acceptable.

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 only two sentences, front-loads the core purpose, and includes optional scoping and ranking details. No wasted words; every sentence adds essential information.

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 no output schema, the description provides enough context: it describes the output as ranked pairs and mentions the 'sole supplier's downstream importance'. It could be more explicit about the exact fields returned, but for a focused tool this is sufficient.

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%, so the schema already documents each parameter. The description adds value by explaining the default limit, case-insensitive exact match for country, and linking segment to the get_segments tool, enhancing understanding 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 specifies the exact resource ('(customer, subsegment) pairs') and the action ('Screen for ... where the customer has exactly ONE documented supplier'). It also distinguishes itself from sibling tools by calling it the 'highest-value documented-concentration risk screen in the dataset'.

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 mentions optional scoping by segment or country, giving clear usage guidance. However, it doesn't explicitly state when not to use this tool or directly compare to alternatives like 'find_chokepoints' or 'find_common_suppliers'.

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

get_companyGet companyAInspect

Full allowed profile for one company (by id or exact name) plus its supplier/customer supply-chain edges. Includes key_products (short list of named products/lines). Fields are deliberately limited to established/trust-checked data (see README field-discipline note).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCompany id, snake_case (e.g. 'tsmc', 'asml') or exact company name.
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the profile includes supplier/customer edges and key_products, and that data is limited to established/trust-checked fields. However, it does not address behavioral aspects like authentication needs, rate limits, error handling for missing IDs, or whether data is read-only.

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 two sentences with no redundancy, efficiently conveying the tool's function, scope (single company), and data limitations. Every word 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 tool with one parameter, no output schema, and no annotations, the description adequately covers what the tool returns (profile, edges, key_products) and data limitations. It could mention return format or error handling, but these are minor gaps given the tool's simplicity.

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 schema covers 100% of the single parameter with a clear description. The description adds context by noting that the ID can be a snake_case identifier or exact company name, with examples. This provides marginal additional clarity but does not significantly extend 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?

Description clearly states the tool retrieves the full allowed profile for one company by ID or exact name, including supply-chain edges and key products. It distinguishes from sibling tools like search_companies (which likely lists/ searches multiple companies) and get_supply_chain (which may be broader), making the purpose specific and actionable.

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?

Description specifies usage for a single company and notes that fields are limited to established/trust-checked data, providing implicit guidance. However, it does not explicitly state when to use this tool versus alternatives (e.g., for multiple companies or broader supply chains) or mention prerequisites.

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

get_country_exposureGet country exposureAInspect

Geographic concentration of the supply chain: which countries host the companies in a given segment (or across all 12 segments), ranked by company count. Answers 'how concentrated in Taiwan is advanced lithography' style questions. Country is recorded for all 615 companies.

ParametersJSON Schema
NameRequiredDescriptionDefault
segmentNoRestrict to one taxonomy segment id (see get_segments). Omit for the whole dataset.
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It explains the output is ranked by company count and adds a key completeness guarantee ('Country is recorded for all 615 companies'), which is valuable context. However, it does not specify sort order (ascending/descending) or output format, which would improve transparency further.

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 and front-loaded: the first sentence states the core functionality, the second gives a concrete example, and the third adds a data-completeness note. Every sentence earns its place with no redundant or filler content.

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 read-only tool with one optional parameter and no output schema, the description covers the essential aspects: what it measures, how results are ranked, and the data completeness guarantee. It could mention the exact output fields (country name and count) explicitly, but the current wording sufficiently implies them. Overall, it is complete enough for an agent to invoke and interpret results.

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 schema already fully documents the 'segment' parameter (restrict to one taxonomy segment, omit for whole dataset). The description adds the '12 segments' detail and reinforces that the tool can be used across all segments, but this does not significantly extend the schema's meaning. Baseline of 3 is appropriate given high schema coverage.

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's purpose: showing geographic concentration of the supply chain by country, ranked by company count, with optional segment filtering. The example question ('how concentrated in Taiwan is advanced lithography') and mention of 'all 12 segments' help distinguish it from sibling tools like list_countries or get_country_profile, though it lacks an explicit verb like 'lists' or 'returns'.

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 provides a concrete use case ('answers how concentrated in Taiwan is advanced lithography style questions') and explains the segment filtering behavior (given segment or across all 12 segments). It does not explicitly state when not to use it or mention alternatives, but the context is clear enough for an agent to select this tool for geographic concentration queries.

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

get_country_profileGet country profileAInspect

Deep profile of one country's presence in wafergraph's semiconductor & AI supply-chain dataset: company count, segment breakdown, market-position breakdown, top companies by market cap, notable monopoly/leader companies, and inbound/outbound supplier-relationship edge counts across this country's border (computed from the supply-chain graph). country is the company's HEADQUARTERS country only, not a manufacturing-footprint field. A company headquartered here may fabricate, assemble, or test elsewhere — do not read this data as production geography.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryYesCountry name, e.g. 'Taiwan', 'United States', 'South Korea'. Case-insensitive; common short forms (USA, UK, Korea) are recognized.
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It describes the tool as returning computed data (e.g., 'computed from the supply-chain graph'), implying a read operation, but does not explicitly state it is non-destructive, free of side effects, or whether authentication or rate limits apply. For a tool with no annotations, more explicit behavioral disclosure is needed.

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 paragraph of moderate length. It is front-loaded with the core purpose and lists specific data points, but could be more scannable with bullet points or shorter sentences. Every sentence adds information, but there is minor redundancy in the phrase 'inbound/outbound supplier-relationship edge counts' which is already implied by 'across this country's border'.

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?

Given the absence of an output schema, the description adequately explains what the tool returns (company count, segment breakdown, top companies, edge counts). It also clarifies a critical nuance: 'country is the company's HEADQUARTERS country only, not a manufacturing-footprint field', preventing misinterpretation. This completeness compensates for the lack of an output schema.

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?

The input schema already documents the single 'country' parameter with 100% coverage. The description adds value beyond the schema by noting case-insensitivity and recognition of common short forms (USA, UK, Korea), which helps the agent correctly format inputs.

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 provides a 'deep profile' of a country's presence in a specific semiconductor and AI supply-chain dataset, listing specific data elements (company count, segment breakdown, top companies, etc.). This is a specific verb+resource combination that distinguishes it from sibling tools like list_countries (simple list) or get_country_exposure (possibly narrower).

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 does not explicitly state when to use this tool versus alternatives (e.g., compare_countries or get_country_exposure). However, it implies use for a comprehensive single-country deep dive, and the sibling list provides context. No exclusions or conditions are mentioned, which is adequate but not exemplary.

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

get_dataset_statsGet dataset statsAInspect

The honesty tool: what this dataset actually contains and where it is thin. Live-computed per-field coverage for companies and deals, last_verified staleness distribution, supply-chain edge coverage, data source mode, and a plain-words list of known limitations. Call this before treating an absence of a company, deal, or edge as evidence it doesn't exist in the real market.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are provided, so the description bears full responsibility. It mentions 'live-computed' and lists what it covers, but does not disclose performance implications, rate limits, or whether it modifies data. The read-only nature is implied but not confirmed.

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. The first sentence labels it 'the honesty tool,' front-loading purpose. Every sentence provides distinct value: what it contains and when to call it.

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?

The description covers what the output includes (coverage, staleness, limitations). Without an output schema, the agent relies on this list. It is complete enough, but could specify return format (e.g., object keys).

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?

The tool has zero parameters and schema coverage is 100%. The description adds no parameter detail because none are needed. Per guidelines, baseline 4 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 what the tool does: provides dataset stats like per-field coverage, staleness, limitations. It uses a specific verb 'get' on 'dataset stats', and the 'honesty tool' metaphor distinguishes it from sibling tools like get_company or get_deal.

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 gives explicit when-to-use: 'Call this before treating an absence... as evidence it doesn't exist.' It provides clear context for usage, though it doesn't explicitly state when not to use or name alternatives.

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

get_dealGet M&A dealAInspect

Full record for one M&A deal by id: title, type, value, announced date, status, all parties with their resolved company refs where a dataset id exists (and the raw party name where it does not), summary, sources, and the per-deal confidence flag. Use get_deals or find_deals_by_company to find a deal id first.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDeal id as returned by get_deals/find_deals_by_company, e.g. 'amd_xilinx_2020'.
Behavior4/5

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

No annotations provided, but description thoroughly discloses what data is returned (party resolution, confidence flag, etc.). No side effects or permissions needed, so transparency is high. Slight gap: no mention of potential missing fields, but acceptable for a read 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?

Two concise sentences: first specifies what is returned, second gives usage guidance. No redundancies or filler.

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?

Complete for a simple get-by-id tool. No output schema needed because description enumerates return fields. Usage guidance ensures correct invocation.

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 covers 100% of parameters (one string 'id'). Description adds value by specifying the format with example 'amd_xilinx_2020' and source of the id (from get_deals/find_deals_by_company), exceeding the schema's description.

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 'Full record for one M&A deal by id' and enumerates returned fields (title, type, value, etc.). It distinguishes from sibling tools (get_deals, find_deals_by_company) by stating their role in finding the id first.

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

Usage Guidelines5/5

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

Explicitly instructs to 'Use get_deals or find_deals_by_company to find a deal id first', providing clear when-to-use and alternative tools.

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

get_dealsGet M&A dealsAInspect

Search wafergraph's semiconductor & AI supply-chain M&A corpus (74 acquisitions/mergers, including notable terminated attempts) by title/summary substring and/or segment. Returns a compact list capped at 30 with a total match count.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoCase-insensitive substring match against deal title and summary.
segmentNoFilter to deals where at least one named party is a company in this taxonomy segment id.
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the corpus size, result limit (30), and that it returns a total match count. It implies read-only behavior via 'Search'. No contradicts or omissions for a search tool, though it doesn't mention authentication or rate limits.

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, precise and front-loaded. Every word adds value: resource scope, corpus size, search criteria, result limit, and output features. No redundancy.

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?

Despite no output schema, the description covers return format (compact list, capped at 30, total match count). It explains both parameters adequately. Given the tool's simplicity, completeness is high.

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%: both parameters have clear schema descriptions. The description adds context about 'title/summary substring' and 'segment' but does not significantly enhance what the schema already provides. A baseline score of 3 is appropriate.

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 'Search' and identifies the specific resource: 'wafergraph's semiconductor & AI supply-chain M&A corpus (74 acquisitions/mergers, including notable terminated attempts)'. This provides a precise, differentiated purpose from sibling tools like get_company or search_companies, which focus on companies or supply chains.

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 explains that the tool searches by 'title/summary substring and/or segment', and notes result constraints ('capped at 30 with a total match count'). It implicitly guides when to use (M&A searches) but does not explicitly contrast with siblings or mention when not to use it.

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

get_ma_activity_summaryGet M&A activity summaryAInspect

Aggregate view of the full 74-deal M&A corpus: counts by year (from announced date), by deal type, and by status; total and median disclosed value; and the largest deals by value. Value figures are computed only over the subset of deals with a disclosed value_usd and are never extrapolated to cover the undisclosed ones.

ParametersJSON Schema
NameRequiredDescriptionDefault
top_nNoHow many largest-by-value deals to return, 1-25 (default 10).
Behavior5/5

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

No annotations provided, so description carries full burden. It transparently states that value figures are computed only over disclosed deals and never extrapolated, which is critical for accurate interpretation. Also mentions the corpus size of 74 deals, setting expectations.

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 clear sentences that front-load the key purpose and include critical details about value computation. Could be slightly more structured (e.g., bullet points) but very efficient with no wasted words.

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 no output schema, the description explains what the tool returns (counts, totals, median, largest deals) but lacks specifics on output format or field names. While adequate for a simple tool, it could be more complete to fully guide an agent.

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?

Only one parameter 'top_n' with full schema description (default 10, min 1, max 25). The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

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 explicitly states it provides an 'aggregate view' of the full 74-deal M&A corpus, including counts by year, deal type, status, value statistics, and largest deals. It clearly distinguishes from sibling tools by focusing on corpus-level summary rather than individual deals or other analyses.

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?

No explicit guidance on when to use this tool versus alternatives. The description implies usage for overview statistics but does not mention conditions, prerequisites, or when not to use it. Considering sibling tools like 'get_deals' or 'get_deal', this tool's purpose is somewhat clear but lacks explicit contextual cues.

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

get_segment_leadersGet segment leadersAInspect

Who runs a given layer of the semiconductor & AI supply chain: the companies at monopoly/leader market position in one taxonomy segment (or all 12 if none given), with country and market cap, plus a count of how many companies sit at each position (monopoly/leader/major/challenger/niche) in that segment. country is the company's HEADQUARTERS country only, not a manufacturing-footprint field. A company headquartered here may fabricate, assemble, or test elsewhere — do not read this data as production geography.

ParametersJSON Schema
NameRequiredDescriptionDefault
segmentNoA taxonomy segment id, e.g. 'foundry', 'eda_ip' (see get_segments). Case-insensitive. Omit to cover all 12 segments.
Behavior4/5

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

No annotations provided, so description carries full burden. It clarifies that country is headquarters only, not manufacturing footprint, and mentions the count distribution. No contradictions, but could state if read-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?

The description is detailed but each sentence adds unique information. It front-loads the main purpose. Slightly verbose with the country caveat, but still efficient.

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?

Given no output schema, the description adequately covers return fields (companies, country, market cap, position counts) and addresses potential misuse (country interpretation). Complete for a single-parameter query tool.

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%. Description adds value by explaining segment values ('foundry', 'eda_ip'), case-insensitivity, and that omitting returns all segments. This goes beyond the schema's description.

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 returns companies at monopoly/leader market positions in a taxonomy segment, with country, market cap, and counts per position. It distinguishes itself from sibling tools like get_company or filter_companies by specifying the unique output.

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?

It explains the tool's purpose and the optional segment parameter, but does not explicitly mention when to use this tool versus alternatives like get_segments or get_company. However, the context is clear enough for an AI agent.

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

get_segmentsGet segmentsAInspect

The wafergraph taxonomy: 12 top-level supply-chain segments (materials through ai_datacenter) and their subsegments, each with a live company count, plus the market_position enum. Use this to discover valid segment values for search_companies/get_deals. Segment definitions are a versioned snapshot (see data.taxonomy_snapshot_date) while company counts are computed live.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

Discloses that segment definitions are a versioned snapshot with a date field, while company counts are computed live. This is adequate for a zero-parameter read-only tool.

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, first describing content and second giving usage guidance, with no wasted words.

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?

Covers essential information: what is returned (segments, subsegments, counts, enum), and how to use the results, given no parameters and no output schema.

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?

No parameters; baseline 4 per instructions. Description adds context about what data is returned, though no parameter details needed.

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?

Clearly states it returns the wafergraph taxonomy with segments, subsegments, company counts, and market_position enum. Distinguishes from siblings by noting it provides valid segment values for search_companies/get_deals.

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

Usage Guidelines5/5

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

Explicitly guides to use this tool to discover valid segment values for other tools (search_companies/get_deals), providing clear context for when to use it.

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

get_subsegmentGet subsegmentAInspect

All companies in one segment+subsegment pair, as compact refs sorted by market cap descending, plus a market_position breakdown and a country breakdown computed over the FULL matching set (not just the returned page). Use list_subsegments first if you don't know valid segment/subsegment ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax companies to return, 1-100. Default 50.
offsetNoCompanies to skip, for paging past the first `limit`. Default 0.
segmentYesTaxonomy segment id, e.g. 'equipment_front_end' (see get_segments).
subsegmentYesTaxonomy subsegment id within that segment, e.g. 'litho' (see list_subsegments).
Behavior4/5

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

Despite no annotations, the description discloses key behaviors: returns compact refs, sorted by market cap descending, computes breakdowns over the full set (not just page). It adds context beyond the schema.

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: one comprehensive sentence covering output and behavior, one sentence with prerequisite guidance. No wasted words.

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?

With no output schema, the description fully explains the return structure (compact refs, breakdowns), sorting, pagination implication (breakdowns over full set), and prerequisites. Complete for a retrieval 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 coverage is 100%, so baseline is 3. The description adds context by referencing get_segments and list_subsegments for valid segment/subsegment IDs, but does not add new meaning beyond schema descriptions for limit/offset.

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 returns all companies in a segment+subsegment pair as compact refs sorted by market cap descending, with market_position and country breakdowns. It distinguishes from sibling tools like list_subsegments.

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

Usage Guidelines5/5

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

Explicitly advises to use list_subsegments first if segment/subsegment IDs are unknown, providing direct guidance on when to use this tool vs alternatives.

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

get_supply_chainGet supply chainAInspect

Walk the supplier/customer graph from one focal company, up to 2 tiers up (suppliers), down (customers), or both. Mirrors the chain view on wafergraph.com's Explorer. Returns companies grouped by tier plus the edges between them.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesFocal company id or name.
depthNoNumber of tiers to walk, capped at 2.
directionNoup = walk suppliers only, down = walk customers only, both = walk both directions.both
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses key behaviors: walks up to 2 tiers, direction options, returns grouped companies and edges. References the UI view for familiarity. It does not explicitly state if it is read-only, but the action implies no side effects.

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 efficient sentences, front-loaded with the main action and constraints. Every part is relevant and concise.

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 3 parameters and no output schema, the description adequately covers input (focal company), depth cap, direction, and output shape (grouped tiers + edges). It does not detail exact response format but provides sufficient guidance for selection.

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 descriptions for all 3 parameters. The description adds context about the return structure (grouped by tier plus edges) but does not add significant meaning beyond the schema. Baseline 3 is appropriate.

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 function: walk the supplier/customer graph from a focal company up to 2 tiers in up/down/both directions. It distinguishes from sibling tools like get_company (single entity) and find_chokepoints (different analysis) by focusing on graph traversal.

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 explains when to use: to walk the supply chain graph with tier limits and direction control. It mirrors a specific UI view, providing context. It does not explicitly exclude alternatives or state when not to use, but the behavior is clearly defined.

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

get_upstream_concentrationGet upstream concentrationAInspect

For one focal company: break its suppliers down by headquarters country and by segment, report an HHI concentration index (0 = spread evenly, 1 = fully concentrated in one bucket) for each dimension, and name the single most concentrated one. Always reports supplier_edge_coverage because key_suppliers is only ~58% filled dataset-wide — a company with few listed suppliers here may be under-documented, not genuinely un-dependent. country is the company's HEADQUARTERS country only, not a manufacturing-footprint field. A company headquartered here may fabricate, assemble, or test elsewhere — do not read this data as production geography.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesFocal company id (snake_case, e.g. 'tsmc') or exact company name.
Behavior4/5

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

With no annotations, the description carries full burden. It transparently discloses the data quality issue (key_suppliers only ~58% filled) and clarifies the meaning of the country field, preventing misinterpretation. No mention of destructive behavior or rate limits, but those are not relevant here.

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 front-loaded with the core purpose and each sentence adds value (behavioral caveats, clarification on country). It is slightly verbose but still efficient. A minor trim could improve conciseness.

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?

Given no output schema, the description fully explains the return values (HHI, supplier_edge_coverage, most concentrated bucket) and adds necessary context about data coverage. For a single-parameter tool, this is comprehensive and leaves no ambiguity.

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 a single parameter described as 'Focal company id (snake_case, e.g. 'tsmc') or exact company name.' The description reiterates this but adds no new semantics beyond what the schema already provides. Baseline 3 is appropriate.

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 specifies the verb 'break down and report', the resource 'suppliers of a focal company', and the results (HHI by country/segment, most concentrated bucket). This clearly distinguishes it from sibling tools like find_consolidation_hotspots or find_single_source_dependencies.

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 includes important caveats: supplier_edge_coverage is always reported due to data sparsity, and the country field refers to headquarters not manufacturing. It implies use when concentration analysis is needed, but does not explicitly state when not to use or list alternatives.

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

list_countriesList countriesAInspect

Every country in wafergraph's semiconductor & AI supply-chain dataset (29 countries across 615 companies) with company count, which segments are present there (with counts), public/private split, and priced market-cap totals. Sorted by company count descending. Optional segment filter. country is the company's HEADQUARTERS country only, not a manufacturing-footprint field. A company headquartered here may fabricate, assemble, or test elsewhere — do not read this data as production geography.

ParametersJSON Schema
NameRequiredDescriptionDefault
segmentNoRestrict to companies with this taxonomy segment id, e.g. 'foundry', 'memory' (see get_segments). Case-insensitive. Omit for all segments.
Behavior5/5

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

With no annotations, the description fully discloses the dataset scope (29 countries, 615 companies), the output contents (counts, segment presence, public/private split, market-cap totals), the sort order, and the crucial distinction between HQ country and manufacturing footprint. This goes well beyond basic tool 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 packed with useful details: dataset scope, output fields, sorting, optional filter, and a critical data interpretation warning. Each sentence contributes essential information without redundancy.

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?

The description covers the essential output contents, the dataset size, sort order, and a major caveat about HQ vs production geography. For a one-optional-param listing tool with no output schema, this is comprehensive. The only minor gap is whether the segment filter affects the country list or just counts, but the schema's 'Restrict to companies' clarifies it filters the underlying set.

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 schema already documents the only parameter 'segment' with details on case-insensitivity and examples. The description merely repeats it as 'Optional segment filter' without adding new information. Baseline 3 applies due to 100% schema coverage.

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 lists all countries in the dataset with company counts, segment presence counts, public/private split, and market-cap totals. It distinguishes from sibling tools like get_country_profile or compare_countries by emphasizing it covers every country and is sorted by count.

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 provides clear usage context: this is an overview listing sorted by company count, with an optional segment filter. It also includes an important caveat about HQ country semantics, which guides proper interpretation. However, it does not explicitly name alternative tools for single-country or comparison use cases.

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

list_subsegmentsList subsegmentsAInspect

Every subsegment across wafergraph's 12-segment taxonomy, each with its live company count and parent segment id/name, optionally filtered to one segment. Use this (or get_segments) to discover valid subsegment values before calling get_subsegment or filter_companies. Segment/subsegment names come from a versioned taxonomy snapshot; company counts are computed live and can include subsegment ids present in the company data but not yet in that snapshot (flagged in_taxonomy: false).

ParametersJSON Schema
NameRequiredDescriptionDefault
segmentNoRestrict to subsegments of this taxonomy segment id, e.g. 'materials'. Omit for all 12 segments.
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that company counts are computed live, that subsegment ids in company data may not be in the taxonomy snapshot (flagged in_taxonomy: false). This is good transparency, though it doesn't mention pagination or side effects (which are minimal for a read-only list).

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, first sentence front-loads the main action and output, second adds usage guidance and behavioral note. Every sentence adds value; no fluff.

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?

Despite no output schema, the description explains return fields (live company count, parent segment id/name) and the optional filter. It also mentions the in_taxonomy flag. This is sufficient for a list tool with simple parameters.

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%, baseline 3. Description adds an example value ('materials') and clarifies that omitting the parameter returns all 12 segments, providing helpful context beyond the schema description.

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 it lists every subsegment with live company count and parent info, optionally filtered by segment. It distinguishes from sibling get_segments by explicitly mentioning both as ways to discover subsegment values. Verb+resource+scope are specific.

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

Usage Guidelines5/5

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

Explicitly advises using this tool (or get_segments) before calling get_subsegment or filter_companies, providing a clear usage context. Mentions optional filtering and links to an alternative tool.

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

rank_by_connectivityRank companies by connectivityAInspect

Rank companies by documented supply-chain degree: customer count (downstream reach), supplier count (upstream dependence), or total. CRITICAL: degree measures how well a relationship is DOCUMENTED in this curated dataset, not how critical the company actually is — a well-covered firm can outrank a more essential but obscure one. See the caveat field in every response.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax number of companies to return (1-50, default 15).
metricNo'customers' = downstream reach, 'suppliers' = upstream dependence, 'total' = sum of both.total
countryNoRestrict to companies headquartered in this country (case-insensitive exact match).
segmentNoRestrict to companies in this taxonomy segment id (see get_segments).
Behavior4/5

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

With no annotations, the description carries full burden. It honestly discloses the ranking is based on documented degree, not actual criticality, and mentions a caveat field in responses. However, it does not discuss other behavioral traits like rate limits or side effects.

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 three sentences, front-loading purpose and then a critical caveat. Every sentence adds value, no wasted words.

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 there is no output schema, the description mentions a caveat field in every response, hinting at return structure. It covers the core ranking behavior and constraints, though it could briefly describe the output format (e.g., list of companies with scores).

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%, so the schema already describes parameters. The description adds value by explaining the meaning of the metrics (customer count, supplier count) and the documentation caveat, which goes beyond schema 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?

The description clearly states the tool ranks companies by documented supply-chain degree using customer count, supplier count, or total. It uses specific verbs ('rank') and resources ('companies by connectivity'), and the caveat distinguishes its focus from other ranking tools like rank_by_market_cap.

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 provides a critical caveat about documentation versus actual criticality, guiding appropriate use. It does not explicitly state when not to use or suggest alternatives, but the sibling tool list implies this is for connectivity-focused ranking.

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

rank_by_market_capRank by market capAInspect

Top N companies by market cap, optionally restricted to a segment/country/market_position, with the priced-coverage ratio for that scope attached — about 28% of companies dataset-wide have no market_cap_usd_b on file, so a plain top-N list without the coverage number would look more complete than it is.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many companies to return, ranked highest market cap first, 1-100. Default 10.
countryNoRestrict to companies headquartered in this country, case-insensitive.
segmentNoRestrict to one taxonomy segment id (see get_segments).
market_positionNoRestrict to companies at this market_position.
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It reveals a key trait: a coverage ratio is included to avoid misleading completeness. However, it omits other behaviors like whether results are limited to IDs or full records, pagination, or return format. The coverage warning is valuable but not comprehensive.

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 sentence that front-loads the primary action and then adds important context. It is concise but slightly lengthy; breaking into two sentences could improve readability. Still, no unnecessary words.

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 no output schema, the description explains the output includes a ranked list and coverage ratio, which is helpful. However, it does not specify the ranking order (presumably descending), what fields are returned per company, or how the coverage ratio is calculated. It covers the main point but not all details.

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?

All four parameters have descriptions in the schema (100% coverage). The description reinforces the parameter roles (optional restrictions) but adds no new semantic details beyond stating the coverage ratio, which is not a parameter. Baseline 3 is appropriate.

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 ranks top N companies by market cap with optional filters (segment, country, market_position) and notes a coverage ratio is attached. This distinguishes it from sibling tools like filter_companies or rank_by_connectivity.

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 provides context about when to use this tool (for ranked market cap lists) and includes a warning that 28% of companies lack data, implying the coverage ratio is important. It does not explicitly state when not to use or name alternatives, but the sibling list makes differentiation clear.

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

resolve_tickerResolve tickerAInspect

Batch-resolve up to 25 strings — tickers, company names, or ids, in any mix — to canonical company refs. Call this FIRST whenever you have raw user input (a ticker list, pasted names) and need valid ids before calling other tools; unresolved entries come back with up to 3 suggested close matches instead of just null.

ParametersJSON Schema
NameRequiredDescriptionDefault
queriesYesUp to 25 strings to resolve, e.g. ['NVDA', 'TSMC', 'asml']. Each may be a ticker, an exact/partial company name, or a company id.
Behavior4/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 batch limits, resolution behavior, and fuzzy matching with suggestions. However, it does not explicitly state if the operation is read-only or side-effect-free, which would improve transparency further.

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 consists of two focused sentences: the first states the core function and constraints, the second provides crucial usage guidance. Every word earns its place, and the structure is front-loaded with the most important 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?

Despite the simple schema, the description lacks details about the output format. It mentions 'canonical company refs' and 'suggested close matches' but does not specify the structure (e.g., object fields like id, name). Given no output schema, this omission reduces completeness for an agent that needs to chain results.

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?

The schema coverage is 100%, so the description adds value by specifying that each query can be a ticker, exact/partial company name, or company ID. This enriches the agent's understanding beyond the schema's generic 'string' type.

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 that the tool batch-resolves up to 25 strings (tickers, company names, or IDs) to canonical company refs. This distinguishes it from sibling tools like search_companies or get_company, which serve different purposes.

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

Usage Guidelines5/5

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

The description explicitly directs the AI agent to call this tool first when processing raw user input, and it explains that unresolved entries receive suggestions. This provides clear when-to-use guidance and implies when not to use (when IDs are already known).

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

search_companiesSearch companiesAInspect

Search wafergraph's semiconductor & AI supply-chain company dataset (615 companies across 12 segments) by name/one_liner substring and/or segment and/or country. Returns a compact list capped at 25 with a total match count. Use get_segments first if you don't know valid segment ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoCase-insensitive substring match against company name and one_liner.
countryNoFilter to companies headquartered in this country, e.g. 'Taiwan' (case-insensitive).
segmentNoFilter to companies with this taxonomy segment id, e.g. 'foundry', 'equipment_front_end' (see get_segments).
Behavior4/5

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

With no annotations provided, the description takes on the full burden of behavioral disclosure. It states that the output is a 'compact list capped at 25 with a total match count,' which gives concrete expectations about result limits and return content. It also implies read-only search behavior. However, it does not mention what happens when no filters are supplied (e.g., whether all companies are returned) or ordering, leaving some gaps.

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 two sentences long and immediately front-loads the purpose. The first sentence covers the resource and filters, and the second sentence covers the return behavior and a necessary prerequisite. Every word contributes value with no 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 that there is no output schema, the description provides a reasonable summary of the return value ('compact list capped at 25 with a total match count'). It also explains the dataset scope and how to obtain valid segment IDs. It could be more explicit about the exact fields in the returned list, but overall it covers the essential information for a search 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?

The schema description coverage is 100%, with each parameter (query, country, segment) already having a clear description. The tool description adds no additional parameter-specific semantics beyond what the schema provides, so the baseline score of 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's action ('Search') and resource ('wafergraph's semiconductor & AI supply-chain company dataset'), and specifies the search dimensions (name/one_liner substring, segment, country). It also notes the dataset size (615 companies across 12 segments). However, it does not explicitly differentiate itself from sibling tools like filter_companies or get_company, so it stops short of a 5.

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 provides a clear usage context: searching by name/one_liner, segment, and/or country. It explicitly recommends using get_segments first when segment IDs are unknown, which is a direct usage guideline. It does not explicitly state when not to use this tool, but the prerequisite and context make the intended usage clear.

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

simulate_disruptionSimulate a supply-chain disruptionAInspect

Remove one company, every company in one country, or every company in one segment from the documented supply graph and report the blast radius: which companies lose a documented supplier, how many alternative suppliers they retain in the same subsegment, and which are left with zero documented alternative (ranked first). This is a documented-edge simulation, not a forecast — see the caveat field.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax number of affected companies to return, zero-alternative ones first (1-100, default 20).
countryNoRemove every company headquartered in this country (case-insensitive exact match, e.g. 'Taiwan').
segmentNoRemove every company in this taxonomy segment id (see get_segments).
company_idNoRemove a single company by id, name, or ticker. Exactly one of company_id/country/segment is required.
Behavior5/5

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

With no annotations, the description fully carries the burden. It discloses the simulation nature, mentions a caveat field, and details what the output reports: which companies lose a supplier, retained alternatives, and zero-alternative companies ranked first. This is comprehensive behavioral transparency.

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 unnecessary words. The first sentence states what it does and the output, the second clarifies the simulation nature. Ideal conciseness.

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 no output schema, the description sufficiently explains the output. All parameters are covered. Among many sibling tools, it stands alone in its purpose. Could be slightly more explicit about which siblings complement it, but overall complete.

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?

All four parameters have schema descriptions, so baseline is high. The description adds the key constraint that exactly one of company_id/country/segment is required, and clarifies that limit sorts zero-alternative companies first. This adds value 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 it removes companies (single, country, or segment) from the supply graph and reports the blast radius. It uses specific verbs and resources, distinguishing itself from sibling tools like find_chokepoints or find_single_source_dependencies by focusing on removal simulation.

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 notes it's a documented-edge simulation, not a forecast, implying caution. However, it lacks explicit guidance on when to use this tool versus alternatives like find_chokepoints or rank_by_connectivity, nor does it state prerequisites or scenarios.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    A
    maintenance
    Universal MCP server for readonly-first access to Oracle, SQL Server, PostgreSQL, MySQL/MariaDB, SQLite, MongoDB, and Qdrant vector search.
    41
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Read-only PostgreSQL database MCP server for safely exploring schema, tables, relationships, and sample data without modification.
    10
    62
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    Read-only MCP server for querying an evidence-aware knowledge vault with temporal and provenance-aware data, supporting agent memory and semantic graph projections.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.