Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Read-only MCP server for wafergraph.com's semiconductor & AI supply-chain data: 30 tools, no auth.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://wafergraph-mcp.jwpalm99.workers.dev/mcpRun this in your terminal
claude mcp add --transport http wafergraph https://wafergraph-mcp.jwpalm99.workers.dev/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"wafergraph": {
"url": "https://wafergraph-mcp.jwpalm99.workers.dev/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"wafergraph": {
"type": "http",
"url": "https://wafergraph-mcp.jwpalm99.workers.dev/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://wafergraph-mcp.jwpalm99.workers.dev/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain wafergraph.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.2.0) reached the registry 3 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, FactLot
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Cited CRE facts and deterministic calculators for agents: rent, CAM, debt sizing, IRR, parcel IDs.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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
| Tool | Purpose |
|---|---|
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. |
| Tool | Purpose |
|---|---|
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. |
| Tool | Purpose |
|---|---|
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. |
| Tool | Purpose | ||
|---|---|---|---|
find_paths_between({from, to, max_depth?}) | Documented supply paths between two companies, shortest first. | ||
| `simulate_disruption({company_id? | country? | segment?})` | Blast radius if a company, country, or segment goes offline, ranking those left with no documented alternative. |
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?})` | Suppliers shared across an arbitrary set of companies, with the share of the set each serves. |
| Tool | Purpose |
|---|---|
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.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.
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. claude-code@2.1.0).
Sessions are not users — one person reconnecting counts several times. Nothing recorded here can identify who you are.
claude mcp add --transport http wafergraph https://mcp.wafergraph.com/mcp
Settings → Connectors → Add custom connector → paste:
https://mcp.wafergraph.com/mcp
{
"mcpServers": { "wafergraph": { "url": "https://mcp.wafergraph.com/mcp" } } }
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).
npm install
npm run dev # wrangler dev, local npm run typecheck # tsc --noEmit npm run deploy # wrangler deploy
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.