Skip to content

mauricioperera/kite-lite

v0.1.0MIT

agent-tools-runtime plugin for kite-lite: a stdio MCP client wrapping the kite-lite browsing/rendering engine, plus a deterministic page-overview skill.

agent-tools-plugin-kite-lite

Plugin de agent-tools-runtime para kite-lite, un motor web ligero en Rust orientado a agentes.

A diferencia de otros plugins que envuelven una REST API con un catálogo de tools inventado por el propio plugin, kite-lite ya habla MCP real (JSON-RPC 2.0 sobre stdio). Este plugin es un cliente MCP que spawnea el binario como proceso hijo y reenvía tools/list/tools/call tal cual — no reinventa el catálogo.

Requisitos

Necesitás el binario kite-lite accesible. La forma más simple es instalarlo desde crates.io:

cargo install kite-lite

Esto deja kite-lite (y kite-lite-js, su evaluador aislado) en el PATH de cargo (~/.cargo/bin). Alternativa, para trabajar sobre un checkout local del motor:

git clone https://github.com/MauricioPerera/kite-lite.git
cd kite-lite
cargo build --release

Instalación

npm install agent-tools-plugin-kite-lite

Configuración

Si instalaste con cargo install kite-lite, el binario ya queda en el PATH de cargo y no hace falta ninguna variable. Si estás usando un build local (target/release/kite-lite) o un binario en otra ubicación, apuntá KITE_LITE_BIN ahí:

export KITE_LITE_BIN="/ruta/a/kite-lite/target/release/kite-lite"

Tools expuestas

Con prefix: "kite", el runtime genera:

  • agent_tools_kite_discover({ query? })
  • agent_tools_kite_call({ toolName, arguments, confirm? })
  • agent_tools_kite_run_skill({ skill, arguments })

Catálogo de toolName disponibles vía _call (definido por el propio MCP de kite-lite, no por este plugin):

ToolDescripciónMuta la sesión
fetch_pageTrae una URL y devuelve título/texto/links, sin afectar la sesión persistenteNo
render_screenshotTrae una URL y la renderiza a PNG o SVGNo
eval_jsEvalúa una expresión JS contra un snapshot de solo lectura del documentoNo
browser_get_domHTML de la sesión actual (o de un selector)No
browser_screenshotRenderiza la sesión actual a PNG o SVGNo
browser_navigateNavega la sesión persistente a una URL
browser_clickClickea el primer elemento que matchea un selector
browser_typeEscribe texto en el input/textarea enfocado
browser_call_toolLlama una tool WebMCP declarada en la página actual

Skills

  • page-overview({ url, screenshot?, format? }) — navega la sesión persistente a url y (salvo que screenshot: false) la screenshotea, en una sola llamada.

Licencia

MIT.