Skip to main content
Glama
ingestion_example.sh2.56 kB
#!/bin/bash # # Script de ejemplo para ingesta de productos desde MCP WooCommerce # Formato correcto para evitar error 406 Not Acceptable # # Configuración SERVER_URL="http://localhost:8200/mcp" API_KEY=$(grep MCP_API_KEY .env | cut -d'=' -f2) # Leer API key del .env echo "🔄 Iniciando ingesta de productos desde MCP WooCommerce" echo "Servidor: $SERVER_URL" echo # Paso 1: Inicializar sesión MCP echo "📡 Inicializando sesión MCP..." INIT_RESPONSE=$(curl -s -D /tmp/mcp_headers.txt -X POST "$SERVER_URL" \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "Authorization: Bearer $API_KEY" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "ingestion-client", "version": "1.0.0"} } }') # Extraer session ID SESSION_ID=$(grep -i "mcp-session-id" /tmp/mcp_headers.txt | cut -d: -f2 | tr -d ' ' | tr -d '\r') if [ -z "$SESSION_ID" ]; then echo "❌ Error: No se pudo inicializar sesión" echo "Respuesta: $INIT_RESPONSE" exit 1 fi echo "✅ Sesión inicializada. Session ID: $SESSION_ID" echo # Paso 2: Obtener lista de productos echo "🛍️ Consultando productos..." PRODUCTS_RESPONSE=$(curl -s -X POST "$SERVER_URL" \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "Authorization: Bearer $API_KEY" \ -H "Mcp-Session-Id: $SESSION_ID" \ -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "list_products", "arguments": { "per_page": 50, "page": 1 } } }') echo "📦 Respuesta obtenida:" echo "$PRODUCTS_RESPONSE" | head -c 200 echo "..." echo # Paso 3: Procesar respuesta SSE y extraer JSON echo "🔄 Procesando respuesta SSE..." if echo "$PRODUCTS_RESPONSE" | grep -q "event: message"; then # Extraer JSON de respuesta SSE JSON_DATA=$(echo "$PRODUCTS_RESPONSE" | grep "data: " | sed 's/data: //' | head -1) if [ -n "$JSON_DATA" ]; then echo "✅ Datos JSON extraídos correctamente" echo "📊 Procesando productos..." # Aquí puedes agregar tu lógica de ingesta # Por ejemplo, guardar en base de datos, archivo, etc. echo "✅ Ingesta completada exitosamente!" else echo "❌ Error: No se pudo extraer JSON de respuesta SSE" fi else echo "❌ Error: Respuesta no es formato SSE esperado" fi # Limpiar rm -f /tmp/mcp_headers.txt

Latest Blog Posts

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/JeffersonRiobueno/mcp_woo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server