Supports Git for version control and project distribution via repository cloning
Built on Node.js runtime to execute the web scraping operations and serve the MCP protocol
Uses npm for package management and dependency installation
Uses Puppeteer for web automation and scraping to extract vehicle data from keplaca.com, handling dynamic content loading before data extraction
Utilizes TypeScript for type-safe implementation of the MCP server functionality
Keplaca Scraper (keplacas-mcp)
Este projeto é uma ferramenta de linha de comando que expõe um serviço de scraping de dados de veículos através do Model-Context Protocol (MCP). A ferramenta busca informações no site keplaca.com utilizando uma placa de veículo brasileira como entrada.
Funcionalidades
Scraping de Dados Veiculares: Obtém informações detalhadas de um veículo, como marca, modelo, ano, cor e chassi, a partir de sua placa.
Servidor MCP: Implementa um servidor MCP, permitindo que qualquer cliente compatível utilize a funcionalidade de scraping como uma ferramenta.
Automação com Puppeteer: Utiliza o Puppeteer para controlar um navegador headless, garantindo que o conteúdo dinâmico do site seja carregado antes da extração dos dados.
Related MCP server: Brazilian CEP MCP
Pré-requisitos
Instalação
Clone este repositório:
git clone <URL_DO_REPOSITORIO> cd keplacas-mcpInstale as dependências do projeto:
npm install
Uso
O projeto pode ser executado de duas formas:
1. Modo de Desenvolvimento
Para executar o servidor em modo de desenvolvimento com hot-reload, utilize:
Este comando iniciará o servidor MCP, que ficará aguardando por requisições de um cliente.
2. Build para Produção
Para compilar o código TypeScript para JavaScript, execute:
Os arquivos compilados serão salvos no diretório dist/. Após o build, você pode iniciar o servidor usando o arquivo principal gerado:
Ferramenta Exposta: scrape_plate_data
O servidor expõe uma única ferramenta via MCP.
Nome:
scrape_plate_dataDescrição: Busca dados de um veículo a partir de uma placa brasileira no site keplaca.com.
Input:
plate(string): O número da placa a ser consultada (ex:NZQ4477).
Output: Um objeto JSON contendo os dados do veículo, como:
{ "marca": "TOYOTA", "modelo": "COROLLA XEI20FLEX", "ano": "2012", "anoModelo": "2013", "cor": "PRETA", "cilindrada": "1986", "potencia": "153", "combustivel": "Álcool/Gasolina", "chassi": "***********12345", "motor": "********", "passageiros": "5", "uf": "SP", "municipio": "SAO PAULO" }
Dependências Principais
@modelcontextprotocol/sdk: Para a implementação do servidor MCP.
Puppeteer: Para automação e scraping da web.
TypeScript: Para tipagem estática e funcionalidades modernas de JavaScript.