Yandex Browser Tabs
Un servidor MCP para gestionar las pestañas del navegador Yandex con funcionalidad extendida.
Documentación
Yandex Browser Tabs MCP Server v2.0
Servidor MCP (Model Context Protocol) para gestionar pestañas del Yandex Browser con funcionalidad ampliada.
🚀 Novedades en la versión 2.0
📊 Acceso directo a la consola del navegador
- Captura de todos los registros de consola (log, warn, error, info)
- Guardado del historial de consola
- Filtrado de registros por tipo
🎯 Desplazamiento rápido
- Desplazamiento a un elemento con animación suave
- Desplazamiento en cualquier dirección a una distancia determinada
- Soporte de modos smooth e instant
📄 Obtención de información sin capturas de pantalla
- Extracción de texto de la página o de un elemento
- Obtención del contenido HTML (inner/outer)
- Lectura de atributos de elementos
- Obtención de metainformación de la página
🎮 Interacción ampliada
- Efectos hover
- Pulsación de teclas y combinaciones
- Relleno de formularios
- Espera de aparición de elementos
📋 Instalación
# Клонируйте репозиторий
git clone <repository-url>
cd yandex-browser-mcp
# Установите зависимости
npm install
# Соберите проект
npm run build
🔧 Uso
1. Inicie el Yandex Browser en modo de depuración
Use uno de los archivos batch proporcionados:
start-yandex-debug.bat
O manualmente:
"C:\Users\%USERNAME%\AppData\Local\Yandex\YandexBrowser\Application\browser.exe" --remote-debugging-port=9222
2. Conecte el servidor MCP a Claude Desktop
Agregue a la configuración de Claude Desktop:
{
"mcpServers": {
"yandex-browser": {
"command": "node",
"args": ["C:\\Users\\Professional\\Desktop\\yandex-browser-mcp\\build\\index.js"]
}
}
}
📚 Lista completa de funciones
Funciones básicas
connect_to_browser
Conectarse a un Yandex Browser ya abierto
connect_to_browser({ port?: number })
list_tabs
Obtener la lista de todas las pestañas abiertas
list_tabs({})
navigate
Navegar a una URL en la pestaña indicada
navigate({
url: string,
tabIndex?: number,
waitForSelector?: string
})
Interacción con elementos
click
Hacer clic en un elemento
click({ selector: string, tabIndex?: number })
type
Escribir texto en un campo
type({
selector: string,
text: string,
tabIndex?: number,
delay?: number
})
hover
Colocar el cursor sobre un elemento
hover({ selector: string, tabIndex?: number })
key_press
Pulsar una tecla o combinación
key_press({
key: string,
modifiers?: ['Control' | 'Shift' | 'Alt' | 'Meta'][],
tabIndex?: number
})
Desplazamiento
scroll
Desplazar la página o hacia un elemento
scroll({
tabIndex?: number,
direction?: 'up' | 'down' | 'left' | 'right',
distance?: number,
selector?: string,
smooth?: boolean
})
Obtención de información
get_text
Obtener el contenido de texto
get_text({ selector?: string, tabIndex?: number })
get_html
Obtener el contenido HTML
get_html({
selector?: string,
outerHTML?: boolean,
tabIndex?: number
})
get_attributes
Obtener los atributos de un elemento
get_attributes({
selector: string,
attributes?: string[],
tabIndex?: number
})
get_page_info
Obtener información sobre la página
get_page_info({ tabIndex?: number })
// Возвращает: URL, title, description, viewport, metaTags
get_console_logs
Obtener los registros de la consola del navegador
get_console_logs({
tabIndex?: number,
type?: 'all' | 'log' | 'warn' | 'error' | 'info',
limit?: number
})
Trabajo con formularios
fill_form
Rellenar un formulario con datos
fill_form({
formSelector?: string,
fields: { [selector: string]: any },
tabIndex?: number
})
Utilidades
wait_for_element
Esperar la aparición de un elemento
wait_for_element({
selector: string,
tabIndex?: number,
timeout?: number,
visible?: boolean
})
screenshot
Tomar una captura de pantalla
screenshot({
name: string,
tabIndex?: number,
fullPage?: boolean,
selector?: string
})
evaluate
Ejecutar código JavaScript
evaluate({ script: string, tabIndex?: number })
execute_test
Ejecutar una prueba (seleccionar respuestas y enviar)
execute_test({
tabIndex: number,
testSelectors: string[],
submitButtonSelector: string
})
💡 Ejemplos de uso
Ejemplo: Monitoreo de consola y extracción de datos
// Подключаемся к браузеру
connect_to_browser({})
// Переходим на страницу
navigate({ url: "https://example.com" })
// Получаем логи консоли
get_console_logs({ type: 'error' })
// Извлекаем текст
get_text({ selector: '.main-content' })