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.
| 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_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"wafer-map-mcp": {
"command": "npx",
"args": []
}
}
}