Skip to main content
Glama
joakes90

vin-decode-mcp

by joakes90

vin-decode-mcp

Decodifica VIN y consulta datos de vehículos desde una base de datos curada de NHTSA vPIC, impulsada por el Model Context Protocol.

Un servidor MCP independiente y capaz de funcionar sin conexión para que los LLM puedan decodificar númer os de identificación del vehículo (VIN) y consultar marcas, mode los y especificaciones de vehículos utilizando datos de vPIC de NHTSA.

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

¿Por qué?

  • Sin conexión: Funciona sin acceso a internet. La base de datos SQLite curada (~4.5 MB) es autónoma.

  • Sin límites de peticiones: A diferencia de llamar directamente a la API de vPIC, las consultas locales son ilimitadas.

  • Rápido: La coincidencia de patrones con la base de datos SQLite toma microsegundos.

  • Nativo para LLM: Herramientas con docstrings enriquecidos, recursos de esque ma y salida JSON estructurada.

  • Datos abiertos: NHTSA vPIC es datos abiertos del gobierno de EE. UU.: gratuito, sin necesid ad de clave API.

Related MCP server: VIN MCP

Cobertura de datos

  • Vehículos del mercado de EE. UU., año de mode lo 1981 y posteriores

  • 534 marcas, 9,175 mode los, 88,140 patrones de VIN

  • Automóviles de pasajeros, camiones, MPV, motocicletas, vehículos todo terrenos

  • Excluye: autobuses, remolques, vehículos de baja velocid ad, vehículos incompletos

Solo especificaciones: esta base de datos no incluye historial de títuo, accidentes, odómetro ni robos (eso requiere fuentes de datos NMVTIS/comerciales).

Inicio r ápido

Instalación

pip install vin-decode-mcp

O desde el códi go fuente:

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

Ejecución

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

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

Uso con Claude Desktop

Añade lo siguiente a ~/.config/claude-desktop/config.json (o ~/Library/Application Support/claude-desktop/config.json en macOs):

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

Reinicia Claude Desktop. El mode lo ahora puede usar las her ramientas de decodificación de VIN en las conversaciones.

Her ramientas disponibles

Her ramienta

Descripción

decode_vin(vin, model_year?)

Decodificar un VIN → marca, modelo, año, tipo de vehículo

decode_partial_vin(pattern, limit?)

Coincidir con un VIN parcial mediante comodines *

get_all_makes()

Listar todas las marcas de vehículos

get_models_for_make(make, vehicle_type?)

Listar los mode los de una marca

get_model_years(make, model)

Obtener el rango de años de producción

get_wmi_info(wmi)

Decodificar un WMI → información del fabricante

get_vehicle_types()

Listar los tipos de vehículo disponibles

get_make_vehicle_types(make)

Listar los tipos de vehículo de una marca

Ejemplos

>>> 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"}]

Base de datos

Descarga

La base de datos compilada está alojada en Hugging Face:

Conjunto de datos: https://hugingface.co/datasets/vin-decode-mcp/vpic-database Descarga directa: https://hugingface.co/datasets/vin-decode-mcp/vpic-database/resolve/main/vpic_decode.db

Ruta personalizada de la base de datos

# 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

Reconstrucción

La base de datos se reconstruye a partir de las bases de datos PostgresQL independientes de NHTSA aproximadamente cada 6-12 meses:

# 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

Consulta docs/hf-setup.md para las instrucciones de configuración de Hugging Face.

Fuente de datos y atribución

Los datos de vehículos provienen de vPIC de NHTSA — el Vehicle Product Information Catalog y el Vehicle Listing de la National Highway Traffic Safety Administration. NHTSA es una agencia del gobierno de los Estados Unidos.

  • Licencia de datos: trabjo del gobierno de EE. UU. (dominio púbico)

  • API: no se requiere clave ni registro

  • Frecuencia de actualización: ~6-12 meses

  • Informar errores: contacta con el servicio de asistencia al fabricante de NHTSA en manufacturerinfo@dot.gov o al 1-888-399-3277

Arquitectura

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
└──────────────────┘

Estructura del proyecto

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)

Desarrol lo

# 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/

Comparación con otras soluciones

vin-decode-mcp

NHTSA vPIC API

vin-mcp (NLMA)

Transporte

SQLite local

HTTP REST

HTTP REST

Sin conexión

Límite de peticiones

No

Tamaño de los datos

~4.5 MB

N/A

N/A

Campos de VIN

Marca + Modelo + Año

~130 campos

~130 campos

Marcas/Modelos

✅ 534/9,175

✅ Catálogo completo

✅ Catálogo completo

Instalación

pip install

Ninguno

pip install

Licencia

Licencia MIT — El código es MIT. Los datos son de dominio público del gobierno de EE. UU.

Consulta LICENSE para más detalles.

Contribuir

¡Las contribuciones son bienvenidas! Por favor:

  1. Haz un fork y crea una rama de funcionalidad

  2. Añade pruebas para la nueva funcionalidad

  3. Asegúrate de que el CI pase

  4. Envía una pull request

Para cambios importantes, abre un issue primero para discutir el enfoque.

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