2026 · IA · HERRAMIENTAS

LEGO MCP Server

Permite que un agente de IA consulte el número real de una pieza LEGO en vez de inventarlo.

Un monorepo de servidores MCP de solo lectura que dan a los agentes de IA datos verificados en lugar de suposiciones. El primero, LEGO Catalog, expone el catálogo de Rebrickable (65.000 piezas, 275 colores, 28.000 sets) desde una instantánea SQLite de 49 MB, por Streamable HTTP. Está pensado para que un agente consulte el ID de una pieza en vez de inventarlo. Un proyecto personal, sin fines comerciales.

Visitar LEGO MCP Server

Por qué importa

  • Los modelos de lenguaje conversan bien sobre LEGO, pero fallan con los números de pieza. Si les pides "un ladrillo 2×4 gris azulado oscuro", a menudo responden con seguridad y con un ID equivocado.
  • Este proyecto lo resuelve poniendo el catálogo real detrás de un servidor Model Context Protocol (MCP), de modo que el agente consulta los datos en lugar de inventarlos.

Qué es

  • Un monorepo de servidores MCP pequeños y de solo lectura.
  • Cada uno es un paquete autónomo, con sus propios datos y pruebas, y se sirve en su propia ruta (/<nombre>/mcp).
  • Así resulta barato añadir el siguiente servidor. El mismo código funciona tanto desplegado como un único proyecto de Vercel como repartido en varios.

El primer servidor: LEGO Catalog

  • Se apoya en una instantánea SQLite reducida de los datos públicos de Rebrickable: unas 65.000 piezas, 114.000 registros de elementos, 28.000 sets y 1,5 millones de filas de inventario.
  • Tras descartar lo que un agente no necesita, toda la base pesa menos de 50 MB, lo bastante pequeña para ir dentro de una función serverless.
  • search_parts: búsqueda de texto completo, de modo que "brick 2 x 4" devuelve la pieza 3001
  • get_part: nombre, categoría, material y los colores en los que existe una pieza
  • list_colors: la tabla completa de colores, filtrable por nombre o transparencia
  • get_set_inventory: lista de piezas paginada de cualquier set, con las piezas de repuesto marcadas
  • lookup_element: traduce un ID de elemento impreso en el envase a su pieza y su color
  • snapshot_info: qué tan reciente es el dato, de dónde viene y cuáles son los límites del servidor

Decisiones de diseño

  • Solo lectura por diseño. Todas las herramientas están anotadas como de solo lectura e idempotentes. No hay herramientas de escritura ni claves de API.
  • Honestidad con los datos. Cada respuesta incluye la fecha de la instantánea y la fuente. Un ID desconocido devuelve un not_found estructurado en lugar de una respuesta verosímil inventada.
  • Pensado para resistir el mal uso. Las consultas están parametrizadas, el texto libre se sanea antes de llegar al buscador y el tamaño de los resultados está limitado y paginado.
  • Claridad con los identificadores. Las descripciones de las herramientas explican la diferencia entre número de pieza, ID de elemento e ID de diseño, que es la fuente de error más habitual de los modelos.

Créditos

  • Datos cortesía de Rebrickable (rebrickable.com/downloads).
  • LEGO® es una marca registrada del Grupo LEGO, que no está afiliado a este proyecto.
Hecho con
  • TypeScript
  • MCP SDK
  • SQLite FTS5
  • Zod
  • Vitest
  • pnpm workspaces
  • Vercel