Saltar al contenido principal
El ecosistema @nekzus/neural-mesh está diseñado para ser potente pero familiar. Si has construido servidores para MCP, la transición a NMP es casi directa. En esta guía, crearemos un Servidor NMP que expone una herramienta y un Cliente que la invoca.
Internamente, NMP compila tu lógica a WebAssembly y la inyecta vía P2P. El SDK abstrae todo esto para que te enfoques en la lógica de negocio.

1. Instalación

Instala el SDK en tu proyecto de Node.js o TypeScript.
npm install @nekzus/neural-mesh zod

2. Crear un Servidor NMP (Data Node)

Un Servidor NMP actúa como un Nodo de Datos. Se conecta a la malla y espera lógica inyectada de agentes remotos. Crea un archivo llamado server.ts:
server.ts
import { NmpServer } from '@nekzus/neural-mesh';
import { z } from 'zod';

// Inicializa el servidor con identidad
const server = new NmpServer({
  name: "MyLocalDataNode",
  version: "1.0.0"
});

// Expone una capacidad (Tool)
server.tool(
  "query_database",
  "Analiza tablas masivas directamente en el origen.",
  { query: z.string() },
  async ({ query }) => {
    console.log(`[Server] Ejecutando Logic-on-Origin: ${query}`);
    
    // Aquí se procesarían los datos locales (ej. 5GB)
    // Solo el resultado final sale del servidor
    return {
      content: [{ type: "text", text: `Resultado de la consulta: ${query}` }]
    };
  }
);

// Inicia la conexión y anúncialo en la malla DHT Kademlia
async function main() {
  await server.connect();
  console.log("Servidor NMP escuchando en la malla...");
}

main().catch(console.error);

3. Crear un Cliente NMP (Agent Node)

El Cliente actúa como la Inteligencia. Descubre servidores e inyecta solicitudes (intenciones). Crea un archivo llamado client.ts:
client.ts
import { NmpClient } from '@nekzus/neural-mesh';

async function main() {
  const client = new NmpClient({
    name: "AI_Research_Agent",
    version: "2.5.1"
  });

  await client.connect();
  console.log("Conectado al Neural Mesh Protocol...");

  try {
    // Descubre el servidor e inyecta la lógica
    const result = await client.callTool("MyLocalDataNode", "query_database", {
      query: "SELECT * FROM massive_table WHERE anomaly = true"
    });

    console.log("Resultado verificado matemáticamente:");
    console.log(result.content[0].text);
  } catch (err) {
    console.error("Fallo en la ejecución del Agente:", err);
  }
}

main().catch(console.error);

4. Ejecutar la Malla

Primero, inicia el servidor:
npx tsx server.ts
# Salida: Servidor NMP escuchando en la malla...
En otra terminal, lanza el Agente:
npx tsx client.ts
# Salida: Conectado al Neural Mesh Protocol...
# Salida: Resultado verificado matemáticamente:
# Salida: Resultado de la consulta: SELECT * FROM massive_table WHERE anomaly = true

¿Qué acaba de ocurrir?

A diferencia de las APIs tradicionales:
  1. Tu Cliente descubrió el Servidor instantáneamente mediante Kademlia P2P.
  2. Un handshake Kyber Post-Cuántico aseguró la comunicación.
  3. La consulta se serializó en un formato binario Protobuf ultra compacto.
  4. La ejecución ocurrió dentro de un sandbox WASI en el servidor, aislado del host físico.

Siguientes Pasos

Ahora que has ejecutado tu primera misión en la malla, explora la arquitectura para aprovechar Watchdogs y Pruebas ZK.

Arquitectura del Core

Aprende cómo la capa de datos y transporte se sinergizan en NMP.