Skip to main content
Glama
joakes90

vin-decode-mcp

by joakes90

vin-decode-mcp

선별된 NHTSA vPIC 데이터베이스에서 VIN을 디코딩하고 차량 데이터를 조회하세요 — Model Context Protocol 기반.

LLM이 NHTSA의 vPIC 데이터를 사용하여 차량 식별 번호(VIN)를 디코딩하고 제조사, 모델, 차량 제원을 조회할 수 있는 독립형 오프라인 지원 MCP 서버입니다.

pip install vin-decode-mcp
vin-decode-mcp  # Start the MCP server

왜?

  • 오프라인: 인터넷 연결 없이 작동합니다. 선별된 SQLite 데이터베이스(~4.5 MB)는 자체 포함되어 있습니다.

  • 속도 제한 없음: vPIC API를 직접 호출하는 것과 달리 로컬 쿼리는 무제한입니다.

  • 빠름: SQLite 데이터베이스에 대한 패턴 매칭은 마이크로초 단위로 완료됩니다.

  • LLM 네이티브: 풍부한 docstring, 스키마 리소스, 구조화된 JSON 출력을 제공하는 도구입니다.

  • 오픈 데이터: NHTSA vPIC는 미국 정부의 오픈 데이터로, 무료이며 API 키가 필요 없습니다.

Related MCP server: VIN MCP

데이터 범위

  • 미국 시장 차량, 모델 연도 1981년 이후

  • 534개 제조사, 9,175개 모델, 88,140개 VIN 패턴

  • 승용차, 트럭, MPV, 오토바이, 오프로드 차량

  • 제외: 버스, 트레일러, 저속 차량, 미완성 차량

제원 정보만 포함 — 이 데이터베이스에는 소유권, 사고, 주행거리계, 또는 도난 이력이 포함되지 않습니다(이러한 정보는 NMVTIS/상용 데이터 소스가 필요).

빠른 시작

설치

pip install vin-decode-mcp

또는 소스에서:

git clone https://github.com/<org>/vin-decode-mcp.git
cd vin-decode-mcp
pip install -e .

실행

# Default: stdio transport (for Claude Desktop, Cursor, etc.)
vin-decode-mcp

# HTTP transport
vin-decode-mcp --transport http --port 8765

Claude Desktop에서 사용

다음 파일에 추가하세요: ~/.config/claude-desktop/config.json (macOS에서는 ~/Library/Application Support/claude-desktop/config.json)

{
  "mcpServers": {
    "vin-decode": {
      "command": "vin-decode-mcp"
    }
  }
}

Claude Desktop을 다시 시작하세요. 이제 모델이 대화에서 VIN 디코딩 도구를 사용할 수 있습니다.

사용 가능한 도구

도구

설명

decode_vin(vin, model_year?)

VIN을 디코딩 → 제조사, 모델, 연도, 차량 유형

decode_partial_vin(pattern, limit?)

* 와일드카드로 부분 VIN 매칭

get_al_makes()

모든 차량 제조사 나열

get_models_for_make(make, vehicle_type?)

특정 제조사의 모델 나열

get_model_years(make, model)

생산 연도 범위 가져오기

get_wmi_info(wmi)

WMI를 디코딩 → 제조사 정보

get_vehicle_types()

사용 가능한 차량 유형 나열

get_make_vehicle_types(make)

특정 제조사의 차량 유형 나열

예시

>>> decode_vin("1HGCM82633A004352")
{
  "vin": "1HGCM82633A004352",
  "make": "Honda",
  "model": "Accord",
  "year": 2003,
  "vehicle_type": "Passenger Car",
  "wmi": "1HG",
  "confidence": "full"
}

>>> get_model_years("Porsche", "911")
{"year_from": 1981, "year_to": null}

>>> decode_partial_vin("5UXWX7C5*BA")
[{"make": "BMW", "model": "X5", "year": 2011, "confidence": "partial_match"}]

데이터베이스

다운로드

컴파일된 데이터베이스는 Hugging Face에서 호스팅됩니다:

데이터셋: https://huggingface.co/datasets/vin-decode-mcp/vpic-database 직접 다운로드: https://huggingface.co/datasets/vin-decode-mcp/vpic-database/resolve/main/vpic_decode.db

사용자 지정 데이터베이스 경로

# Set via environment variable
export VIN_MCP_DB_PATH=/path/to/vpic_decode.db
vin-decode-mcp

# Or via CLI flag
vin-decode-mcp --db-path /path/to/vpic_decode.db

다시 빌드

데이터베이스는 NHTSA의 독립형 PostgreSQL 데이터베이스에서 약 6~12개월마다 다시 빌드됩니다:

# Requires PostgreSQL installed (pg_restore, psql)
bash tools/rebuild.sh

# Or step by step:
# 1. Download NHTSA data: https://vpic.nhtsa.dot.gov/Downloads/
# 2. Convert to SQLite
python3 tools/convert_to_sqlite.py --input dump.sql --output vpic_lite.db
# 3. Build curated database
python3 tools/build_db.py --source vpic_lite.db --output vpic_decode.db

Hugging Face 설정 지침은 docs/hf-setup.md를 참조하세요.

데이터 소스 및 저작자 표시

차량 데이터는 NHTSA의 vPIC — 미국 고속도로교통안전청(National Highway Traffic Safety Administration)의 Vehicle Product Information Catalog 및 Vehicle Listing에서 가져온 것입니다. NHTSA는 미국 정부 기관입니다.

  • 데이터 라이선스: 미국 정부 저작물(공개 도메인)

  • API: 키 또는 등록 불필요

  • 갱신 주기: ~6-12개월

  • 오류 신고: manufacturerinfo@dot.gov 또는 1-888-399-3277로 NHTSA Manufacturer Helpdesk에 문의하세요.

아키텍처

User / LLM Agent
       │
       ▼  MCP (stdio / HTTP)
┌──────────────────┐
│  vin-decode-mcp  │  pip install vin-decode-mcp
│  (FastMCP server)│  env: VIN_MCP_DB_PATH=/path/to/vpic_decode.db
└────────┬─────────┘
         │  sqlite3 (mode=ro)
         ▼
┌──────────────────┐
│ vpic_decode.db     │  ~4.5 MB, curated
│  (Hugging Face)  │  makes + models + WMI + VIN patterns
└──────────────────┘
         ▲
         │  rebuilds from
┌──────────────────┐
│ NHTSA vPIC PG DB │  69 MB, official
│ (NHTSA website)  │  refreshed 2x/year
└──────────────────┘

프로젝트 구조

vin-decode-mcp/
├── src/vin_decode_mcp/
│   ├── __init__.py              # Package init
│   ├── server.py                # FastMCP server with all tools
│   ├── database.py              # SQLite layer + VIN decoder
│   └── cli.py                   # CLI entry point
├── tools/
│   ├── build_db.py              # Pipeline orchestrator
│   ├── convert_to_sqlite.py     # PG → SQLite converter
│   ├── rebuild.sh               # Full rebuild script
│   ├── build_db.py              # Curated DB builder (orchestrator for the pipeline)
│   ├── curation.json            # Make/model curation rules
│   ├── overlay.json             # Grey-import classic additions
│   └── README.md                # Rebuild instructions
├── tests/
│   ├── conftest.py              # Test fixtures
│   ├── test_decode.py           # VIN decode canary tests
│   ├── test_server.py           # Bulk lookup tests
│   └── fixtures/
│       ├── build_test_db.py     # Test database builder
│       └── test_vpic.db         # Minimal test database
├── .github/workflows/
│   ├── ci.yml                   # CI: test + lint
│   └── rebuild-db.yml           # Scheduled DB rebuild
├── docs/
│   └── hf-setup.md              # Hugging Face setup guide
├── pyproject.toml
├── LICENSE
├── README.md
└── vpic_pare_down.py            # Pare-down pipeline (original)

개발

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

# Run tests
python -m pytest tests/ -v

# Lint
python -m ruff check src/ tests/

# Format
python -m ruff format src/ tests/

다른 솔루션과의 비교

vin-decode-mcp

NHTSA vPIC API

vin-mcp (NLMA)

전송 방식

로컬 SQLite

HTTP REST

HTTP REST

오프라인

속도 제한

아니요

데이터 크기

~4.5 MB

해당 없음

해당 없음

VIN 필드

제조사 + 모델 + 연도

~130개 필드

~130개 필드

제조사/모델

✅ 534/9,175

✅ 전체 카탈로그

✅ 전체 카탈로그

설치

pip install

없음

pip install

라이선스

MIT License — 코드는 MIT, 데이터는 미국 정부 공개 도메인입니다.

자세한 내용은 LICENSE를 참조하세요.

기여

기여를 환영합니다! 다음을 따라주세요:

  1. Fork하고 기능 브랜치를 만드세요.

  2. 새 기능에 대한 테스트를 추가하세요.

  3. CI가 통과하는지 확인하세요.

  4. 풀 리퀘스트를 제출하세요.

주요 변경 사항이 있다면 먼저 이슈를 열어 접근 방식을 논의하세요.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Enables access to comprehensive vehicle information including VIN decoding, license plate OCR, vehicle history checks (theft, title, salvage records), market valuations, specifications, and warranty data for vehicles across North America and Europe.
    6
    61
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides comprehensive vehicle reports by aggregating data from multiple public sources to decode VINs, check recalls, and view safety ratings. It enables users to validate VINs locally and retrieve technical specifications, fuel economy, and vehicle photos without requiring API keys.
    18
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Exposes a connected-vehicle OBD-II/telematics platform to AI agents, enabling vehicle health scoring, live data queries, DTC decoding, maintenance prediction, and gated remote commands via a pluggable data layer.
    9

View all related MCP servers

Related MCP Connectors

  • Machine-readable utilities and datasets for AI agents.

  • Neutral freight reference + validation layer for AI agents: ADR, HS, UN/LOCODE, freight math

  • 500+ deterministic tools for AI agents: math, conversion, validation, hashing, encoding, date/time.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/joakes90/vin-decode-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server