loading…
Search for a command to run...
loading…
Exposes semiconductor wafer analysis tools including wafer maps, P-charts, and statistical plots, enabling AI assistants to visualize and analyze wafer test dat
Exposes semiconductor wafer analysis tools including wafer maps, P-charts, and statistical plots, enabling AI assistants to visualize and analyze wafer test data.
An MCP (Model Context Protocol) server that exposes semiconductor wafer analysis tools to AI assistants such as Claude Desktop.
Given a wafer test data file (CSV or ZIP), it renders:
All tools are accessible via a single HTTP endpoint, so any MCP-compatible client can use them.
| Binary Map | Property Map | P-Chart |
|---|---|---|
![]() |
![]() |
![]() |
| Tool | Description |
|---|---|
run_wafer_analysis |
Full analysis in one call: summary + binary map + all PIN maps + P-charts |
get_wafer_info |
Basic wafer summary (yield, pass/fail counts, PIN columns) |
plot_wafer_bin |
Binary pass/fail wafer map (BIN=0 → teal, else → black) |
plot_wafer_property |
Continuous-value heatmap for a single PIN column (blue → red) |
plot_pchart |
Normal probability plot per wafer for a PIN column |
CSV or ZIP (containing exactly one CSV) with columns:
BIN, X, Y, WAFER_ID, PIN_1, PIN_2, ..., PIN_N
BIN = 0 → pass, otherwise failX, Y → die coordinates on the wafer gridPIN_* → continuous measurement valuesProperty maps and P-chart boundaries use IQR-based bounds to make subtle variations visible:
sigma = (P75 - P25) / 1.35
IQR_L = P50 - 6 × sigma
IQR_H = P50 + 6 × sigma
docker build -t wafer-mcp .
docker run -p 8001:8001 wafer-mcp
The server is now available at http://localhost:8001/mcp.
To analyze your own data files, mount a volume:
docker run -p 8001:8001 -v /absolute/path/to/data:/data wafer-mcp
# then pass file_path="/data/your_wafer.zip" when calling tools
Requirements: Python 3.10+
pip install -r requirements.txt
python server.py
A sample dataset is bundled with the project at sample_data/sample_1.zip.
| Location | Path |
|---|---|
| Local | ./sample_data/sample_1.zip |
| Docker | /app/sample_data/sample_1.zip |
Quick smoke test (Docker):
# inside the container the sample lives at /app/sample_data/sample_1.zip
# call any tool with this file_path to verify everything works
The server uses Streamable HTTP transport, so use the url form in claude_desktop_config.json:
{
"mcpServers": {
"wafer-map": {
"url": "http://localhost:8001/mcp"
}
}
}
Steps:
run_wafer_analysis| Param | Type | Default | Description |
|---|---|---|---|
file_path |
str | required | Path to .csv or .zip file |
pin_columns |
list[str] | None | None | Subset of PIN columns to plot; None = all |
target_size |
int | 300 | Output image pixel size |
get_wafer_info| Param | Type | Default | Description |
|---|---|---|---|
file_path |
str | required | Path to .csv or .zip file |
plot_wafer_bin| Param | Type | Default | Description |
|---|---|---|---|
file_path |
str | required | Path to .csv or .zip file |
target_size |
int | 300 | Output image pixel size |
plot_wafer_property| Param | Type | Default | Description |
|---|---|---|---|
file_path |
str | required | Path to .csv or .zip file |
pin_column |
str | "PIN_1" |
PIN column to visualise |
target_size |
int | 450 | Output image pixel size |
data_l |
float | None | None | Override lower bound of colour scale |
data_h |
float | None | None | Override upper bound of colour scale |
plot_pchart| Param | Type | Default | Description |
|---|---|---|---|
file_path |
str | required | Path to .csv or .zip file |
pin_column |
str | "PIN_1" |
PIN column to plot |
target_size |
int | 300 | Output image pixel size |
.
├── server.py # MCP server entry point
├── requirements.txt # Python dependencies
├── Dockerfile # Container definition
├── sample_data/
│ └── sample_1.zip # Bundled sample wafer dataset
├── tools/
│ ├── workflow/
│ │ └── analyze_wafer.py # Orchestrates full analysis
│ ├── information_read/
│ │ └── read_wafer_info.py # Parse CSV/ZIP and compute yield
│ ├── wafer_map/
│ │ ├── wafer_bin_binary_plot.py # Binary map renderer (PySide6)
│ │ └── wafer_item_property_plot.py # Property heatmap renderer (PySide6)
│ └── statistic_plot/
│ └── pchart_plot.py # P-chart renderer (matplotlib)
└── pchart/
└── PchartReportWidget.py # Legacy Qt widget (reference only)
MIT
Выполни в терминале:
claude mcp add wafer-map-mcp -- npx CSA PROJECT - FZCO © 2026 IFZA Business Park, DDP, Premises Number 31174 - 001
Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.