Wafergraph MCP

com.wafergraphPublished by wafergraph.comv1.2.0Updated Oct 24, 2026

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

VerifiedStreamable HTTPWeb executableFinanceData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Read-only MCP server for wafergraph's semiconductor and AI supply-chain dataset: company profiles, supplier/customer graph, and M&A deals.

What you can do
  • Search, filter and compare companies across a 12-segment semiconductor and AI supply-chain taxonomy, with ticker resolution and market-cap ranking
  • Explore the supplier/customer graph: walk tiers, find paths between companies, rank connectivity, and list shared suppliers
  • Analyze structure and risk: chokepoints, single-source dependencies, upstream concentration, disruption blast radius, and portfolio exposure
  • Break down geography and segments: country profiles, country comparisons, segment leaders, and subsegment listings
  • Search and summarize M&A deals, consolidation hotspots, and per-company deal history
  • Check dataset coverage and known limitations before relying on an absence of data
When to use it
Useful when answering questions about semiconductor and AI supply-chain companies, their suppliers and customers, geographic concentration, chokepoint or single-source risk, or M&A activity in the sector. It suits research and analysis rather than operational or transactional work.
Requirements
A remote Streamable HTTP endpoint; no authentication, API key or local runtime is needed. Any MCP client that supports Streamable HTTP can connect.
Before you install
All tools are read-only and no credentials are requested. The server says it records only aggregate counters and client software name/version, not queries or identities. Results are a curated public dataset with partial coverage (for example, many companies lack market cap), and the server states it is not investment advice and is not an official wafergraph product.

Installation

In SourceWeft

  1. Open Wafergraph MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.wafergraph%2Fwafergraph-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "wafergraph": {
      "type": "http",
      "url": "https://wafergraph-mcp.jwpalm99.workers.dev/mcp"
    }
  }
}

README

wafergraph-mcp

A remote MCP server exposing wafergraph.com's semiconductor & AI supply-chain dataset — 565 companies across 12 segments, the supplier/customer graph, and a 74-deal M&A corpus — as 30 read-only tools any MCP-speaking AI agent can call directly.

No auth, no cost, read-only. Streamable HTTP transport at /mcp. Human landing page at /.

Live: https://mcp.wafergraph.com

Tools

ToolPurpose
search_companies({query?, segment?, country?})Name/description search with segment & country filters. Compact list, capped at 25, with a total match count.
get_company({id})Full allowed profile for one company (by id or name) plus its supplier/customer edges.
get_segments()The 12-segment taxonomy (+ subsegments, market_position enum) with live company counts.
get_supply_chain({id, direction, depth})Walk the supplier/customer graph from a focal company up to 2 tiers up ("up"), down ("down"), or "both".
get_deals({query?, segment?})Search the M&A deal corpus. Compact list, capped at 30, with a total match count.
compare_companies({ids})Side-by-side comparison of 2-6 companies on aligned fields, plus their shared and unique supply-chain counterparties.
get_country_exposure({segment?})Geographic concentration: which countries host a segment's companies, ranked by count, with disclosed market-cap coverage.
find_chokepoints({segment?, limit?})Rank chokepoints by downstream dependency weighted by market position. Transparent heuristic, not a proprietary risk model.
analyze_portfolio_exposure({holdings})Map tickers or ids to segment/country exposure and flag suppliers that several holdings share. Not investment advice.

Screening & discovery

ToolPurpose
filter_companies({...})Structured multi-criteria screen (segment, subsegment, country, position, public, market-cap band, has_ticker) with sorting and pagination.
list_subsegments({segment?})Every subsegment with its live company count and parent segment.
get_subsegment({segment, subsegment})All companies in one subsegment with position and country breakdowns.
find_similar_companies({id})Nearest structural neighbours by Jaccard similarity over segment tags and shared supply-chain counterparties.
rank_by_market_cap({segment?, country?, limit?})Largest companies by disclosed market cap, always with its coverage ratio.
resolve_ticker({inputs})Batch-resolve up to 25 tickers, names, or ids to canonical companies, with suggestions on a miss.

Geography & structure

ToolPurpose
list_countries({segment?})Every country with company counts, segment mix, and public/private split.
get_country_profile({country})One country in depth, including how many supply relationships cross its border in each direction.
compare_countries({countries})2-5 countries side by side, with uniquely-present and dominant segments.
get_segment_leaders({segment?})Who occupies the monopoly and leader positions in a segment.
get_upstream_concentration({id})One company's supplier mix by country and segment with an HHI index and edge-coverage context.

Graph analysis

ToolPurpose
find_paths_between({from, to, max_depth?})Documented supply paths between two companies, shortest first.
`simulate_disruption({company_id?country?
find_single_source_dependencies({segment?, country?})Customer/subsegment pairs served by exactly one documented supplier.
rank_by_connectivity({metric?, limit?})Rank by documented degree. Measures documentation density, not real-world criticality.
`find_common_suppliers({ids?segment?})`

Deals & dataset

ToolPurpose
get_deal({id})One M&A deal in full, with parties resolved to companies where possible.
find_deals_by_company({id})Every deal a company took part in, split by role, with the match method exposed.
get_ma_activity_summary()Deal counts and disclosed values by year, type, and status.
find_consolidation_hotspots()Which segments are consolidating, with unresolvable deals counted rather than dropped.
get_dataset_stats()What this dataset contains, how fresh it is, and where it is thin. Call it to learn what the data cannot answer.

Every response includes:

  • data — the payload.
  • attribution — compiled-by/sources block (SEC, Wikidata, Wikipedia, GLEIF) plus a company_url back to the full sourced profile on wafergraph.com.
  • links — { report, newsletter } pointing back to wafergraph.com and its hand-scored Vendor Exposure Review.

Field discipline

Company records include key_products as of 2026-07-19. That field in wafergraph's own dataset was originally bulk-drafted with a known fabrication/mis-scope history and was withheld here until a verified deep-fill landed upstream; it now has (confirmed live) 564/565 companies filled, with only sk_enpulse empty (defunct, absorbed into SKC 2025-12-23). Every field shipped here — name, ticker, market_cap_usd_b, segments, one_liner, market_position, key_products, key_customers/key_suppliers graph edges, deals — is established, trust-checked data. Fields are still whitelisted (not blacklisted) in src/types.ts (toAllowedCompany), so anything added upstream later stays excluded by default until deliberately added.

What this server records

Counters only, never identities. No IPs, no query contents or tool arguments, no user identifiers, no cookies, no PII. Specifically: how many times each tool was called per day, how many distinct sessions opened per day, and which client software connected (the clientInfo name and version your MCP client already sends in the initialize handshake, e.g. [email protected]).

Sessions are not users — one person reconnecting counts several times. Nothing recorded here can identify who you are.

Install

Claude Code

claude mcp add --transport http wafergraph https://mcp.wafergraph.com/mcp

claude.ai (custom connector)

Settings → Connectors → Add custom connector → paste:

https://mcp.wafergraph.com/mcp

Generic MCP client (Streamable HTTP)

json
{  "mcpServers": {    "wafergraph": {      "url": "https://mcp.wafergraph.com/mcp"    }  }}

Architecture

Cloudflare Worker, TypeScript, built on the agents package's McpAgent (Durable-Object-backed Streamable HTTP MCP server — free on the Workers Free plan; SQLite storage backend). See CLAUDE.md for the file map and the data-source-mode decision (hybrid live-fetch + one vendored snapshot, discovered by E2E-testing the upstream endpoints rather than assumed).

Development

bash
npm installnpm run dev       # wrangler dev, localnpm run typecheck # tsc --noEmitnpm run deploy    # wrangler deploy

Attribution & licensing

See ATTRIBUTION.md for the full source/license breakdown (SEC EDGAR public domain, Wikidata CC0, Wikipedia CC BY-SA 4.0 — attribution required, GLEIF). Short version: free to use, credit wafergraph.com, not financial advice.

This is an independent project built against wafergraph.com's public dataset; it is not an official wafergraph product.

Source: README.md at commit bbf62f8

Tools

30

search_companies

Search companies

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.

Parametersquerycountrysegment

get_company

Get company

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

Parametersidrequired

get_segments

Get segments

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.

Takes no parameters.

get_supply_chain

Get supply chain

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.

Parametersidrequireddepthdirection

get_deals

Get M&A deals

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.

Parametersquerysegment

compare_companies

Compare companies

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.

Parametersidsrequired

get_country_exposure

Get country exposure

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.

Parameterssegment

find_chokepoints

Find chokepoints

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.

Parameterslimitsegment

analyze_portfolio_exposure

Analyze portfolio exposure

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.

Parametersholdingsrequired

filter_companies

Filter companies

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.

Parameterslimitoffsetpubliccountrysegmentsort_byhas_tickersubsegmentmarket_positionmax_market_cap_usd_bmin_market_cap_usd_b

list_subsegments

List subsegments

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

Parameterssegment

get_subsegment

Get subsegment

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.

Parameterslimitoffsetsegmentrequiredsubsegmentrequired

find_similar_companies

Find similar companies

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.

Parametersidrequiredlimit

rank_by_market_cap

Rank by market cap

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.

Parameterslimitcountrysegmentmarket_position

resolve_ticker

Resolve ticker

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.

Parametersqueriesrequired

list_countries

List countries

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.

Parameterssegment

get_country_profile

Get country profile

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.

Parameterscountryrequired

compare_countries

Compare countries

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.

Parameterscountriesrequired

get_segment_leaders

Get segment leaders

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.

Parameterssegment

get_upstream_concentration

Get upstream concentration

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.

Parametersidrequired

find_paths_between

Find paths between two companies

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.

Parameterstorequiredfromrequiredlimitdirectionmax_depth

simulate_disruption

Simulate a supply-chain disruption

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.

Parameterslimitcountrysegmentcompany_id

find_single_source_dependencies

Find single-source dependencies

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

Parameterslimitcountrysegment

rank_by_connectivity

Rank companies by connectivity

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.

Parameterslimitmetriccountrysegment

find_common_suppliers

Find common suppliers

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.

Parameterslimitsegmentcompany_ids

get_deal

Get M&A deal

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.

Parametersidrequired

find_deals_by_company

Find deals by company

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.

Parameterscompanyrequired

get_ma_activity_summary

Get M&A activity summary

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.

Parameterstop_n

find_consolidation_hotspots

Find consolidation hotspots

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.

Parameterslimitsort_by

get_dataset_stats

Get dataset stats

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.

Takes no parameters.

Version history

1
  1. v1.2.0LatestSep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.