Eu Reescrevi Meu MCP em Crystal para Go — E Ficou Melhor: Better Search MCP

Se você leu meu último post, sabe que eu construí o searxng-web-fetch-mcp — um servidor MCP em Crystal que dá a assistentes de IA busca na web e fetching de conteúdo. Funcionou. Foi rápido. Eu shippinguei em uma noite. Mas depois de algumas semanas de uso diário, as coisas começaram a me incomodar. A extração era boa, mas não ótima. Alguns artigos voltavam com lixo de navegação. Outros tinham o conteúdo principal enterrado sob texto de sidebar. E o batch fetch, embora rápido, não me dava o controle que eu queria sobre o que voltava e como. ...

abril 21, 2026 · 9 min de leitura · 1717 palavras · enrell

Port: Uma TUI + CLI para Gerenciar Portas de Rede Abertas no Linux

Você roda um servidor, o terminal trava, e de repente o localhost:3000 ainda está ocupado. Você não faz ideia de qual processo é o dono. Te soa familiar? Port resolve isso. Duas formas de usar: $ port # Modo TUI — tabela interativa $ port 3000 # Modo CLI — mata a porta 3000 diretamente $ port --list # Lista portas como texto (scriptável) O Problema Acontece o tempo todo. Você inicia um servidor Node.js, um app Python Flask, ou um backend em Rust. Aí: ...

abril 14, 2026 · 4 min de leitura · 826 palavras · enrell

Construindo um MCP em Crystal para Busca na Web e Extração de Conteúdo

Eram 19h de uma quarta-feira. Eu estava olhando para o meu terminal, vendo o OpenCode tentar responder a uma pergunta sobre uma biblioteca que ele nunca tinha visto antes. O LLM estava fazendo o seu melhor. Mas estava alucinando endpoints de API que não existiam. E eu pensei: “Por que minha IA não pode simplesmente… pesquisar na web?” O Problema Eu uso o OpenCode, o Claude Code e às vezes o Crush como meus companheiros diários de programação. É poderoso. Mas tem um ponto cego: a busca nativa na web não consegue acessar sites protegidos pela Cloudflare. ...

março 25, 2026 · 7 min de leitura · 1315 palavras · enrell

Eu Criei um Pacote NPM para Fazer o Parse de Nomes de Arquivos de Anime — Aqui Está a Minha História

Eram 3 da manhã de uma terça-feira. Eu estava olhando para a minha pasta de animes, rolando por nomes de arquivos como: [SubsPlease] Spy x Family - 01 (1080p) [A4DAF3D9].mkv [Coalgirls] Clannad (1920x1080 Blu-Ray FLAC) [1234ABCD]/[Coalgirls] Clannad - 01 (1920x1080 Blu-Ray FLAC) [1234ABCD].mkv One Punch Man S02E03 1080p WEBRip x264-PandoR.mkv E pensei comigo mesmo: “Tem que haver um jeito melhor.” Soa familiar? Se você já montou uma biblioteca de mídia, sabe exatamente do que estou falando. Esses nomes de arquivos bagunçados e inconsistentes — eles me deixam louco. E os parsers existentes? Ou eram muito lentos, muito rígidos ou não lidavam com a variedade selvagem de convenções de nomenclatura que nós, fãs de anime, usamos. ...

fevereiro 21, 2026 · 5 min de leitura · 881 palavras · enrell

Compartilhando alguns aprendizados sobre MCP e AST

Hello, world! Primeiramente, quero dizer que este é o meu primeiro post em muito tempo, e espero continuar escrevendo com mais frequência. Tenho trabalhado em um MCP (Model Context Protocol) há algum tempo e tenho aprendido muito sobre a manipulação de AST no TypeScript. Quero compartilhar um pouco dos meus aprendizados com vocês. O que é um MCP (Model Context Protocol)? O MCP é um protocolo aberto que permite padronizar a forma como as aplicações fornecem contexto aos seus modelos. ...

junho 29, 2025 · 4 min de leitura · 652 palavras · enrell