Bรบsqueda Hรญbrida con IA

Encuentra el mรณdulo Odoo perfecto en segundos

Un servidor MCP que conecta LLMs con 16,000+ mรณdulos OCA usando bรบsqueda semรกntica + full-text con Reciprocal Rank Fusion

๐Ÿ“ฆ
0 Mรณdulos indexados
๐Ÿข
0 Repositorios OCA
๐Ÿ”ข
0 Versiones Odoo
โšก
<500 ms respuesta
๐Ÿค–
0 Clientes MCP
๐Ÿ’ฐ
$1.76 Coste total APIs

El Problema

โŒ Sin AI-OdooFinder

  • Desarrollas funcionalidades que ya existen en OCA
  • Pierdes horas buscando el mรณdulo correcto en GitHub
  • Instalas mรณdulos incompatibles con tu versiรณn
  • Descubres mรณdulos abandonados tras integrarlos

โœ“ Con AI-OdooFinder

  • Bรบsqueda semรกntica + keyword en un solo query
  • Filtrado automรกtico por versiรณn de Odoo
  • Descripciones enriquecidas con IA (Grok-4)
  • Integraciรณn directa desde Claude, Cursor, VSCode...

Arquitectura

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                              CLIENTES MCP                                        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Claude Desktopโ”‚  Claude.ai    โ”‚    Cursor     โ”‚     Zed       โ”‚  VSCode Copilotโ”‚
โ”‚    (STDIO)    โ”‚   (HTTP)      โ”‚   (STDIO)     โ”‚   (STDIO)     โ”‚    (STDIO)     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
        โ”‚               โ”‚               โ”‚               โ”‚                โ”‚
        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                        โ”‚
                                        โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                          MCP SERVER (FastMCP)                                    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚  Tool: search_odoo_modules(query, version, dependencies, limit)         โ”‚    โ”‚
โ”‚  โ”‚  โ€ข Flujo inteligente de 4 pasos con clarificaciรณn                      โ”‚    โ”‚
โ”‚  โ”‚  โ€ข Clasificaciรณn por confianza (HIGH/MEDIUM/LOW)                       โ”‚    โ”‚
โ”‚  โ”‚  โ€ข Instrucciones especรญficas para el LLM                               โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                          โ”‚ HTTP
                                          โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                          FASTAPI BACKEND (:8989)                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚   /search            โ”‚  โ”‚   /modules/{id}      โ”‚  โ”‚   /stats             โ”‚   โ”‚
โ”‚  โ”‚   Bรบsqueda hรญbrida   โ”‚  โ”‚   Detalle mรณdulo     โ”‚  โ”‚   Estadรญsticas       โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                        โ”‚                                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚              HYBRID SEARCH SERVICE (RRF Fusion)                           โ”‚  โ”‚
โ”‚  โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                    โ”‚  โ”‚
โ”‚  โ”‚   โ”‚ Vector Search   โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚  BM25 Search    โ”‚                    โ”‚  โ”‚
โ”‚  โ”‚   โ”‚ (pgvector HNSW) โ”‚      โ”‚       โ”‚  (tsvector)     โ”‚                    โ”‚  โ”‚
โ”‚  โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ–ผ       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ”‚  โ”‚
โ”‚  โ”‚                    Reciprocal Rank Fusion                                 โ”‚  โ”‚
โ”‚  โ”‚                    RRF(d) = 1/(k+rank_v) + 1/(k+rank_b)                   โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                          โ”‚ SQL
                                          โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      POSTGRESQL 17 + pgvector                                    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  modules: 16,494 registros                                                โ”‚  โ”‚
โ”‚  โ”‚  โ€ข embedding (vector 2560) - Qwen3-Embedding-4B                           โ”‚  โ”‚
โ”‚  โ”‚  โ€ข search_vector (tsvector) - Full-text espaรฑol/inglรฉs                    โ”‚  โ”‚
โ”‚  โ”‚  โ€ข ai_description, functional_tags, keywords - Grok-4-fast enrichment     โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Stack Tecnolรณgico

โšก

FastMCP

Framework Python para servidores MCP. Decoradores simples, transporte dual STDIO/HTTP.

๐Ÿ”

pgvector + BM25

Bรบsqueda hรญbrida: embeddings Qwen3 (2560 dims) + full-text con fusiรณn RRF.

๐Ÿš€

FastAPI

Backend async de alto rendimiento. Python 3.13+, documentaciรณn OpenAPI.

๐Ÿค–

OpenRouter

Gateway unificado para LLMs. Qwen3 para embeddings, Grok-4 para enrichment.

๐Ÿณ

Docker + Hetzner

Despliegue containerizado en VPS ARM64. ~5โ‚ฌ/mes sin cold starts.

๐Ÿ”’

Tailscale Funnel

HTTPS automรกtico sin configuraciรณn. Tรบnel seguro para acceso remoto.

01

INVESTIGAR

Aprende a Aprender con IA - Deep Research y Validaciรณn Cruzada

๐ŸŽฏ Objetivo

  • Deep research exhaustivo con Gemini 2.5 Pro
  • Identificar el "Triรกngulo de Dificultad" de Odoo
  • Evaluar 4 arquitecturas de IA para la soluciรณn
  • Validaciรณn cruzada con mรบltiples modelos

๐Ÿ› ๏ธ Herramientas

  • Gemini 2.5 Pro (Deep Research)
  • NotebookLM (sรญntesis)
  • KimiK2 (validaciรณn)
  • Claude Desktop (refinamiento)

๐Ÿ“ฆ Entregable

  • Documento de 15+ pรกginas de anรกlisis
  • Comparativa de herramientas existentes
  • Arquitectura RAG Hรญbrida definida

El Triรกngulo de Dificultad de Odoo

                    Documentaciรณn
                     Fragmentada
                         /\
                        /  \
                       /    \
                      /      \
                     /        \
                    /          \
                   /____________\
              Descubrimiento    "Infierno del
               de Mรณdulos        Versionado"
                                (10.0 โ†’ 19.0)

    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚  CONCLUSIร“N DEL RESEARCH:                               โ”‚
    โ”‚                                                         โ”‚
    โ”‚  "La arquitectura รณptima es un Framework Agรฉntico       โ”‚
    โ”‚   que orquesta un Pipeline de RAG Hรญbrido usando        โ”‚
    โ”‚   un รญndice dual SQL + Vectorial"                       โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Evaluaciรณn de Arquitecturas

Arquitectura Manejo Versionado Viabilidad
LLM + Bรบsqueda Web Pobre (Alucina) โŒ Inviable
RAG Simple (Solo Vectores) Pobre (No determinista) โš ๏ธ Baja
Claude Skills Excelente (con backend) โœ“ Alta
RAG Hรญbrido (Agรฉntico) Excelente (Determinista) โœ“โœ“ ร“ptima
๐Ÿ’ก Spec-Driven Development: Define primero QUร‰ debe hacer el sistema antes de implementar Cร“MO. Cada feature tuvo su SPEC antes de codificar.
02

DIALOGAR

Prompt Engineering y Context Engineering Avanzado

โšก Principio Fundamental: "Calidad de Entrada โ†’ Calidad de Salida". El modelo no puede leer tu mente. La ambigรผedad es el enemigo.

๐ŸŽฏ Objetivo

  • Evolucionar de prompts simples a flujo inteligente
  • Implementar Few-Shot con ejemplos concretos
  • Crear Chain of Thought de 4 pasos
  • Usar delimitadores efectivos para cada modelo

๐Ÿ“Š Mรฉtricas

  • Few-Shot Learning
  • Chain of Thought (CoT)
  • Delimitadores (โ•โ•โ•, โš ๏ธ, ๐Ÿšจ)
  • Ejemplos correctos vs incorrectos

๐Ÿ“ฆ Entregable

  • Prompt de 100+ lรญneas estructurado
  • Flujo inteligente de clarificaciรณn
  • Sistema de confianza (HIGH/MEDIUM/LOW)

Flujo Inteligente de 4 Pasos

1. ยฟNecesita clarificaciรณn?
โ†’
2. Construir query รณptimo
โ†’
3. Interpretar por confianza
โ†’
4. Instrucciones al LLM

Few-Shot Examples

server.py - QUERY_DESCRIPTION
LOCALIZATION QUERY EXAMPLES:
โ€ข Spain + electronic invoice โ†’ "l10n_es_facturae facturae"
โ€ข Spain + AEAT taxes โ†’ "l10n_es_aeat modelo"
โ€ข Mexico + CFDI invoice โ†’ "l10n_mx_edi cfdi"
โ€ข Argentina + AFIP invoice โ†’ "l10n_ar_afipws factura"

User: "electronic invoicing for Spain"
โœ… CORRECT: "l10n_es_facturae facturae FACE"
โŒ INCORRECT: "electronic invoice e-invoice XML digital signature Spain..."

โš ๏ธ For localizations: query of 2-4 words maximum
โš ๏ธ The l10n_XX_ prefix is MORE IMPORTANT than synonyms
๐Ÿ“ Delimitadores por Modelo: Claude prefiere XML, GPT triple comillas, Gemini markdown. En nuestro prompt usamos caracteres visuales (โ”€โ”€โ”€, โš ๏ธ) que funcionan en todos.
03

EJECUTAR

IDEs Agรฉnticos y Desarrollo Aumentado

๐ŸŽฏ Objetivo

  • Usar IDEs agรฉnticos para desarrollo acelerado
  • Implementar bรบsqueda hรญbrida con RRF
  • Refactoring con lenguaje natural
  • 89 commits en 30 dรญas

๐Ÿ› ๏ธ Herramientas

  • Cursor (Composer1, 4x mรกs rรกpido)
  • Claude Code CLI (Sonnet 4, Opus 4.5)
  • Zed (Grok-4-fast, sesiones largas)
  • Claude Desktop/Web (validaciรณn)

๐Ÿ“Š Mรฉtricas

  • 89 commits totales
  • 2.9 commits/dรญa promedio
  • Dรญa mรกs productivo: 9 commits
  • Speedup estimado: 4-8x

Timeline de IDEs

Nov 6-15

Cursor

Inicio rรกpido. Ediciรณn multi-archivo, exploraciรณn inicial del cรณdigo.

Nov 15-25

Claude Code CLI

Desarrollo principal. Slash commands, tareas complejas de terminal, ETL.

Nov 25 - Dic 6

Zed + Claude

Producciรณn. Rendimiento superior (Rust), sesiones largas, integraciรณn final.

๐Ÿš€ Ejemplo Real: Expansiรณn de mcp_tools.py: 149 โ†’ 493 lรญneas en ~30 minutos. Sin IDE agรฉntico hubiera tomado ~4 horas.
04

AUTOMATIZAR

De SKILL a MCP - El Gran Pivote

๐Ÿ”Œ MCP = "USB-C para la IA": Un estรกndar abierto que conecta cualquier LLM con cualquier herramienta. Un solo protocolo universal.

๐ŸŽฏ Objetivo

  • Pivotar de Claude SKILL a MCP abierto
  • Implementar con FastMCP (decoradores)
  • Soportar STDIO + HTTP transporte
  • Compatibilidad con 9 clientes

๐Ÿ”„ Por quรฉ Pivotamos

  • SKILL: Propietario Anthropic, beta cerrada
  • MCP: Estรกndar abierto, mรบltiples clientes
  • ChatGPT anunciรณ soporte MCP (Sept 2025)
  • Control total de infraestructura

๐Ÿ”Œ Componentes MCP

  • Tools: Funciones ejecutables โœ“
  • Resources: Datos estรกticos (no usado)
  • Prompts: Plantillas (no usado)

FastMCP - Decoradores Pythonicos

mcp-server/src/ai_odoofinder_mcp/server.py
from fastmcp import FastMCP
from typing import Annotated

mcp = FastMCP("AI-OdooFinder")

@mcp.tool()
async def search_odoo_modules(
    query: Annotated[str, QUERY_DESCRIPTION],  # 100+ lรญneas de instrucciones
    version: Annotated[str, "Odoo version (16.0, 17.0, 18.0)"],
    dependencies: Annotated[Optional[list[str]], "Required dependencies"] = None,
    limit: Annotated[int, "Max results (default: 5)"] = 5,
) -> str:
    """Search OCA modules with hybrid search."""
    async with httpx.AsyncClient() as client:
        response = await client.get(f"{API_URL}/search", params={...})
    return _format_results_intelligent(response.json())

Clientes Soportados

Cliente Local (STDIO) Remoto (HTTP) Estado
Claude Desktop โœ… โŒ Estable
Claude.ai Web โŒ โœ… Estable
Claude Code CLI โœ… โœ… Estable
ChatGPT Dev Mode โœ… โœ… Beta
VSCode Copilot โœ… โš ๏ธ GA
Cursor โœ… โŒ Estable
Zed โœ… โŒ Estable
05

INTEGRAR

APIs de IA y Bรบsqueda Hรญbrida

๐ŸŽฏ Objetivo

  • Usar OpenRouter como gateway unificado
  • Implementar bรบsqueda hรญbrida RRF
  • Enriquecer mรณdulos con IA
  • Mantener costes bajo control (<$2)

๐Ÿค– Modelos

  • Embeddings: Qwen3-Embedding-4B
  • Enrichment: Grok-4-fast
  • Dimensiones: 2560 (mรกxima precisiรณn)
  • Matryoshka: soporte 512/1024/2560

๐Ÿ’ฐ Costes

  • Embeddings (16,494 mรณdulos): ~$0.10
  • Enrichment (16,494 mรณdulos): ~$1.50
  • Queries producciรณn: ~$0.01
  • TOTAL: $1.76 (88% bajo presupuesto)

Reciprocal Rank Fusion (RRF)

                         QUERY: "facturaciรณn electrรณnica espaรฑa"
                                        โ”‚
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚                                       โ”‚
                    โ–ผ                                       โ–ผ
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚  VECTOR SEARCH  โ”‚                   โ”‚   BM25 SEARCH   โ”‚
          โ”‚  (pgvector)     โ”‚                   โ”‚   (tsvector)    โ”‚
          โ”‚                 โ”‚                   โ”‚                 โ”‚
          โ”‚ Embeddings      โ”‚                   โ”‚ Full-text       โ”‚
          โ”‚ Qwen3 2560d     โ”‚                   โ”‚ Espaรฑol/Inglรฉs  โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                   โ”‚ Top 50                              โ”‚ Top 50
                   โ”‚                                     โ”‚
                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚           RECIPROCAL RANK FUSION                    โ”‚
          โ”‚                                                     โ”‚
          โ”‚   RRF_score(d) = 1/(k + rank_v) + 1/(k + rank_b)   โ”‚
          โ”‚                                                     โ”‚
          โ”‚   k = 60 (constante de suavizado)                  โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                 โ”‚
                                 โ–ผ
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚    RESULTADOS FINALES   โ”‚
                    โ”‚                         โ”‚
                    โ”‚ 1. l10n_es_facturae    โ”‚
                    โ”‚ 2. l10n_es_facturae_faceโ”‚
                    โ”‚ 3. account_invoice_facturxโ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
๐Ÿ” Best Practice: Nunca hardcodear API keys. Usar variables de entorno (.env) excluidas de git. OpenRouter unifica billing y permite fallback automรกtico.
06

SINTETIZAR

Arquitectura Tool-First y Resultados Finales

๐Ÿ—๏ธ Arquitectura Tool-First

  • Sin UI web propia que mantener
  • Los clientes MCP SON la UI
  • Solo desarrollamos Backend + MCP
  • El LLM maneja la experiencia de usuario

๐Ÿ–ฅ๏ธ Infraestructura Final

  • Hetzner VPS (ARM64, ~4โ‚ฌ/mes)
  • Docker Compose (API + DB + MCP)
  • PostgreSQL 17 + pgvector
  • Tailscale Funnel (HTTPS auto)

๐Ÿ“Š Estadรญsticas Finales

  • 16,494 mรณdulos indexados
  • 100% con AI enrichment
  • Precision@5: 87%
  • Recall@10: 92%

El Proyecto Como Sรญntesis del Curso

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                                                         โ”‚
โ”‚  1. INVESTIGAR โ”€โ”€โ†’ Deep research con Gemini 2.5 Pro                    โ”‚
โ”‚                    โ””โ”€โ†’ Arquitectura RAG Hรญbrida definida               โ”‚
โ”‚                                                                         โ”‚
โ”‚  2. DIALOGAR โ”€โ”€โ”€โ”€โ†’ Prompts iterativos con Few-Shot + CoT               โ”‚
โ”‚                    โ””โ”€โ†’ Flujo inteligente de 4 pasos                    โ”‚
โ”‚                                                                         โ”‚
โ”‚  3. EJECUTAR โ”€โ”€โ”€โ”€โ†’ Cursor โ†’ Claude Code โ†’ Zed                          โ”‚
โ”‚                    โ””โ”€โ†’ 89 commits en 30 dรญas (speedup 4-8x)            โ”‚
โ”‚                                                                         โ”‚
โ”‚  4. AUTOMATIZAR โ”€โ†’ SKILL โ†’ MCP (pivote estratรฉgico)                    โ”‚
โ”‚                    โ””โ”€โ†’ 9 clientes soportados                           โ”‚
โ”‚                                                                         โ”‚
โ”‚  5. INTEGRAR โ”€โ”€โ”€โ”€โ†’ OpenRouter + Qwen3 + Grok-4                         โ”‚
โ”‚                    โ””โ”€โ†’ $1.76 coste total (88% bajo presupuesto)        โ”‚
โ”‚                                                                         โ”‚
โ”‚  6. SINTETIZAR โ”€โ”€โ†’ Tool-first architecture                             โ”‚
โ”‚                    โ””โ”€โ†’ 16,494 mรณdulos accesibles vรญa MCP               โ”‚
โ”‚                                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
๐ŸŽฏ Resultado Final: Un buscador inteligente de mรณdulos Odoo que cualquier empresa puede usar, que costรณ menos de $2 en APIs y ~5โ‚ฌ/mes en infraestructura, y que soporta 9 clientes MCP diferentes.