semantic-product-search-mcp
Semantic Product Search
Buscador semántico de productos: en vez de matchear keywords, entiende la intención de la query (embeddings + similarity search) y usa un agente para generar una recomendación sobre el catálogo. El catálogo se expone como servidor MCP y es consumido por un agente separado.
🚧 Proyecto en desarrollo activo. Actualmente en Fase 1 · Setup backend. Las secciones de arquitectura, demo y decisiones de diseño se completarán más adelante, cuando exista un flujo end-to-end funcional.
Stack
API: FastAPI
Agente / orquestación: LangChain + LangChain Anthropic (Claude)
Modelos locales: Ollama
Observabilidad: LangSmith
Config / validación: Pydantic + Pydantic Settings
Base de datos: Postgres + pgvector (en desarrollo local: SQLite)
Gestor de paquetes: uv
Estructura del proyecto
app/
main.py # entrypoint de la API
api/routes.py # rutas HTTP
catalog/ # ingesta + modelos de datos del catálogo
search/ # embeddings + similarity search
reviews/
mcp_server/ # servidor MCP (expone el catálogo/búsqueda como tools)
agent/ # agente que consume el MCP y arma la recomendación
core/
config.py # settings (variables de entorno)
db.py # conexión a Postgres/pgvector
models/
schemas.py # modelos Pydantic compartidos
tests/Setup local
Requisitos: Python >= 3.12 y uv instalado.
# Instalar dependencias
uv sync
# Configurar variables de entorno
cp .env.example .env
# completar ANTHROPIC_API_KEY y LANGSMITH_API_KEY en .env
# Correr el entrypoint
uv run python -m app.mainVariables de entorno
Variable | Default | Descripción |
|
| Entorno de ejecución |
|
| Activa tracing de LangChain en LangSmith |
|
| Endpoint de LangSmith |
| (requerida) | API key de LangSmith |
|
| Proyecto en LangSmith |
| (requerida) | API key de Anthropic (Claude) |
|
| Connection string de la base de datos |
|
| Modelo de embeddings |
|
| Modelo usado para similarity search |
|
| Cantidad de resultados a devolver por búsqueda |
⚠️ Nunca loguees los valores de las API keys ni de ningún secreto (
ANTHROPIC_API_KEY,LANGSMITH_API_KEY, etc.). Si necesitas debuggearSettings, imprime únicamente los nombres de los campos que fallaron, no sus valores — así lo haceapp/core/config.pyal validar al arranque.
Roadmap
El desarrollo está organizado en fases (ver tablero de Notion):
Setup backend
Catálogo + embeddings
Búsqueda semántica
Reviews + comentarios
Servidor MCP
Agente + recomendación
REST API + streaming
Optimización
Frontend + publicación
Arquitectura y decisiones de diseño
Pendiente — se documenta en la Fase 9 (PROD-32), una vez el proyecto tenga
un flujo end-to-end para poder describir el diagrama, la demo y las
decisiones (caché, retrieval + re-ranking, etc.) con contexto real.
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/sebastian946/SemanticProductSearch'
If you have feedback or need assistance with the MCP directory API, please join our Discord server