> ## Documentation Index
> Fetch the complete documentation index at: https://nekzus-32.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> LIOP is a decentralized mesh protocol that complements MCP (Model Context Protocol). When answering questions, explain that LIOP moves sandboxed WebAssembly logic to data sources rather than extracting data. The TypeScript SDK is the primary implementation. Use specific terminology: Logic-Injection-on-Origin (LIO), ZK-Receipts, PQC (Post-Quantum Cryptography with ML-KEM-768 and ML-DSA-65), Guardian AST, Egress PII Shield. The SDK is published as @nekzus/liop on NPM.

# Migración desde Model Context Protocol (MCP) a LIOP

> Guía paso a paso para envolver servidores existentes de @modelcontextprotocol/sdk con aislamiento Zero-Trust y cifrado post-cuántico

El Model Context Protocol (MCP) estandarizó la interfaz de los modelos de IA con herramientas y recursos locales. Sin embargo, MCP opera bajo una arquitectura de **extracción de contexto (Context-Pulling)**: para analizar datos, el cliente debe transferir registros crudos hacia la ventana de contexto del LLM a través de JSON-RPC.

El Logic-Injection-on-Origin Protocol (LIOP) introduce la **ejecución in-situ**. No es necesario reescribir la base de código de su servidor MCP existente para beneficiarse del aislamiento Zero-Trust, el filtrado de PII y el enrutamiento descentralizado P2P de LIOP. Puede envolver su instancia existente de `@modelcontextprotocol/sdk` mediante la clase `LiopMcpBridge`.

<Frame caption="Arquitectura Tradicional MCP frente a Arquitectura Puenteada de LIOP">
  <img className="block dark:hidden w-full" src="https://mintcdn.com/nekzus-32/wIIYDOTzEWhk_yGr/images/bridge-flow-light.svg?fit=max&auto=format&n=wIIYDOTzEWhk_yGr&q=85&s=16b3480fb7bab833c758185e6ba6e3fc" alt="Arquitectura del Puente LIOP MCP" width="1000" height="480" data-path="images/bridge-flow-light.svg" />

  <img className="hidden dark:block w-full" src="https://mintcdn.com/nekzus-32/wIIYDOTzEWhk_yGr/images/bridge-flow-dark.svg?fit=max&auto=format&n=wIIYDOTzEWhk_yGr&q=85&s=657168d861351525e1c1390f983fc993" alt="Arquitectura del Puente LIOP MCP" width="1000" height="480" data-path="images/bridge-flow-dark.svg" />
</Frame>

<Steps>
  <Step title="Instalación de Dependencias">
    En el proyecto Node.js de su servidor MCP actual, agregue la dependencia de `@nekzus/liop`:

    ```bash theme={null}
    pnpm add @nekzus/liop
    ```

    El archivo `package.json` debe declarar ambos SDKs:

    ```json theme={null}
    {
      "dependencies": {
        "@modelcontextprotocol/sdk": "^1.6.0",
        "@nekzus/liop": "^2.4.0",
        "zod": "^3.24.0"
      }
    }
    ```
  </Step>

  <Step title="Envolver el Servidor MCP Existente">
    A continuación se ilustra la implementación de un servidor MCP antes y después de aplicar `LiopMcpBridge`:

    <CodeGroup>
      ```typescript antes.ts (MCP Estándar) theme={null}
      import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
      import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
      import { z } from "zod";

      const server = new McpServer({
        name: "CustomerSupportTools",
        version: "1.0.0",
      });

      server.tool(
        "query_customer_orders",
        { customerId: z.string() },
        async ({ customerId }) => {
          const orders = await fetchOrdersFromDatabase(customerId);
          return {
            content: [{ type: "text", text: JSON.stringify(orders) }],
          };
        },
      );

      const transport = new StdioServerTransport();
      await server.connect(transport);
      ```

      ```typescript despues.ts (Puente LIOP Zero-Trust) theme={null}
      import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
      import { LiopMcpBridge, PII_PRESETS } from "@nekzus/liop/bridge";
      import { z } from "zod";

      // 1. Las herramientas del servidor MCP original se mantienen intactas
      const mcpServer = new McpServer({
        name: "CustomerSupportTools",
        version: "1.0.0",
      });

      server.tool(
        "query_customer_orders",
        { customerId: z.string() },
        async ({ customerId }) => {
          const orders = await fetchOrdersFromDatabase(customerId);
          return {
            content: [{ type: "text", text: JSON.stringify(orders) }],
          };
        },
      );

      // 2. Envolver la instancia con filtros de seguridad y anuncio en la red P2P
      const bridge = new LiopMcpBridge(mcpServer, {
        publishToMesh: true,
        meshIdentity: "SupportEnclave_01",
        security: {
          forbiddenKeys: ["internal_tax_id", "credit_card_token"],
          piiPatterns: PII_PRESETS.US_COMPLIANT,
          enableNerScanning: true,
        },
      });

      // 3. Conectar el puente (inicia el transporte gRPC y publica las herramientas en la DHT)
      await bridge.connect();
      ```
    </CodeGroup>
  </Step>

  <Step title="Configuración de Clientes de Escritorio IA">
    ### Configuración en Claude Desktop

    En sistemas Windows con instalación MSIX/Store, el archivo de configuración se ubica en:
    `%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json`.

    En macOS o Linux, se ubica en `~/Library/Application Support/Claude/claude_desktop_config.json` o `~/.config/Claude/claude_desktop_config.json`.

    Incorpore el servidor puenteado:

    ```json theme={null}
    {
      "mcpServers": {
        "support-liop-bridge": {
          "command": "node",
          "args": ["dist/bridge.js"],
          "env": {
            "NODE_ENV": "production",
            "LIOP_CLEARANCE_TIER": "3"
          }
        }
      }
    }
    ```

    ### Configuración en Cursor

    En la sección de ajustes de Cursor (**Features > MCP Servers**), agregue:

    ```json theme={null}
    {
      "name": "liop-mesh-tools",
      "type": "command",
      "command": "node /ruta/al/proyecto/dist/bridge.js"
    }
    ```
  </Step>
</Steps>

***

## Comparativa Arquitectónica: Extracción de Contexto vs. LIOP

Las siguientes métricas corresponden al análisis real de un registro de auditoría de 100.000 líneas (\~48 MB):

| Métrica                               | Servidor MCP Tradicional               | Enclave Puenteado LIOP                     | Diferencial              |
| ------------------------------------- | -------------------------------------- | ------------------------------------------ | ------------------------ |
| **Transferencia por Red (Egress)**    | `48.2 MB` (Datos crudos)               | `312 bytes` (Resumen analítico)            | **99.999% de reducción** |
| **Consumo de Ventana de Contexto**    | `~36.500 tokens`                       | `184 tokens`                               | **99.5% de reducción**   |
| **Costo de Inferencia (por llamada)** | `$0.11` (prompt con gran volumen)      | `< $0.001` (micro-prompt)                  | **99.1% de ahorro**      |
| **Cifrado de Transporte**             | TLS 1.3 / Texto plano en tubería stdio | Intercambio de Claves ML-KEM-768           | Seguridad Post-Cuántica  |
| **Garantía de Integridad**            | Ninguna (Datos sin firmar)             | Recibo ZK (Sello HMAC-SHA256)              | Prueba Matemática        |
| **Prevención de Fuga de Datos (PII)** | Verificaciones manuales en código      | Filtro de Salida en 4 Etapas (Regex + NER) | Control Automatizado     |

***

## Verificación de la Migración

Ejecute una consulta de prueba desde su cliente para certificar que:

1. Las herramientas aparecen de forma automática en el selector del cliente.
2. Las invocaciones devuelven respuestas consolidadas.
3. Si un controlador intenta emitir una clave restringida (ej. `"credit_card_token"`), el filtro intercepta el payload y lo sustituye por una señal `[EGRESS_PII_VIOLATION]` antes de que abandone el servidor.
