Skip to main content
Glama

MCP WooCommerce Server

test_auth.sh3.81 kB
#!/bin/bash # # Script para probar la autenticación del servidor MCP WooCommerce. # # Este script prueba diferentes escenarios de autenticación: # 1. Sin API key configurada (desarrollo) # 2. Con API key configurada (producción) # 3. Con API key incorrecta (debe fallar) # # Cargar variables de entorno del .env file si existe if [ -f ".env" ]; then export $(grep -v '^#' .env | xargs) fi # Configuración SERVER_URL="http://localhost:8200/mcp" CONTENT_TYPE="Content-Type: application/json" ACCEPT="Accept: application/json, text/event-stream" echo "🔐 Probando Autenticación del Servidor MCP WooCommerce" echo "Servidor: $SERVER_URL" echo "API Key configurada: ${MCP_API_KEY:0:10}..." echo # Función para probar una petición test_request() { local description="$1" local auth_header="$2" local expected_status="$3" echo "🧪 $description" # Construir comando curl local curl_cmd="curl -s -w '\nHTTP_STATUS:%{http_code}' -X POST '$SERVER_URL' -H '$CONTENT_TYPE' -H '$ACCEPT'" # Agregar header de autenticación si existe if [ -n "$auth_header" ]; then curl_cmd="$curl_cmd -H '$auth_header'" fi # Agregar datos JSON curl_cmd="$curl_cmd -d '{ \"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"initialize\", \"params\": { \"protocolVersion\": \"2024-11-05\", \"capabilities\": {}, \"clientInfo\": {\"name\": \"auth-test\", \"version\": \"1.0.0\"} } }'" # Ejecutar comando local response=$(eval "$curl_cmd") # Extraer status HTTP local http_status=$(echo "$response" | grep "HTTP_STATUS:" | cut -d: -f2 | tr -d '\r') local body=$(echo "$response" | sed '/HTTP_STATUS:/d') if [ "$http_status" = "$expected_status" ]; then echo "✅ PASÓ - Status: $http_status" else echo "❌ FALLÓ - Status esperado: $expected_status, obtenido: $http_status" fi # Mostrar respuesta si es error if [ "$http_status" != "200" ]; then echo " Respuesta: $(echo "$body" | jq -r '.error.message // .detail // "Sin mensaje"' 2>/dev/null || echo "$body")" fi echo } # Prueba 1: Verificar si el servidor está corriendo echo "🏥 Verificando que el servidor esté corriendo..." if curl -s --max-time 5 "$SERVER_URL" > /dev/null 2>&1; then echo "✅ Servidor responde" else echo "❌ Servidor no responde. Asegúrate de que esté corriendo:" echo " docker compose up" exit 1 fi echo # Prueba 2: Sin autenticación (debería funcionar si no hay API key) test_request "Sin autenticación (modo desarrollo)" "" "200" # Prueba 3: Con API key válida (debería funcionar) API_KEY="${MCP_API_KEY:-your_secure_api_key_here}" test_request "Con API key válida" "Authorization: Bearer $API_KEY" "200" # Prueba 4: Con API key inválida (debería fallar si hay autenticación) test_request "Con API key inválida" "Authorization: Bearer invalid_key_12345" "401" # Prueba 5: Con formato Bearer incorrecto test_request "Con formato Bearer incorrecto" "Authorization: Token $API_KEY" "401" echo "📋 Resumen de pruebas:" echo "• Sin autenticación: Debería funcionar solo en desarrollo" echo "• API key válida: Siempre debería funcionar" echo "• API key inválida: Debería fallar si autenticación está habilitada" echo echo "🔧 Para configurar autenticación:" echo "1. Agrega MCP_API_KEY=tu_clave_secreta al archivo .env" echo "2. Reinicia el servidor: docker compose restart" echo "3. Todas las peticiones deben incluir: -H 'Authorization: Bearer TU_CLAVE'" echo echo "🛡️ Mejores prácticas de seguridad:" echo "• Usa claves aleatorias de 32+ caracteres" echo "• Rota las claves regularmente" echo "• Usa HTTPS en producción" echo "• Limita el acceso a redes confiables"

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