Building a Crystal MCP for Web Search and Content Extraction

It was 7pm on a Wednesday. I was staring at my terminal, watching OpenCode try to answer a question about a library it had never seen before. The LLM was doing its best. But it was hallucinating API endpoints that didn’t exist. And I thought: “Why can’t my AI just… search the web?” The Problem I use OpenCode, Claude Code and some times Crush as my daily coding companion. It’s powerful. But it has a blind spot: The native web fetch can’t access claudflare protected sites. ...

March 25, 2026 · 6 min read · 1189 words · enrell

I Built a NPM Package for Parsing Anime Filenames — Here's My Story

It was 3 AM on a Tuesday night. I was staring at my anime folder, scrolling through filenames like: [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 And I thought to myself: “There has to be a better way.” Sound familiar? If you’ve ever built a media library, you know exactly what I’m talking about. Those messy, inconsistent filenames — they drive me crazy. And the existing parsers? Either too slow, too rigid, or didn’t handle the wild variety of naming conventions we anime fans use. ...

February 21, 2026 · 4 min read · 791 words · enrell

Sharing some learnings about MCP and AST

Hello, world! First of all, I want to say that this is my first post in a long time, and I hope to keep writing more often. I have been working on a MCP (Model Context Protocol) for a while now, and I have been learning a lot about typescript AST manipulation. I want to share some of my learnings with you. What is a MCP (Model Context Protocol)? MCP is an open protocol that allows you to standardize the way that applications provide context to their models. ...

June 29, 2025 · 4 min read · 659 words · enrell