Skip to main content
Glama

#STDF MCP Server

A Model Context Protocol (MCP) server that enables LLMs to efficiently access, analyze, and extract information from STDF-V4 (Standard Test Data Format) files used in semiconductor testing.

Python 3.11+ License: MIT

Features

17 Specialized Tools

Metadata Extraction (6 tools):

  • extract_file_overview - Quick file assessment and key identifiers

  • extract_test_configuration - Hardware setup and test environment

  • extract_yield_summary - Test results analysis and yield calculation

  • extract_facility_details - Manufacturing context and facility information

  • extract_program_metadata - Test program and software version details

  • extract_test_parameters - Comprehensive parameter listing with limits

Record Extraction (7 tools):

  • extract_pir_prr_records - Part Information/Results Records

  • extract_ptr_records - Parametric Test Records with filtering

  • extract_ftr_records - Functional Test Records

  • extract_hbr_records - Hardware Bin Records

  • extract_sbr_records - Software Bin Records

  • extract_sdr_records - Site Description Records

  • extract_mrr_record - Master Results Record

Test Analysis (3 tools):

  • extract_test_parameter_summary - Statistical summaries with test suite filtering

  • extract_filtered_data - Excel extraction with multi-site support

  • extract_test_time - Test execution time analysis with site filtering

Yield Analysis (1 tool):

  • extract_per_unit_yield - Per-unit bin data extraction to CSV (PART_ID, HW Bin, SW Bin)

Key Capabilities

  • STDF-V4 Format Support: Comprehensive support for STDF-V4 specification

  • High Performance: Handles files up to 2GB with <512MB memory through streaming parser

  • Multi-Site Support: Parallel test site data extraction and analysis

  • Test Suite Filtering: Filter by test name, number, or suite with regex support

  • CSV/Excel Export: Generate analysis-ready datasets

  • Automatic Validation: Built-in file integrity validation

  • TDD Development: Comprehensive test coverage with real STDF files

Related MCP server: Claude Data Buddy

Quick Start

Installation

# Clone the repository
git clone https://github.com/your-org/stdf-mcp.git
cd stdf-mcp

# Install the package
pip install -e .

Running the MCP Server

# Start the MCP server
python -m stdf_mcp.simple_server

The server will start and listen for MCP protocol connections on stdin/stdout.

Configuration for Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "stdf": {
      "command": "python",
      "args": ["-m", "stdf_mcp.simple_server"],
      "cwd": "/path/to/stdf-mcp"
    }
  }
}

Replace /path/to/stdf-mcp with the actual path to your installation.

Usage Examples

Extract File Overview

# In Claude with MCP server connected
"Please extract the file overview from TestCases/example.stdf"

Returns: Lot ID, wafer count, device info, test dates, and file statistics.

Extract Yield Data

"Extract per-unit yield data from TestCases/production_test.stdf"

Generates CSV with columns: PART_ID, HW Bin, SW Bin

  • Output location: TestCases/Output/production_test_YieldAnalysis_20251108_123045.csv

Filter Parametric Data

"Extract PTR records for test 'VDD_CURRENT' from TestCases/wafer_test.stdf"

Returns filtered parametric test results with statistics.

Test Time Analysis

"Extract test time analysis for site 1 from TestCases/multi_site.stdf"

Generates CSV with per-unit test execution times and summary statistics.

Tool Reference

Metadata Tools

Tool

Description

Output

extract_file_overview

File summary and identifiers

JSON

extract_test_configuration

Test setup and hardware config

JSON

extract_yield_summary

Pass/fail counts and yield %

JSON

extract_facility_details

Manufacturing facility info

JSON

extract_program_metadata

Test program version/config

JSON

extract_test_parameters

All test parameters with limits

JSON

Record Extraction Tools

Tool

Description

Filters

Output

extract_pir_prr_records

Part info and results

Site

JSON

extract_ptr_records

Parametric tests

Test name/number/suite, Site

JSON

extract_ftr_records

Functional tests

Test name/number/suite, Site

JSON

extract_hbr_records

Hardware bins

Site

JSON

extract_sbr_records

Software bins

Site

JSON

extract_sdr_records

Site descriptions

Site

JSON

extract_mrr_record

Master results

-

JSON

Analysis Tools

Tool

Description

Key Features

Output

extract_test_parameter_summary

Statistical summaries

Test suite filtering, Min/Max/Avg/StdDev

JSON

extract_filtered_data

Filtered data export

Test suite filtering, Multi-site

Excel (.xlsx)

extract_test_time

Test execution time

Site filtering, Statistics

CSV

extract_per_unit_yield

Per-unit bin data

3-column format (no PorF)

CSV

Requirements

  • Python: 3.11 or higher

  • Dependencies:

    • mcp>=1.0.0 - Model Context Protocol SDK

    • numpy>=1.24.0 - Statistical calculations

    • matplotlib>=3.6.0 - Visualization (future)

    • openpyxl>=3.1.0 - Excel file generation

Development

Setup Development Environment

# Install with development dependencies
pip install -e ".[dev]"

# Install pre-commit hooks (optional)
pip install pre-commit
pre-commit install

Running Tests

# Run all tests
pytest

# Run with coverage report
pytest --cov=src/stdf_mcp --cov-report=html

# Run specific test categories
pytest -m unit          # Unit tests only
pytest -m integration   # Integration tests only
pytest -m contract      # Contract tests only

Code Quality

# Format code
black src/ tests/

# Type checking
mypy src/

# Linting
flake8 src/ tests/

# Run all quality checks
black src/ tests/ && flake8 src/ tests/ && mypy src/ && pytest

Project Structure

stdf-mcp/
├── src/stdf_mcp/          # Main package
│   ├── stdf/              # STDF parser and record definitions
│   ├── tools/             # MCP tool implementations
│   │   ├── metadata/      # Metadata extraction tools
│   │   ├── records/       # Record extraction tools
│   │   ├── test_summary/  # Test parameter summary
│   │   ├── filtered_data/ # Filtered data extraction
│   │   ├── test_time/     # Test time analysis
│   │   └── yield_analysis/# Yield data extraction
│   └── simple_server.py   # MCP server implementation
├── tests/                 # Test suite
│   ├── unit/             # Unit tests
│   ├── integration/      # Integration tests
│   └── contract/         # Contract tests
├── TestCases/            # Sample STDF files
│   └── Output/           # Generated outputs (gitignored)
├── specs/                # Feature specifications
├── pyproject.toml        # Package configuration
└── README.md             # This file

Performance Targets

Operation

Target

Notes

Metadata extraction

<5 seconds

All 6 metadata tools

Record extraction

<10 seconds

For 1GB files

Filtered data

<30 seconds

With Excel generation

Test time analysis

<10 seconds

Multi-site support

Yield extraction

<5 seconds

10,000 units

Memory usage

<512MB

For 2GB files

Scope

Supported

  • ✅ STDF-V4 format exclusively

  • ✅ Package/final test data

  • ✅ Files up to 2GB

  • ✅ Streaming/chunked processing

  • ✅ Multi-site test configurations

  • ✅ Test suite filtering with regex

  • ✅ CSV and Excel output formats

Not Supported

  • ❌ STDF-V3 files (rejected with clear error)

  • ❌ Wafer test data (package test only)

  • ❌ Data retention between sessions

  • ❌ Authentication/authorization

  • ❌ Direct database access

Testing

The project uses a comprehensive TDD approach:

  • Unit Tests: Core STDF-V4 parsing and data models (80%+ coverage)

  • Integration Tests: End-to-end workflows with real STDF files

  • Contract Tests: MCP tool API compliance verification

  • TestCases Integration: Real STDF-V4 files from TestCases/ directory

  • Output Standards: Results stored in TestCases/Output/ with timestamped naming

Troubleshooting

Common Issues

Issue: ModuleNotFoundError: No module named 'stdf_mcp'

  • Solution: Install the package with pip install -e .

Issue: MCP server not appearing in Claude Desktop

  • Solution: Check configuration file path and ensure cwd points to the correct directory

Issue: INVALID_STDF_FORMAT error

  • Solution: Verify file is STDF-V4 format. STDF-V3 is not supported.

Issue: NO_PRR_RECORDS error for yield extraction

  • Solution: File contains no Part Results Records. Verify it's a package test file.

Contributing

Contributions are welcome! Please:

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Follow PEP8 and run code quality checks

  4. Write tests for new functionality

  5. Ensure all tests pass (pytest)

  6. Commit your changes (git commit -m '[NewFeature] Add amazing feature')

  7. Push to the branch (git push origin feature/amazing-feature)

  8. Open a Pull Request

Commit Message Format

Use one of these prefixes:

  • [NewFeature] - New functionality

  • [Enhancement] - Improvements to existing features

  • [BugFix] - Bug fixes

  • [Document] - Documentation updates

  • [WIP] - Work in progress

License

MIT License - see LICENSE file for details.

Acknowledgments

Support

For issues, questions, or contributions:


Version: 0.1.0 Status: Alpha Last Updated: 2025-11-08

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    B
    maintenance
    Enables conversational data analysis of Excel/CSV files through natural language queries, powered by 395 Excel functions via HyperFormula and multi-provider AI. Supports advanced analytics, bulk operations, financial modeling, and large file processing with intelligent chunking.
    35
    26 npm
    36
    MIT