mcp-server

nicolasrrk/mcp-server

3.1

If you are the rightful owner of mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

MCP Server – LucidBot Connector is a Python-based server using FastAPI to facilitate communication between LucidBot and LyZR, managing queries, tools, and external APIs.

🧠 MCP Server – Lyzr Connector

Python FastAPI Render Status License

Servidor MCP (Modular Command Protocol) desarrollado en Python + FastAPI, diseñado para conectar Lyzr, LucidBot y APIs externas como Tienda Nube, procesando datos en lotes y ofreciendo una integración escalable y eficiente.


🚀 Características principales

  • 🔗 Integración completa con Lyzr y LucidBot
  • ⚙️ Estructura modular en FastAPI (rutas limpias y organizadas)
  • 📦 Procesamiento eficiente de productos CSV por lotes
  • 🔍 Búsqueda rápida de productos desde archivo CSV
  • ☁️ Despliegue automático en Render
  • 🧰 Integrable con herramientas externas o agentes inteligentes

🗂️ Estructura del proyecto

mcp-server/ │ ├── app/ │ ├── main.py # Punto de entrada principal │ │ │ ├── routes/ # Rutas del servidor │ │ ├── health.py │ │ ├── lyzr_tools.py │ │ ├── tiendanube.py # Lógica de búsqueda de productos CSV por lotes │ │ └── webhook.py │ │ │ ├── utils/ # Funciones auxiliares y scripts │ │ ├── split_products_csv.py # Divide el CSV original en lotes JSON │ │ └── lyzr_client.py # Comunicación con la API de Lyzr │ │ │ └── data/ # Archivos CSV divididos │ ├── products_batch_1.csv │ ├── products_batch_2.csv │ └── metadata.json │ ├── .env # Variables de entorno ├── requirements.txt # Dependencias del proyecto ├── Procfile # Configuración de Render └── README.md


⚙️ Instalación local

1️⃣ Clonar el repositorio

git clone https://github.com/nicolasrrk/mcp-server.git
cd mcp-server
2️⃣ Crear y activar entorno virtual
bash
Copiar código
python -m venv venv
venv\Scripts\activate      # En Windows
# o
source venv/bin/activate   # En Linux/Mac
3️⃣ Instalar dependencias
bash
Copiar código
pip install -r requirements.txt
4️⃣ Configurar variables de entorno
Crea un archivo .env en la raíz con tus credenciales:

ini
Copiar código
LYZR_API_KEY=<tu_api_key_lyzr>
TIENDANUBE_TOKEN=<tu_token_tiendanube>
5️⃣ Ejecutar el servidor localmente
bash
Copiar código
uvicorn app.main:app --reload
El servidor quedará disponible en:

arduino
Copiar código
http://localhost:8000
🔍 Endpoint de búsqueda de productos (por lotes CSV)
Ruta: /tiendanube/search
Método: POST

Ejemplo de uso
bash
Copiar código
curl -X POST http://localhost:8000/tiendanube/search \
-H "Content-Type: application/json" \
-d "{\"query\": \"chatita\", \"page\": 1}"
Ejemplo de respuesta
json
Copiar código
{
  "query": "chatita",
  "page": 1,
  "results_count": 3,
  "has_more": false,
  "products": [
    {
      "id": 271417912,
      "name": "Chatita Modare 016461",
      "brand": "Modare",
      "category": "Dama",
      "color": "Negro",
      "price": "$32.490",
      "url": "https://mayorista.pampashop.com.ar/productos/Chatita-Mujer-Modare-016461/",
      "image": "https://acdn-us.mitiendanube.com/stores/006/139/677/products/821016461sneg.png"
    }
  ]
}
🧩 Integración con Lyzr
Para registrar la herramienta en tu agente Lyzr:

json
Copiar código
{
  "name": "search_products",
  "description": "Busca productos del catálogo de Tienda Nube por nombre, color o categoría.",
  "type": "api",
  "url": "https://<tu-servidor>.onrender.com/tiendanube/search",
  "method": "POST",
  "input_schema": {
    "type": "object",
    "properties": {
      "query": { "type": "string", "description": "Texto de búsqueda del producto" },
      "page": { "type": "integer", "description": "Número de página (opcional)" }
    },
    "required": ["query"]
  }
}
El agente podrá buscar productos como:

nginx
Copiar código
buscar "zapatilla blanca talle 36"
📦 Dependencias principales
txt
Copiar código
# === Servidor FastAPI ===
fastapi>=0.115.0
uvicorn>=0.30.0

# === HTTP requests ===
httpx>=0.27.0

# === Variables de entorno ===
python-dotenv>=1.0.1

# === Caché ===
cachetools>=5.3.3

# === Tipado y validación ===
pydantic>=2.8.2

# === Manipulación de CSV / JSON ===
pandas>=2.2.2

# === Testing ===
pytest>=8.3.2
☁️ Despliegue en Render
Subí tus cambios a GitHub.

Iniciá sesión en Render.

Crea un nuevo Web Service desde tu repositorio.

En “Start Command” colocá:

nginx
Copiar código
uvicorn app.main:app --host 0.0.0.0 --port 10000
Agregá tus variables de entorno (desde el panel de Render).

Deploy 🚀

👨‍💻 Autor
Pablo Nicolás Ramírez
🧠 Desarrollador e Integrador MCP + Lyzr
Integración completa con LucidBot, Tienda Nube y Render

📧 nicolasrrk.dev@gmail.com
🌐 github.com/nicolasrrk