README.md•2.81 kB
# 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](https://www.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.
## Pré-requisitos
- [Node.js](https://nodejs.org/)
- [npm](https://www.npmjs.com/) (geralmente instalado com o Node.js)
## Instalação
1. Clone este repositório:
```bash
git clone <URL_DO_REPOSITORIO>
cd keplacas-mcp
```
2. Instale as dependências do projeto:
```bash
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:
```bash
npm run dev
```
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:
```bash
npm run build
```
Os arquivos compilados serão salvos no diretório `dist/`. Após o build, você pode iniciar o servidor usando o arquivo principal gerado:
```bash
node dist/index.js
```
## Ferramenta Exposta: `scrape_plate_data`
O servidor expõe uma única ferramenta via MCP.
- **Nome**: `scrape_plate_data`
- **Descriçã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:
```json
{
"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](https://www.npmjs.com/package/@modelcontextprotocol/sdk)**: Para a implementação do servidor MCP.
- **[Puppeteer](https://pptr.dev/)**: Para automação e scraping da web.
- **[TypeScript](https://www.typescriptlang.org/)**: Para tipagem estática e funcionalidades modernas de JavaScript.