Skip to main content
Glama

BaiakIdle MCP

Bridge local para analisar a página do BaiakIdle com um cliente MCP como o Codex. O projeto reúne somente:

  • uma extensão Tampermonkey que observa a página, fetch/XHR e WebSockets desde a criação;

  • um servidor MCP Node.js que expõe as capturas e comandos ao cliente.

A automação de jogo fica no projeto separado baiakidle-helper.

Como funciona

BaiakIdle no navegador
        │
        │ userscript: DOM + fetch/XHR + WebSocket
        ▼
Bridge local 127.0.0.1:8945
        │
        │ MCP via stdio
        ▼
Codex / outro cliente MCP

A porta 8945 aceita o WebSocket da extensão e possui fallback HTTP para eventos e comandos. Nada precisa ser exposto na rede: o servidor escuta apenas em 127.0.0.1.

Related MCP server: Chrome Extension MCP Bridge

Requisitos

  • Node.js 20 ou mais recente;

  • npm;

  • Tampermonkey com Allow User Scripts habilitado;

  • Codex ou outro cliente compatível com MCP via stdio.

Instalação

git clone https://github.com/iIlusion/baiakidle-mcp.git
cd baiakidle-mcp
npm install
npm --prefix mcp-server install
npm run build

Depois:

  1. Instale a bridge no Tampermonkey.

  2. Adicione o servidor ao arquivo config.toml do Codex, usando o caminho absoluto da sua cópia:

[mcp_servers.baiakidle-page-bridge]
command = "node"
args = ["C:/caminho/baiakidle-mcp/mcp-server/dist/index.js"]
startup_timeout_sec = 60
  1. Reinicie o Codex por completo.

  2. Abra ou recarregue https://baiakidle.com/jogar/.

  3. Confirme no console do navegador: [BaiakIdle monitor] bridge connected.

No Windows, use barras / ou duplique as barras invertidas no TOML. O executável indicado em args é gerado por npm run build.

Ferramentas MCP

Ferramenta

Finalidade

bridge_status

Estado da bridge, porta, quantidade de eventos e fila de comandos

list_events

Eventos recentes da página, fetch/XHR, inventário e WebSockets

clear_events

Limpa memória e arquivo local de capturas

get_page_snapshot

HTML, texto visível, links, formulários, scripts e viewport atuais

inspect_selector

Elementos, texto, HTML e posição encontrados por seletor CSS

reload_page

Recarrega a página monitorada

send_raw_packet

Envia bytes Base64 pelo WebSocket de gameplay identificado

Os frames binários são registrados em Base64. A bridge classifica automaticamente sockets de chat e gameplay pelos sinais observados, então não depende de um hostname fixo como rt3 ou rt4.

Desenvolvimento

Os userscripts gerados ficam exclusivamente em dist/:

  • dist/baiakidle-bridge.user.js: produção;

  • dist/baiakidle-bridge.dev.user.js: loader de desenvolvimento.

Para editar a extensão continuamente:

  1. Execute npm run build uma vez e instale dist/baiakidle-bridge.dev.user.js.

  2. Desative a bridge de produção no Tampermonkey.

  3. Execute:

npm run dev

O bundle recompila em watch mode e é servido em http://127.0.0.1:8947. Recarregar a página busca a versão atual sem reinstalar o userscript. A porta 8947 foi separada da porta 8946 usada pelo modo de desenvolvimento do Helper.

Comandos:

npm run dev             # bridge em watch mode + servidor local 8947
npm run build           # compila bridge e servidor MCP
npm run build:bridge    # compila apenas os userscripts
npm run build:mcp       # compila apenas o servidor Node.js
npm run typecheck       # valida os dois projetos TypeScript

Eventos e configuração

Por padrão, as últimas 2.000 capturas são mantidas e persistidas em mcp-server/data/events.json. A pasta é ignorada pelo Git.

Variáveis opcionais:

BAIAKIDLE_BRIDGE_PORT=8945
BAIAKIDLE_EVENT_FILE=C:/caminho/privado/events.json

Para diagnosticar apenas o transporte local, abra http://127.0.0.1:8945/status enquanto o servidor estiver ativo.

Solução de problemas

A extensão mostra falha em ws://127.0.0.1:8945/browser

  • confirme que o Codex iniciou o MCP e que o caminho no config.toml existe;

  • execute npm run build novamente;

  • verifique se outro processo já está usando a porta 8945;

  • reinicie o Codex e depois recarregue a página.

O userscript DEV não carrega

Execute npm run dev neste repositório e confirme que a porta é 8947. O loader DEV não usa a porta 8945 para servir JavaScript.

Os WebSockets não aparecem

A bridge precisa executar em document-start. Confirme que o script está ativado, que Allow User Scripts está habilitado e faça uma recarga completa da página.

Segurança e privacidade

As capturas podem conter identificadores de sessão, conteúdo da página e dados enviados pelo jogo. Não publique mcp-server/data/events.json, logs ou dumps do navegador. O .gitignore já protege esses caminhos, mas revise sempre git status antes de fazer commit.

send_raw_packet modifica a sessão atual. Use apenas na sua própria conta, com pacotes que você compreende, e respeite as regras do jogo. Este é um projeto independente, sem vínculo oficial com BaiakIdle.

Licença

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Live browser debugging for AI assistants — DOM, console, network via MCP.

  • MCP server for understanding Javascript internals from ECMAScript specification.

  • Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/iIlusion/baiakidle-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server