Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

Wafergraph MCP

REMOTE · WAFERGRAPH-MCP.JWPALM99.WORKERS.DEV · SCANNED AUG 3

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

+1 this week 62 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security46
Transport & Reachability100
Schema Quality & AI Usability71
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4259 tokens (~141/item across 30 items; 30 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · wafergraph-mcp.jwpalm99.workers.dev

# add to Claude Code
claude mcp add --transport http com-wafergraph-wafergraph-mcp https://wafergraph-mcp.jwpalm99.workers.dev/mcp
# ~/.codex/config.toml
[mcp_servers.com-wafergraph-wafergraph-mcp]
url = "https://wafergraph-mcp.jwpalm99.workers.dev/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-wafergraph-wafergraph-mcp": {
      "type": "remote",
      "url": "https://wafergraph-mcp.jwpalm99.workers.dev/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-wafergraph-wafergraph-mcp --url https://wafergraph-mcp.jwpalm99.workers.dev/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-wafergraph-wafergraph-mcp:
    url: "https://wafergraph-mcp.jwpalm99.workers.dev/mcp"
// mcp.json
{
  "mcpServers": {
    "com-wafergraph-wafergraph-mcp": {
      "type": "http",
      "url": "https://wafergraph-mcp.jwpalm99.workers.dev/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 −2
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

  • 29 Jul 26 −1
    • Schema quality: pass → fail functional
    • Server version: 1.1.1 → 1.2.0 functional
    • New tool “find_common_suppliers” functional
    • New tool “find_consolidation_hotspots” functional
    • New tool “find_deals_by_company” functional
    • New tool “find_paths_between” functional
    • New tool “find_similar_companies” functional
    • New tool “find_single_source_dependencies” functional
    • New tool “get_country_profile” functional
    • New tool “get_dataset_stats” functional
    • New tool “get_deal” functional
    • New tool “get_segment_leaders” functional
    • New tool “get_subsegment” functional
    • New tool “get_upstream_concentration” functional
    • New tool “list_countries” functional
    • New tool “list_subsegments” functional
    • New tool “rank_by_connectivity” functional
    • New tool “rank_by_market_cap” functional
    • New tool “resolve_ticker” functional
    • New tool “simulate_disruption” functional
    • New tool “get_ma_activity_summary” functional
    • New tool “compare_countries” functional
    • New tool “filter_companies” functional
  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 61

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://wafergraph-mcp.jwpalm99.workers.dev/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=jwpalm99.workers.dev CN=WE1,O=Google Trust Services,C=US 17 Jun 2026 15 Sept 2026 ECDSA 256 ECDSA-SHA256 5b746fbec83937f913a7aeddb248d304
SANs: jwpalm99.workers.dev, *.jwpalm99.workers.dev
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC insecure

Validation of wafergraph-mcp.jwpalm99.workers.dev. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
dev. present 60074 8 Verified
workers.dev. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://wafergraph-mcp.jwpalm99.workers.dev/mcp Verified 200
http (plaintext) http://wafergraph-mcp.jwpalm99.workers.dev/mcp Inconclusive 406
MCP tools — 30 exposed · ~4,259 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
analyze_portfolio_exposure ~92

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.

NameTypeReqDescription
holdingsarrayyesTickers (e.g. ['NVDA','TSM']) or company ids. Up to 40.

No output schema declared.

No examples provided.

compare_companies ~85

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.

NameTypeReqDescription
idsarrayyesCompany ids (snake_case, e.g. ['tsmc','samsung_foundry']) or exact names. 2-6 of them.

No output schema declared.

No examples provided.

compare_countries ~133

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.

NameTypeReqDescription
countriesarrayyes2-5 country names, e.g. ['Taiwan','South Korea','United States']. Case-insensitive; common short forms recognized.

No output schema declared.

No examples provided.

filter_companies ~411

Structured multi-criteria screen over all 565 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.

NameTypeReqDescription
countrystringHeadquarters country, exact match, case-insensitive, e.g. 'Japan'.
has_tickerbooleantrue = only companies with a public ticker on file, false = only companies without one.
limitintegerMax rows to return, 1-100. Default 25.
market_positionstringExact market_position: monopoly | leader | major | challenger | niche.
max_market_cap_usd_bnumberMaximum 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_bnumberMinimum market cap in USD billions (inclusive). Only ~72% of companies have a cap on file — see the response note when this is set.
offsetintegerRows to skip, for paging past the first `limit`. Default 0.
publicbooleantrue = only publicly traded companies, false = only private ones. Omit for both.
segmentstringExact taxonomy segment id, e.g. 'foundry' (see get_segments).
sort_bystringSort field. 'market_cap' sorts descending with unpriced companies last; 'name'/'country' sort ascending. Default 'market_cap'.
subsegmentstringExact taxonomy subsegment id, e.g. 'litho' (see list_subsegments).

No output schema declared.

No examples provided.

find_chokepoints ~108

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.

NameTypeReqDescription
limitintegerHow many to return (1-25, default 10).
segmentstringRestrict to one taxonomy segment id (see get_segments).

No output schema declared.

No examples provided.

find_common_suppliers ~176

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.

NameTypeReqDescription
company_idsarray2-15 company ids, names, or tickers. Exactly one of company_ids/segment is required.
limitintegerMax number of ranked suppliers to return (1-100, default 20).
segmentstringUse every company in this taxonomy segment id instead of an explicit list (see get_segments).

No output schema declared.

No examples provided.

find_consolidation_hotspots ~138

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.

NameTypeReqDescription
limitintegerHow many ranked segments to return, 1-12 (there are 12 segments total).
sort_bystringRank segments by number of deals ('deal_count') or by summed disclosed deal value ('value').

No output schema declared.

No examples provided.

find_deals_by_company ~158

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.

NameTypeReqDescription
companystringyesCompany id, exact name, or ticker to search for across all deal parties, e.g. 'amd', 'Xilinx', 'AMD'.

No output schema declared.

No examples provided.

find_paths_between ~224

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.

NameTypeReqDescription
directionstring'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.
fromstringyesStarting company id, name, or ticker.
limitintegerMax number of paths to return (1-50, default 10).
max_depthintegerMaximum path length in hops (edges). Default 3, hard-capped at 4 to bound the search.
tostringyesTarget company id, name, or ticker.

No output schema declared.

No examples provided.

find_similar_companies ~117

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.

NameTypeReqDescription
idstringyesFocal company id (snake_case, e.g. 'tsmc') or exact name to find neighbours for.
limitintegerHow many similar companies to return, 1-25. Default 10.

No output schema declared.

No examples provided.

find_single_source_dependencies ~141

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).

NameTypeReqDescription
countrystringRestrict to customers headquartered in this country (case-insensitive exact match).
limitintegerMax number of single-source pairs to return (1-100, default 25).
segmentstringRestrict to customers in this taxonomy segment id (see get_segments). Omit for the whole dataset.

No output schema declared.

No examples provided.

get_company ~88

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).

NameTypeReqDescription
idstringyesCompany id, snake_case (e.g. 'tsmc', 'asml') or exact company name.

No output schema declared.

No examples provided.

get_country_exposure ~87

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 565 companies.

NameTypeReqDescription
segmentstringRestrict to one taxonomy segment id (see get_segments). Omit for the whole dataset.

No output schema declared.

No examples provided.

get_country_profile ~150

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.

NameTypeReqDescription
countrystringyesCountry name, e.g. 'Taiwan', 'United States', 'South Korea'. Case-insensitive; common short forms (USA, UK, Korea) are recognized.

No output schema declared.

No examples provided.

get_dataset_stats ~85

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_deal ~113

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.

NameTypeReqDescription
idstringyesDeal id as returned by get_deals/find_deals_by_company, e.g. 'amd_xilinx_2020'.

No output schema declared.

No examples provided.

get_deals ~97

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.

NameTypeReqDescription
querystringCase-insensitive substring match against deal title and summary.
segmentstringFilter to deals where at least one named party is a company in this taxonomy segment id.

No output schema declared.

No examples provided.

get_ma_activity_summary ~105

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.

NameTypeReqDescription
top_nintegerHow many largest-by-value deals to return, 1-25 (default 10).

No output schema declared.

No examples provided.

get_segment_leaders ~158

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.

NameTypeReqDescription
segmentstringA taxonomy segment id, e.g. 'foundry', 'eda_ip' (see get_segments). Case-insensitive. Omit to cover all 12 segments.

No output schema declared.

No examples provided.

get_segments ~84

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_subsegment ~161

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.

NameTypeReqDescription
limitintegerMax companies to return, 1-100. Default 50.
offsetintegerCompanies to skip, for paging past the first `limit`. Default 0.
segmentstringyesTaxonomy segment id, e.g. 'equipment_front_end' (see get_segments).
subsegmentstringyesTaxonomy subsegment id within that segment, e.g. 'litho' (see list_subsegments).

No output schema declared.

No examples provided.

get_supply_chain ~111

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.

NameTypeReqDescription
depthintegerNumber of tiers to walk, capped at 2.
directionstringup = walk suppliers only, down = walk customers only, both = walk both directions.
idstringyesFocal company id or name.

No output schema declared.

No examples provided.

get_upstream_concentration ~163

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.

NameTypeReqDescription
idstringyesFocal company id (snake_case, e.g. 'tsmc') or exact company name.

No output schema declared.

No examples provided.

list_countries ~143

Every country in wafergraph's semiconductor & AI supply-chain dataset (29 countries across 565 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.

NameTypeReqDescription
segmentstringRestrict to companies with this taxonomy segment id, e.g. 'foundry', 'memory' (see get_segments). Case-insensitive. Omit for all segments.

No output schema declared.

No examples provided.

list_subsegments ~141

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`).

NameTypeReqDescription
segmentstringRestrict to subsegments of this taxonomy segment id, e.g. 'materials'. Omit for all 12 segments.

No output schema declared.

No examples provided.

rank_by_connectivity ~174

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.

NameTypeReqDescription
countrystringRestrict to companies headquartered in this country (case-insensitive exact match).
limitintegerMax number of companies to return (1-50, default 15).
metricstring'customers' = downstream reach, 'suppliers' = upstream dependence, 'total' = sum of both.
segmentstringRestrict to companies in this taxonomy segment id (see get_segments).

No output schema declared.

No examples provided.

rank_by_market_cap ~155

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.

NameTypeReqDescription
countrystringRestrict to companies headquartered in this country, case-insensitive.
limitintegerHow many companies to return, ranked highest market cap first, 1-100. Default 10.
market_positionstringRestrict to companies at this market_position.
segmentstringRestrict to one taxonomy segment id (see get_segments).

No output schema declared.

No examples provided.

resolve_ticker ~126

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.

NameTypeReqDescription
queriesarrayyesUp to 25 strings to resolve, e.g. ['NVDA', 'TSMC', 'asml']. Each may be a ticker, an exact/partial company name, or a company id.

No output schema declared.

No examples provided.

search_companies ~145

Search wafergraph's semiconductor & AI supply-chain company dataset (565 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.

NameTypeReqDescription
countrystringFilter to companies headquartered in this country, e.g. 'Taiwan' (case-insensitive).
querystringCase-insensitive substring match against company name and one_liner.
segmentstringFilter to companies with this taxonomy segment id, e.g. 'foundry', 'equipment_front_end' (see get_segments).

No output schema declared.

No examples provided.

simulate_disruption ~190

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.

NameTypeReqDescription
company_idstringRemove a single company by id, name, or ticker. Exactly one of company_id/country/segment is required.
countrystringRemove every company headquartered in this country (case-insensitive exact match, e.g. 'Taiwan').
limitintegerMax number of affected companies to return, zero-alternative ones first (1-100, default 20).
segmentstringRemove every company in this taxonomy segment id (see get_segments).

No output schema declared.

No examples provided.