#!/usr/bin/env nu # Demo 2: MCP + AI Integration - Rust Meetup 2025 # Este script demuestra la integración con Model Context Protocol print "🤖 Demo 2: MCP + AI Integration" print "================================" # Preparar ambiente MCP print "\n🔧 Preparando ambiente MCP..." print "Verificando configuración de Claude Desktop..." # Verificar configuración MCP let mcp_config_path = if ($env.OS | default "" | str contains "Windows") { $env.APPDATA + "/Claude/claude_desktop_config.json" } else if ($env.OS | default "" | str contains "Darwin") { $env.HOME + "/Library/Application Support/Claude/claude_desktop_config.json" } else { $env.HOME + "/.config/claude/claude_desktop_config.json" } print $"📁 Configuración MCP: ($mcp_config_path)" # Mostrar configuración MCP de ejemplo print "\n📋 Configuración Claude Desktop (ejemplo):" let mcp_config = { mcpServers: { provisioning: { command: "python3" args: ["/ruta/completa/a/provisioning/mcp/server.py"] env: { PROVISIONING_PATH: "/usr/local/provisioning" OPENAI_API_KEY: "${OPENAI_API_KEY}" ANTHROPIC_API_KEY: "${ANTHROPIC_API_KEY}" } } } } print ($mcp_config | to json) # Simular interacción con Claude Desktop print "\n💬 Simulando conversación con Claude Desktop:" print "==============================================" print "\n👤 Usuario:" print "\"Crea 3 servidores AWS con 4 CPU cada uno para un cluster Kubernetes de desarrollo. Necesito un master y dos workers.\"" sleep 2sec print "\n🤖 Claude (usando MCP):" print "Voy a crear esa infraestructura para ti. Usando el sistema de provisioning..." # Mostrar herramientas MCP disponibles print "\n🛠️ Herramientas MCP disponibles:" let mcp_tools = [ { name: "provision_create_server", description: "Crear servidores de infraestructura" } { name: "provision_ai_template", description: "Generar templates con AI" } { name: "provision_query", description: "Consultar estado de infraestructura" } { name: "provision_deploy_taskserv", description: "Desplegar servicios específicos" } { name: "provision_cluster_create", description: "Crear clusters completos" } { name: "provision_status", description: "Ver estado general" } ] print ($mcp_tools | table) # Simular ejecución de herramienta MCP sleep 1sec print "\n⚙️ Claude ejecuta: provision_create_server" print "Parámetros:" let ai_request = { description: "3 servidores AWS para cluster Kubernetes desarrollo" requirements: { count: 3 cpu: 4 purpose: "kubernetes" roles: ["master", "worker", "worker"] provider: "aws" environment: "development" } } print ($ai_request | to json) # Simular traducción a comandos sleep 1sec print "\n🔄 MCP traduce a comandos del sistema:" print "$ provisioning generate server --template aws-k8s-cluster --nodes 3 --cpu 4 --purpose development" print "$ provisioning server create --infra k8s-dev-cluster --wait" # Simular respuesta exitosa sleep 2sec print "\n✅ Resultado:" let created_servers = [ { hostname: "k8s-master-01" role: "master" instance_type: "t3.large" cpu: 4 memory: "8GB" status: "running" public_ip: "203.0.113.10" } { hostname: "k8s-worker-01" role: "worker" instance_type: "t3.large" cpu: 4 memory: "8GB" status: "running" public_ip: "203.0.113.11" } { hostname: "k8s-worker-02" role: "worker" instance_type: "t3.large" cpu: 4 memory: "8GB" status: "running" public_ip: "203.0.113.12" } ] print ($created_servers | table) # Demostrar consulta inteligente print "\n💬 Segunda interacción - Consulta inteligente:" print "==============================================" print "\n👤 Usuario:" print "\"¿Cuál es el estado actual de mi cluster? ¿Hay algún problema?\"" sleep 1sec print "\n🤖 Claude (usando MCP):" print "⚙️ Ejecutando: provision_query" # Simular análisis inteligente sleep 1sec print "\n📊 Análisis del cluster:" print "✅ Todos los servidores están funcionando correctamente" print "✅ Conectividad de red OK" print "⚠️ Kubernetes aún no instalado - ¿quieres que lo instale?" print "💰 Costo actual: ~$0.35/hora ($252/mes)" print "📈 CPU utilización: 5% promedio (normal para cluster recién creado)" # Demostrar automatización print "\n💬 Tercera interacción - Automatización:" print "=======================================" print "\n👤 Usuario:" print "\"Sí, instala Kubernetes y agrega youki como container runtime\"" print "\n🤖 Claude:" print "⚙️ Ejecutando: provision_deploy_taskserv" print "Instalando Kubernetes + youki..." sleep 2sec print "\n✅ Servicios instalados:" let installed_services = [ { service: "kubernetes" version: "v1.29.0" status: "running" nodes_ready: "3/3" } { service: "youki" version: "0.3.0" status: "active" runtime: "OCI compliant" } ] print ($installed_services | table) print "\n🎯 Demo MCP completada!" print "⭐ Ventajas mostradas:" print " - Lenguaje natural → comandos estructurados" print " - Análisis inteligente del estado" print " - Automatización conversacional" print " - Integración seamless con herramientas existentes" print "\n🔧 Para configurar MCP en tu sistema:" print "1. Instalar Claude Desktop" print "2. Configurar claude_desktop_config.json" print "3. Iniciar MCP server: python3 mcp/server.py" print "4. ¡Conversar con tu infraestructura!"