MCP Catálogo Bioquímica.cl

MCP Catálogo Bioquímica.cl

Exposes the product catalog of Bioquímica.cl as an MCP tool, enabling natural language queries for product compatibility, pricing, and stock availability.

Category
Visit Server

README

MCP Catálogo Bioquímica.cl

Servidor MCP que expone el catálogo de productos de Bioquímica.cl como herramienta para modelos de lenguaje (Claude y otros clientes MCP compatibles).

Permite consultar el catálogo en lenguaje natural para evaluar licitaciones de Mercado Público, obtener precios de referencia y verificar stock disponible.


Cómo funciona

El servidor expone una sola herramienta MCP: consultar_compatibilidad_catalogo.

Flujo interno

Query del LLM
    │
    ▼
catalog.py ── GET /api/v1/stock/catalog (caché 15 min)
    │
    ▼
search.py ── fuzzy search sobre: nombre + woo_description
    │           (especificaciones técnicas desde WooCommerce)
    ▼
Retorna JSON con candidatos ordenados por afinidad técnica

Búsqueda fuzzy

El score de cada producto combina:

  • 60% token overlap — cuántos términos del query aparecen en el texto del producto
  • 40% sequence match — similitud de secuencia completa (difflib)

El campo woo_description contiene la ficha técnica completa de WooCommerce (objetivos ópticos, NA, dimensiones, material, capacidad, etc.), lo que permite hacer matching técnico real, no solo por nombre.


Herramienta disponible

consultar_compatibilidad_catalogo

item_solicitado: str        # Nombre o descripción técnica del producto
limite_resultados: int = 3  # Máximo de candidatos a retornar

Respuesta:

{
  "resultados": [
    {
      "sku": "EE000075",
      "nombre_comercial": "Microscopio Trinocular 1000x con Objetivos Plan",
      "especificaciones_tecnicas": "Cabezal trinocular 360°, objetivos acromáticos 4X 10X 40X 100X corrección al infinito, condensador NA 1.25, LED Koehler 3W, 220V...",
      "precio_lista_neto": 840000.0,
      "disponible_para_venta": true
    }
  ],
  "total_encontrados": 1,
  "mensaje": ""
}

precio_lista_neto es precio neto sin IVA en CLP. Precio con IVA = precio × 1.19.


Configuración

Variables de entorno

Copiar .env.example a .env y completar:

# API del catálogo (Integraciones-BQ)
CATALOG_API_URL=https://TU-DOMINIO/api/v1/stock/catalog
CATALOG_API_KEY=TU_API_KEY
CACHE_TTL_SECONDS=900

# Solo para despliegue remoto
MCP_API_KEY=TU_CLAVE_SECRETA_MCP
MCP_TRANSPORT=stdio
PORT=8000
Variable Descripción Default
CATALOG_API_URL Endpoint del catálogo en Integraciones-BQ
CATALOG_API_KEY API key para el endpoint
CACHE_TTL_SECONDS Tiempo de vida del caché en memoria 900
MCP_API_KEY Clave para proteger el servidor MCP remoto sin auth
MCP_TRANSPORT stdio (local) o sse (remoto) stdio
PORT Puerto del servidor SSE 8000

Uso local (Claude Code / Claude Desktop)

Requisitos

python3 -m pip install -e .

Configuración en .mcp.json (proyecto)

{
  "mcpServers": {
    "catalogo-bioquimica": {
      "type": "stdio",
      "command": "python3",
      "args": ["server.py"],
      "env": {
        "PYTHONPATH": "/ruta/absoluta/al/proyecto"
      }
    }
  }
}

Despliegue en DigitalOcean App Platform

1. Preparar repositorio

git init
git add .
git commit -m "initial commit"
git remote add origin https://github.com/TU-ORG/mcp-catalogo-bq.git
git push -u origin main

2. Crear el app en DO

  1. DO App Platform → New App → From GitHub → seleccionar el repo
  2. DO detecta el Dockerfile automáticamente
  3. Configurar variables de entorno en la UI:
Variable Valor
CATALOG_API_URL URL de Integraciones-BQ
CATALOG_API_KEY API key del catálogo
MCP_API_KEY Clave secreta (generar con openssl rand -hex 32)
MCP_TRANSPORT sse
  1. Health check path: /health

3. URL resultante

https://TU-APP.ondigitalocean.app/sse

Conexión con Claude.ai

Desktop (recomendado)

Settings → Developer → MCP Servers → Add:

{
  "url": "https://TU-APP.ondigitalocean.app/sse",
  "headers": {
    "Authorization": "Bearer TU_MCP_API_KEY"
  }
}

Web (claude.ai)

Settings → Integrations → Add MCP Server → misma URL y header.


Estructura del proyecto

mcp-catalogo-bq/
├── server.py          # Entrypoint — define herramienta MCP y servidor SSE
├── src/
│   ├── catalog.py     # Fetch del catálogo con caché en memoria
│   ├── search.py      # Búsqueda fuzzy + limpieza de woo_description
│   └── schemas.py     # Modelos Pydantic (CatalogItem, SearchResult)
├── Dockerfile         # Para despliegue en DO App Platform
├── pyproject.toml     # Dependencias del proyecto
└── .env.example       # Plantilla de variables de entorno

Prerequisitos en Integraciones-BQ

El campo woo_description en el endpoint /api/v1/stock/catalog debe estar activo. Requiere:

# Ejecutar una vez en el servidor de Integraciones-BQ
docker compose exec app alembic upgrade head

Luego hacer un POST /api/v1/stock/sap para sincronizar las descripciones desde WooCommerce.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured