Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chip Supply Chain MCP

An MCP server that lets anyone point their own AI agent (Claude Code, Claude Desktop, Cursor, …) at Georgetown CSET's ETO Advanced Semiconductor Supply Chain dataset and ask questions about it in natural language.

It's powered by SLayer: the dataset is modeled as a semantic layer (measures / dimensions / filters / joins), and SLayer's built-in MCP server exposes that layer as tools. The connecting agent decides what to ask; SLayer compiles each request to SQL and runs it. No LLM key or model is needed on this side — the user's own agent provides the intelligence.

Your AI agent ──MCP──▶ SLayer MCP server ──▶ SQLite (the 5 ETO CSVs)
   (query / inspect / models_summary / search tools)   grounded, no hand-written SQL

What the agent gets

Once connected, the agent can call SLayer's tools, including:

Tool What it does
models_summary Lists the available models and their descriptions
inspect Full detail of a model: columns, measures, joins
query Runs a structured query (measures / dimensions / filters / order)
query_nested Multi-stage queries
search Retrieval over model/entity metadata

The data model

provision is the central fact table — one row = a provider's market-share % of a supply-chain node in a year. It joins to providers (countries / companies) and inputs (the tools / materials / processes), which joins to stages (Design / Fabrication / Assembly-Testing-Packaging). Models live in slayer_models.py with descriptions on every model and column, so the agent picks correct fields instead of guessing.

Quick start (local, stdio — recommended, free)

Each user runs the server locally; their agent talks to it over stdio. You need uv installed (curl -LsSf https://astral.sh/uv/install.sh | sh).

git clone <this-repo> chip-mcp && cd chip-mcp

# 1. Build the database + semantic models (writes ./slayer_data).
uv run --with motley-slayer python setup_mcp.py

setup_mcp.py prints the exact connect commands with absolute paths. They look like:

Claude Code

claude mcp add chip-supply-chain -- \
  uvx --from motley-slayer slayer mcp --storage /ABS/PATH/chip-mcp/slayer_data

Claude Desktop / Cursor / generic — see examples/claude_desktop_config.json (replace the path with the one setup_mcp.py printed), then restart the client.

Then ask your agent:

"List the available models, then tell me who dominates EUV lithography tools."

Re-run setup_mcp.py if you move the folder — the datasource records an absolute path to the SQLite file.

Hosted (shared SSE endpoint)

Host it once so non-technical users connect an agent to a single URL.

On Replit: import this repo and press Run. The .replit config runs setup_mcp.py then slayer serve, which mounts the MCP server over SSE. Agents connect to:

https://<your-repl-url>/mcp/sse

See examples/mcp_remote_sse.json for client config, or for Claude Code:

claude mcp add chip-supply-chain --transport sse --url https://<your-repl-url>/mcp/sse

Run it anywhere else with:

pip install -r requirements.txt
python setup_mcp.py
slayer serve --storage ./slayer_data --host 0.0.0.0 --port 8080

⚠️ Security: the hosted endpoint is unauthenticated and SLayer's MCP also exposes write tools (create_model, edit_datasource, save_memory, …). For a public deployment, put it behind auth / a reverse proxy, or prefer the local stdio mode where each user runs their own copy. The underlying data is read-only either way (a SQLite snapshot), so worst case is someone editing the in-memory model definitions.

Files

Path What it is
data/*.csv The five ETO source files
data/build_db.py Builds the typed SQLite DB from the CSVs
slayer_models.py Datasource + 5 SLayer models (descriptions, measures, joins); build_storage()
setup_mcp.py Builds everything and prints connect instructions
examples/ Ready-to-edit MCP client configs
.replit, replit.nix Hosted SSE deployment

Notes & limits

  • Data is a snapshot (mostly 2019–2024 figures from CSET / TechInsights); it isn't live.
  • share_provided is a percentage of a node's global market.
  • Some provision rows are countries, some are companies (provider_type).
  • Data © Georgetown CSET (ETO). SLayer is MIT-licensed.

About

MCP server (SLayer) to chat with Georgetown CSET's ETO semiconductor supply-chain dataset from any AI agent

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages