/ Diretório / Playground / CodeRunner
● Comunidade instavm ⚡ Instantâneo

CodeRunner

por instavm · instavm/coderunner

Execução de código isolada em VM para agentes — Python, Playwright, kernel Jupyter persistente, tudo em sandbox fora do seu host.

CodeRunner dá ao Claude (e a outros agentes) um sandbox seguro e persistente: execute Python com um kernel Jupyter de longa duração, faça scraping com Playwright, manipule PDFs e imagens. Isolamento em nível de VM baseado em container significa que você pode deixar um agente executar código não confiável sem danificar sua máquina. Expõe-se como MCP para funcionar em qualquer cliente.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

pronto

Instalação

Repositório do autor · Documentação oficial de Skills do Claude

Casos de uso

Usos do mundo real: CodeRunner

Deixar o Claude executar código não confiável sem colocar seu laptop em risco

👤 Devs experimentando com código gerado automaticamente ⏱ ~15 min intermediate

Quando usar: Você quer que o Claude escreva + execute um script que você não revisou completamente.

Fluxo
  1. Passar a tarefa
    Use coderunner. Write a Python script that downloads my Strava activities CSV from <url>, parses, and computes weekly mileage. Run it in the sandbox.✓ Copiado
    → Script executado; saída mostrada; nada tocou meu filesystem
  2. Iterar
    Add a chart of weekly mileage. Re-run.✓ Copiado
    → Gráfico renderizado; estado do kernel preservado (sem re-import)
  3. Exportar resultados
    Save CSV + chart to ./out/ on host (this only).✓ Copiado
    → Apenas esse caminho escrito; sandbox continua selado

Resultado: Experimentos rápidos sem «ops, deletou /Users».

Armadilhas
  • Acesso à rede ainda permitido no sandbox — Desabilite a rede se executar código verdadeiramente não confiável; caso contrário pode exfiltrar dados
Combine com: filesystem

Análise de dados persistente com Claude

👤 Analistas usando Claude como copiloto Jupyter ⏱ ~30 min beginner

Quando usar: Você quer uma sessão exploratória de dados de 30 minutos sem perder o estado do kernel.

Fluxo
  1. Carregar dados uma vez
    Use coderunner. Load /data/sales.csv into df. Show schema + 5 sample rows.✓ Copiado
    → df no kernel; persiste pela sessão
  2. Queries ad-hoc
    Pivot by region × month, show top 5 anomalies.✓ Copiado
    → Pivot + linhas sinalizadas
  3. Exportar
    Save the anomalies subset to /out/anomalies.csv on host.✓ Copiado
    → CSV em /out/

Resultado: Análise com qualidade de notebook via chat, com código rodando de verdade.

Armadilhas
  • Estado do kernel deriva em sessões longas; resultados baseados em variáveis obsoletas — Reinicie o kernel entre tarefas não relacionadas; o Claude pode emitir %reset
Combine com: filesystem

Fazer scraping de um site com JS pesado com segurança

👤 Devs precisando de dados pontuais de SPAs ⏱ ~20 min intermediate

Quando usar: O site precisa de navegador completo; você não quer um processo Chrome rodando no seu host.

Fluxo
  1. Iniciar uma sessão
    Use coderunner Playwright. Open <url>, wait for the table, extract rows as JSON.✓ Copiado
    → JSON retornado; navegador ficou no sandbox
  2. Iterar seletores
    Selector missed the price column; adjust to find it.✓ Copiado
    → Seletor atualizado; dados completos

Resultado: Dados extraídos; sem rastro de navegador no host.

Armadilhas
  • Site detecta headless e bloqueia — Mude para chromium com as opções --headed=false-but-stealth que a skill expõe

Combinações

Combine com outros MCPs para 10× de alavancagem

coderunner-skill + filesystem

Mover dados dentro/fora do sandbox apenas via caminhos montados

Mount only /Users/me/data and /Users/me/out; everything else is read-only.✓ Copiado
coderunner-skill + duckduckgo-mcp

Pipeline de busca → fetch → análise

Search via duckduckgo, scrape via coderunner Playwright, analyze in Python.✓ Copiado

Ferramentas

O que este MCP expõe

FerramentaEntradasQuando chamarCusto
run_python code: str Qualquer execução de código 0
browser_navigate url, wait_for? Sessão Playwright para scraping de SPA 0
browser_extract selector, format Extrair dados após navegar 0
pdf_ops input_path, op, args Mesclar / dividir / extrair PDF 0
image_ops input_path, op, args Redimensionar, converter formato, OCR 0
kernel_reset — Entre sessões não relacionadas 0

Custo e limites

O que custa rodar

Cota de API
Nenhuma — local
Tokens por chamada
Apenas os tokens de código/saída
Monetário
Gratuito
Dica
Kernel persistente economiza tokens vs re-importar; reinicie apenas quando o estado estiver errado

Segurança

Permissões, segredos, alcance

Escopos mínimos: Apenas caminhos de filesystem montados Rede on/off via configuração
Armazenamento de credenciais: Não coloque secrets no sandbox a menos que esteja OK com o agente vendo-os
Saída de dados: Se a rede estiver ativa, o sandbox pode acessar qualquer URL — desabilite para execuções sensíveis
Nunca conceda: Mount de $HOME ou / — o sandbox perde o sentido

Solução de problemas

Erros comuns e correções

install.sh falha no Linux

O projeto é de primeira classe em macOS Apple Silicon; suporte a Linux varia. Verifique os issues para notas específicas de distro

Estado obsoleto do Playwright

Execute kernel_reset; contexto de navegador antigo pode persistir entre chamadas

Sandbox não consegue acessar a internet

Rede desabilitada na configuração; ative se precisar. Por outro lado, isole quando não for necessário

Dependências faltando na skill de PDF/imagem

Imagem do container inclui as comuns; reconstrua a imagem para adicionar dependências customizadas

Alternativas

CodeRunner vs. outros

AlternativaQuando usarTroca
Beta de execução de código da AnthropicVocê quer execução server-side sem sandbox localNa nuvem; dados saem da sua máquina
Docker manualVocê quer controle total da imagem do containerConfiguração manual; sem servidor MCP pronto

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills