Built-in tool _webmcp_browser-info para ver navegadores conectados
Agrega metadata tracking de browsers (userAgent, URL, hostname, idioma, resolucion, timestamp) y tool browser-info para consultarla.
This commit is contained in:
31
README.md
31
README.md
@@ -74,19 +74,44 @@ Tool built-in `_webmcp_quitar-tool` con tres modos de operación. Solo disponibl
|
||||
|
||||
En los tres casos, después de resolver se llama `sendToolListChanged()` para que Claude actualice su lista.
|
||||
|
||||
#### 3. Eliminación de `define-mcp-tool`
|
||||
#### 3. `browser-info` — Información de navegadores conectados
|
||||
|
||||
Tool built-in `_webmcp_browser-info` que muestra metadata de todos los navegadores conectados al servidor. Siempre disponible (no requiere `--dev`).
|
||||
|
||||
**No recibe parámetros.** Retorna un JSON array con la info de cada navegador:
|
||||
|
||||
| Campo | Descripción |
|
||||
|---|---|
|
||||
| `channel` | Canal WebSocket al que está conectado |
|
||||
| `userAgent` | User agent del navegador |
|
||||
| `url` | URL completa de la página |
|
||||
| `hostname` | Hostname de la página |
|
||||
| `language` | Idioma del navegador |
|
||||
| `screenWidth` | Ancho de la ventana (px) |
|
||||
| `screenHeight` | Alto de la ventana (px) |
|
||||
| `connectedSince` | Timestamp de cuando se conectó |
|
||||
|
||||
**Flujo:** El navegador envía su `clientInfo` automáticamente al conectarse (en el `welcome`). El servidor almacena esta metadata en un `Map`. Cuando el agente llama `browser-info`, el server recopila la info de todos los clientes conectados y la retorna.
|
||||
|
||||
Si no hay navegadores conectados, retorna `"No hay navegadores conectados"`.
|
||||
|
||||
#### 4. Eliminación de `define-mcp-tool`
|
||||
|
||||
Se eliminó la built-in `_webmcp_define-mcp-tool` del upstream por no tener utilidad real en este fork.
|
||||
|
||||
#### 4. Manejo de mensajes nuevos en el cliente web (webmcp.js)
|
||||
#### 5. Manejo de mensajes nuevos en el cliente web (webmcp.js)
|
||||
- `createTool` — recibe la definición de herramienta del server, la compila y registra localmente
|
||||
- `removeTool` — elimina una herramienta específica del registro local
|
||||
- `removeAllTools` — limpia todas las herramientas del registro local
|
||||
- `clipboardCopy` — permite copiar texto al portapapeles del usuario (usado para tokens)
|
||||
- `clientInfo` — envía metadata del navegador al servidor al conectarse (automático en welcome)
|
||||
- `getClientInfo` — responde con metadata actualizada del navegador cuando el server la solicita
|
||||
|
||||
#### 5. Ruteo en WebSocket Server (websocket-server.js)
|
||||
#### 6. Ruteo en WebSocket Server (websocket-server.js)
|
||||
- `handleCreateTool()` — recibe la petición del MCP server, encuentra un navegador conectado y le reenvía la instrucción de crear la herramienta
|
||||
- `handleRemoveTool()` — maneja listar/eliminar herramientas, sincroniza entre el registry del server y los navegadores conectados
|
||||
- `handleClientInfo()` — almacena la metadata del navegador en `clientMetadata` al conectarse
|
||||
- `handleGetClientInfo()` — recopila metadata de todos los navegadores conectados y responde al MCP server
|
||||
|
||||
## Instalación
|
||||
|
||||
|
||||
Reference in New Issue
Block a user