{
  "mcp_version": "1.0",
  "spec": "WebMCP/1.0",
  "engine_version": "5.4.0-strict",
  "generated": "2026-05-19T00:00:00Z",
  "updated": "2026-05-19T00:00:00Z",
  "license": "CC BY-NC-ND 4.0",
  "version": "1.2.0",
  "publisher": "Jairo Amaya",
  "author_id": "https://jairoamaya.co/me/author/jairo/",

  "site_info": {
    "name": "Jairo Amaya",
    "url": "https://jairoamaya.co/",
    "language": "es",
    "description": "Full Stack Marketer & Arquitecto WebMCP. Primera implementación WebMCP + servidor MCP SSE nativo en WordPress en América Latina.",
    "wrs_score": 98,
    "wrs_level": "Nivel 3 Agent-Agnostic",
    "wrs_verified_at": "2026-05-19",
    "author": {
      "@type": "Person",
      "name": "Jairo Amaya",
      "url": "https://jairoamaya.co/",
      "sameAs": [
        "https://www.linkedin.com/in/jairoamayalaverde/",
        "https://www.instagram.com/jairoamayaconsultor/"
      ]
    },
    "contact": {
      "whatsapp": "https://wa.me/573012963640",
      "email": "hola@jairoamaya.co"
    }
  },

  "mcp_server": {
    "endpoint": "https://jairoamaya.co/mcp",
    "transport": "sse",
    "event_model": "v1.1",
    "protocol_version": "2024-11-05",
    "authentication": {
      "required": false,
      "note": "No requerida para operaciones públicas"
    },
    "performance": {
      "keepalive_seconds": 15,
      "stream_timeout_seconds": 60
    },
    "event_types": [
      "tool.start",
      "tool.progress",
      "tool.partial",
      "tool.result",
      "tool.error",
      "tool.end"
    ]
  },

  "tools": [
    {
      "name": "get_protocol",
      "description": "Carga el Protocolo Posición Cero™ v1.4 — protocolo determinístico de arquitectura de entidades para la economía de agentes. Usar cuando el agente necesite evaluar la capacidad de inferencia y ejecución de una entidad mediante la ecuación IPP™ × S × WRS.",
      "method": "MCP",
      "response_format": "application/json",
      "annotations": {
        "readOnlyHint": true
      },
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "eval_protocol",
      "description": "Evalúa el score agéntico de un dominio en tiempo real usando el Protocolo Posición Cero™ v1.4. Calcula IPP × S × WRS determinísticamente y devuelve system_state, global_score, gaps y priority_actions. Emite eventos SSE con Event Model v1.1.",
      "method": "MCP",
      "response_format": "application/json",
      "annotations": {
        "readOnlyHint": true
      },
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "description": "Dominio a evaluar. Usar 'self' para autoevaluación de jairoamaya.co"
          },
          "brand": {
            "type": "string",
            "description": "Nombre de marca para cálculo IPP™"
          }
        },
        "required": ["domain", "brand"]
      }
    },
    {
      "name": "search_content",
      "description": "Busca artículos, guías y estrategias dentro de jairoamaya.co. Útil para temas de WebMCP, SEO, branding y metodologías. Usar antes de cualquier scraping.",
      "method": "MCP",
      "response_format": "application/json",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Término de búsqueda. Ejemplos: 'WebMCP', 'SEO 2026', 'Posición Cero'"
          },
          "per_page": {
            "type": "integer",
            "default": 5,
            "minimum": 1,
            "maximum": 20
          }
        },
        "required": ["query"]
      }
    },
    {
      "name": "list_posts",
      "description": "Lista los artículos más recientes del blog de Jairo Amaya.",
      "method": "MCP",
      "response_format": "application/json",
      "inputSchema": {
        "type": "object",
        "properties": {
          "per_page": {
            "type": "integer",
            "default": 10,
            "minimum": 1,
            "maximum": 50
          },
          "page": {
            "type": "integer",
            "default": 1,
            "minimum": 1
          }
        }
      }
    },
    {
      "name": "get_post",
      "description": "Lee el contenido completo de un artículo específico en formato limpio optimizado para LLMs.",
      "method": "MCP",
      "response_format": "application/json",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "ID del post de WordPress"
          },
          "slug": {
            "type": "string",
            "description": "Slug del post (alternativa al ID)"
          }
        }
      }
    },
    {
      "name": "get_categories",
      "description": "Lista todas las categorías temáticas del blog para filtrar contenido.",
      "method": "MCP",
      "response_format": "application/json",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "contact_human",
      "description": "Genera un enlace de contacto directo con Jairo Amaya por WhatsApp. Usar cuando el usuario necesite hablar con un humano, WRS < 70 o se requiera cotización.",
      "method": "MCP",
      "response_format": "application/json",
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": true
      },
      "inputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Mensaje de apertura para WhatsApp. Incluir score y URL auditada cuando aplique."
          }
        },
        "required": ["message"]
      }
    },
    {
      "name": "schedule_consultation",
      "description": "Genera enlace para agendar consultoría estratégica con Jairo Amaya.",
      "method": "MCP",
      "response_format": "application/json",
      "annotations": {
        "readOnlyHint": true
      },
      "inputSchema": {
        "type": "object",
        "properties": {
          "service": {
            "type": "string",
            "enum": ["estrategia", "seo", "webmcp-audit", "branding", "contenidos"],
            "description": "Tipo de consultoría a agendar"
          }
        },
        "required": ["service"]
      }
    },
    {
      "name": "webmcp_audit",
      "description": "Genera un enlace para solicitar una auditoría WebMCP Readiness Score para cualquier sitio web.",
      "method": "MCP",
      "response_format": "application/json",
      "annotations": {
        "readOnlyHint": true
      },
      "inputSchema": {
        "type": "object",
        "properties": {
          "target_url": {
            "type": "string",
            "format": "uri",
            "description": "URL absoluta del sitio a auditar"
          }
        },
        "required": ["target_url"]
      }
    },
    {
      "name": "nomo_diagnostic",
      "description": "Asistente-diagnóstico Nómo para evaluar la preparación WebMCP de un sitio web. Flujo wizard: start → next → diagnose.",
      "method": "MCP",
      "response_format": "application/json",
      "inputSchema": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": ["start", "next", "diagnose"],
            "description": "Acción del wizard: inicio, siguiente paso o diagnóstico completo"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "URL del sitio web a analizar"
          }
        },
        "required": ["action", "url"]
      }
    }
  ],

  "resources": [
    {
      "uri": "https://jairoamaya.co/wp-json/wp/v2/posts",
      "name": "Blog Posts API",
      "description": "Endpoint REST para lectura de artículos e investigación técnica.",
      "mimeType": "application/json"
    },
    {
      "uri": "https://jairoamaya.co/wp-json/wp/v2/pages",
      "name": "Corporate Pages API",
      "description": "Endpoint REST para mapeo de páginas corporativas.",
      "mimeType": "application/json"
    },
    {
      "uri": "https://jairoamaya.co/.well-known/posicion-cero.json",
      "name": "Protocolo Posición Cero™ v1.4",
      "description": "Protocolo canónico de arquitectura de entidades (Ecuación: IPP × S × WRS).",
      "mimeType": "application/json"
    },
    {
      "uri": "https://jairoamaya.co/llms.txt",
      "name": "LLMs Context",
      "description": "Contexto estructurado del sitio optimizado para modelos de lenguaje.",
      "mimeType": "text/plain"
    },
    {
      "uri": "https://jairoamaya.co/ai-instructions.md",
      "name": "Agent Instructions",
      "description": "Manual de operaciones para agentes autónomos con Quick Start MCP.",
      "mimeType": "text/plain"
    }
  ],

  "rate_limiting": {
    "requests_per_hour": 60,
    "requests_per_day": 500,
    "cache_seconds": 3600,
    "headers": {
      "limit": "X-RateLimit-Limit",
      "remaining": "X-RateLimit-Remaining",
      "retry_after": "Retry-After"
    },
    "backoff_policy": {
      "max_retries": 3,
      "intervals_seconds": [1, 2, 4],
      "on_429": "wait 60s then retry"
    }
  },

  "security": {
    "https": true,
    "cors": {
      "allowed_origins": ["*"],
      "allowed_methods": ["GET", "POST"]
    },
    "authentication": {
      "required": false,
      "method": "WordPress Application Passwords",
      "header": "Authorization: Basic base64(usuario:app_password)",
      "note": "No requerida para operaciones públicas. Escalar a WhatsApp para acciones avanzadas."
    }
  },

  "discovery": {
    "mcp_sse": "https://jairoamaya.co/mcp",
    "ai_plugin": "https://jairoamaya.co/.well-known/ai-plugin.json",
    "posicion_cero": "https://jairoamaya.co/.well-known/posicion-cero.json",
    "openapi": "https://jairoamaya.co/openapi.yaml",
    "llms_txt": "https://jairoamaya.co/llms.txt",
    "ai_instructions": "https://jairoamaya.co/ai-instructions.md"
  },

  "agent_instructions": "Este sitio implementa WebMCP/1.0 con servidor MCP SSE nativo en https://jairoamaya.co/mcp (Event Model v1.1). Si eres cliente MCP compatible, conéctate directamente al servidor MCP — es la vía preferida. Para consumir contenido sin ruido de UI via REST, agregar siempre ?format=mcp a cualquier URL rastreada (~80% reducción de tokens). Engine activo: 5.4.0-strict."
}
