Yandex Browser Tabs
Um servidor MCP para gerenciar abas do Yandex Browser com funcionalidade estendida.
Documentação
Yandex Browser Tabs MCP Server v2.0
Servidor MCP (Model Context Protocol) para gerenciar abas do Yandex Browser com funcionalidade avançada.
🚀 Novos recursos na versão 2.0
📊 Acesso direto ao console do navegador
- Captura de todos os logs do console (log, warn, error, info)
- Salvamento do histórico do console
- Filtragem de logs por tipo
🎯 Rolagem rápida
- Rolagem até um elemento com animação suave
- Rolagem em qualquer direção por uma distância definida
- Suporte aos modos smooth e instant
📄 Obtenção de informações sem capturas de tela
- Extração de texto da página ou de um elemento
- Obtenção do conteúdo HTML (inner/outer)
- Leitura de atributos de elementos
- Obtenção de metainformações da página
🎮 Interação avançada
- Efeitos de hover
- Pressionamento de teclas e combinações
- Preenchimento de formulários
- Espera pelo aparecimento de elementos
📋 Instalação
# Клонируйте репозиторий
git clone <repository-url>
cd yandex-browser-mcp
# Установите зависимости
npm install
# Соберите проект
npm run build
🔧 Uso
1. Inicie o Yandex Browser no modo de depuração
Use um dos arquivos batch fornecidos:
start-yandex-debug.bat
Ou manualmente:
"C:\Users\%USERNAME%\AppData\Local\Yandex\YandexBrowser\Application\browser.exe" --remote-debugging-port=9222
2. Conecte o servidor MCP ao Claude Desktop
Adicione à configuração do Claude Desktop:
{
"mcpServers": {
"yandex-browser": {
"command": "node",
"args": ["C:\\Users\\Professional\\Desktop\\yandex-browser-mcp\\build\\index.js"]
}
}
}
📚 Lista completa de funções
Funções básicas
connect_to_browser
Conectar-se ao Yandex Browser já aberto
connect_to_browser({ port?: number })
list_tabs
Obter a lista de todas as abas abertas
list_tabs({})
navigate
Navegar para uma URL na aba especificada
navigate({
url: string,
tabIndex?: number,
waitForSelector?: string
})
Interação com elementos
click
Clicar em um elemento
click({ selector: string, tabIndex?: number })
type
Digitar texto em um campo
type({
selector: string,
text: string,
tabIndex?: number,
delay?: number
})
hover
Passar o cursor sobre um elemento
hover({ selector: string, tabIndex?: number })
key_press
Pressionar uma tecla ou combinação
key_press({
key: string,
modifiers?: ['Control' | 'Shift' | 'Alt' | 'Meta'][],
tabIndex?: number
})
Rolagem
scroll
Rolar a página ou até um elemento
scroll({
tabIndex?: number,
direction?: 'up' | 'down' | 'left' | 'right',
distance?: number,
selector?: string,
smooth?: boolean
})
Obtenção de informações
get_text
Obter o conteúdo de texto
get_text({ selector?: string, tabIndex?: number })
get_html
Obter o conteúdo HTML
get_html({
selector?: string,
outerHTML?: boolean,
tabIndex?: number
})
get_attributes
Obter os atributos de um elemento
get_attributes({
selector: string,
attributes?: string[],
tabIndex?: number
})
get_page_info
Obter informações sobre a página
get_page_info({ tabIndex?: number })
// Возвращает: URL, title, description, viewport, metaTags
get_console_logs
Obter os logs do console do navegador
get_console_logs({
tabIndex?: number,
type?: 'all' | 'log' | 'warn' | 'error' | 'info',
limit?: number
})
Trabalho com formulários
fill_form
Preencher um formulário com dados
fill_form({
formSelector?: string,
fields: { [selector: string]: any },
tabIndex?: number
})
Utilitários
wait_for_element
Aguardar o aparecimento de um elemento
wait_for_element({
selector: string,
tabIndex?: number,
timeout?: number,
visible?: boolean
})
screenshot
Tirar uma captura de tela
screenshot({
name: string,
tabIndex?: number,
fullPage?: boolean,
selector?: string
})
evaluate
Executar código JavaScript
evaluate({ script: string, tabIndex?: number })
execute_test
Executar teste (selecionar respostas e enviar)
execute_test({
tabIndex: number,
testSelectors: string[],
submitButtonSelector: string
})
💡 Exemplos de uso
Exemplo: Monitoramento do console e extração de dados
// Подключаемся к браузеру
connect_to_browser({})
// Переходим на страницу
navigate({ url: "https://example.com" })
// Получаем логи консоли
get_console_logs({ type: 'error' })
// Извлекаем текст
get_text({ selector: '.main-content' })