Polovnjak MCP
Polovnjak MCP
Un servidor MCP multi-proveedor para mercados de vehículos usados. Los agentes obtienen una superficie de herramientas unificada: búsqueda, detalles de anuncios, estadísticas de precios, historial de precios y alertas de búsqueda guardadas por usuario, respaldada por adaptadores de mercado conectables. Adaptadores incluidos: polovniautomobili.com (id de fuente pa) y mojauto.rs (id de fuente ma), ambos de Serbia.
Los usuarios inician sesión con Google mediante el flujo estándar MCP OAuth 2.1; las alertas son privadas por usuario. Cada anuncio que el hub observa (de las búsquedas de cualquier usuario, muestreo de estadísticas o comprobaciones de alertas) se registra en una "memoria de mercado" compartida en Postgres que alimenta consultas de historial de precios y tendencias que ningún mercado individual ofrece.
Arquitectura
Adaptadores (
src/adapters/) implementan una interfaz comúnSourceAdapter:search,getListing,getMakesModels, además de indicadores de capacidades. Cada adaptador traduce los filtros canónicos a la consulta de su proveedor y mapea los resultados de vuelta a un modelo de anuncio canónico. Los anuncios llevan ids compuestos comopa:12345678oma:3554254. Los nombres de marca se resuelven por alias por fuente ("VW" y "Volkswagen" funcionan en todas partes); los filtros que una fuente no puede expresar se informan comowarningspor fuente en los resultados.Herramientas (
src/tools/) se distribuyen entre los adaptadores y fusionan los resultados, etiquetando todo con su fuente. Las categorías cubren coches, motocicletas, furgonetas, camiones ligeros/pesados, autobuses, remolques, caravanas, maquinaria, tractores, barcos y bicicletas.Grabador (
src/recorder.ts) inserta o actualiza cada anuncio observado enlistingsy añade una fila enprice_observationsen la primera aparición o cambio de precio.Autenticación (
src/auth/) es un servidor de autorización OAuth 2.1 autoalojado (registro dinámico de clientes, PKCE, tokens de refresco) con Google OIDC como capa de identidad. Los tokens se almacenan con hash en Postgres.Almacenamiento es Postgres mediante Drizzle ORM; las migraciones se ejecutan automáticamente al inicio.
Related MCP server: Vehicle Database MCP Server
Inicio rápido (Docker Compose)
Crea un cliente OAuth de Google en Google Cloud Console (tipo "Aplicación web") con URI de redirección autorizada
<PUBLIC_URL>/auth/google/callback(por ejemplo,http://localhost:8321/auth/google/callbackpara uso local).Configura el entorno:
cp .env.example .env
# set GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET (and PUBLIC_URL for non-local deployments)Inicia todo (servidor MCP + Postgres + FlareSolverr):
docker compose up -d --buildApunta tu cliente MCP a
http://localhost:8321/mcp. El cliente descubrirá los metadatos OAuth, se registrará y abrirá una ventana del navegador para iniciar sesión con Google. Todo lo demás es por usuario.
Para una prueba local rápida sin credenciales de Google, establece AUTH_MODE=none — el servidor omite la autenticación y usa un único usuario de desarrollo local.
Herramientas
Herramienta | Propósito |
| Fuentes de mercado registradas con cobertura y indicadores de capacidades. Los ids de fuente se usan en el parámetro |
| Una página de anuncios normalizados por fuente, fusionados y etiquetados por fuente. Filtros: categoría, marca/modelos, rangos de precio/año/kilometraje/potencia, combustible, carrocería, caja de cambios, región/ciudad, indicadores de estado. Los anuncios incluyen |
| Detalle completo de un anuncio por id compuesto ( |
| Taxonomía por fuente: marcas, modelos de una marca, regiones, valores de filtro aceptados, resolución de nombres de ciudad. |
| Instantánea del mercado en vivo: min/p25/mediana/promedio/p75/max + desglose por año, por fuente y combinado, muestreado de hasta |
| Respondido a partir de las observaciones registradas por el propio hub: la línea de tiempo de precios de un anuncio individual (detección de cambios de precio) o una tendencia mes a mes para un segmento (marca/modelo/año). La cobertura crece con el uso. |
| Búsquedas guardadas por usuario en una o más fuentes. |
Habilidad de agente
El repositorio incluye una habilidad de agente en .cursor/skills/car-market-hub/SKILL.md que enseña a los agentes LLM cómo usar este servidor de manera efectiva (flujos de trabajo de herramientas, trampas), con guías de conexión por cliente para OpenAI, Claude, LibreChat y Cursor en clients.md. Cursor la recoge automáticamente; para otras plataformas, copia el directorio de la habilidad en la ubicación de habilidades de esa plataforma (por ejemplo, .claude/skills/) o pega su contenido en las instrucciones del agente.
Flujo de alertas
create_watchcon un nombre y filtros (opcionalmente restringido asourcesespecíficas): las coincidencias actuales se convierten en la línea base.Más tarde (por ejemplo, una consulta programada: "revisa mis alertas de coches"),
check_watchesdevuelve solo los anuncios que aparecieron desde entonces, por alerta y por fuente.
Añadir un nuevo adaptador de mercado
Crea
src/adapters/<name>/e implementa la interfazSourceAdapterde src/adapters/types.ts: elige unidcorto y estable (usado en los ids compuestos de anuncios), traduce los filtros canónicos deSearchQuerya la consulta de tu proveedor y mapea los resultados brutos a las formas canónicasListingSummary/ListingDetailde src/domain/listing.ts.Regístralo en src/server.ts con
registerAdapter(...).
La distribución de búsquedas, las alertas, el grabado y el historial de precios recogen la nueva fuente automáticamente.
Variables de entorno
Variable | Valor por defecto | Significado |
|
| Puerto de escucha HTTP. |
|
| URL base pública; emisor OAuth y host de devolución de llamada de Google. |
|
| Cadena de conexión a Postgres. |
|
|
|
| — | Credenciales OAuth de Google (requeridas en modo |
| — | Instancia opcional de FlareSolverr para el respaldo ante desafíos de Cloudflare. |
|
| TTL de caché de respuestas ascendentes. |
|
| Máximo de solicitudes ascendentes concurrentes por adaptador. |
|
| Tiempo de espera de solicitud ascendente. |
Desarrollo local
npm install
docker compose up -d postgres # or point DATABASE_URL at your own Postgres
AUTH_MODE=none npm run dev # server on http://localhost:8080/mcpCambios de esquema: edita src/db/schema.ts y luego ejecuta npm run db:generate para generar una nueva migración en drizzle/ (se aplica automáticamente al inicio).
Notas y límites
polovniautomobili.com no tiene API pública; el adaptador lee los endpoints de datos Next.js del sitio usando suplantación de TLS de Chrome (impit), con FlareSolverr como respaldo ante desafíos de Cloudflare. Úsalo de manera responsable y respeta los términos de servicio del sitio.
Los precios por debajo de 100 EUR se tratan como "precio bajo petición" y se excluyen de estadísticas y observaciones.
Las comprobaciones de alertas escanean las dos primeras páginas de resultados (~50 anuncios más recientes) por fuente.
get_price_historyrefleja solo los anuncios observados a través de este hub: es una muestra creciente, no el mercado completo.La implementación anterior de un solo proveedor se mantiene como referencia en
old/(no forma parte de la compilación).
This server cannot be installed
Maintenance
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
- AlicenseAqualityDmaintenanceAggregates and searches used car listings from multiple sources (Cars.com, Autotrader, KBB) with price, mileage, dealer info, and optional CarFax-style filters (1-owner, no accidents, personal use).13MIT
- AlicenseCqualityDmaintenanceEnables 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.6611MIT

Vincario MCP Serverofficial
FlicenseNot gradedqualityDmaintenanceEnables AI assistants to decode VINs, check stolen vehicle databases, and retrieve market valuations through natural language.1- AlicenseAqualityBmaintenanceEnables turning photos and observed facts into a ready-to-publish Leboncoin ad, with comparable search, asking-price statistics, category lookup, local drafts, and browser form automation that stops one click short of publishing until approved.23MIT
Related MCP Connectors
Vehicle data for AI: VIN decoder, automotive specs, stolen checks, valuation and way more.
VIN decoding and European vehicle data for automotive workflows.
SERPRO RADAR: Vehicle, official-source lookup. Platform-hosted, pay per query with prepaid credit.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/cvele/polovnjak-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server