
Vibe MCp & Impractical Code

Trevor Hudson
May 2, 2025 ⢠4 min read
I climbed the traditional career ladder. I failed at becoming a rock star, then learned how to code, failed at a startup, then became a product manager. It's a tale as old as Sun Microsystems. I've oscillated between being the guy you pitch your billion dollar idea to for 5 percent of the company and the annoying guy doing the pitching.
The Dream of a Personal Soundtrack
One idea that has followed me for years is the idea that you could have a spontaneous soundtrack that follows you throughout your life. I imagined it as a recommendation system that uses as much signal as possible ā accelerometers, gps, surrounding audio etc. to play the right music at the right time, to go with whatever you are experiencing in that moment. Music just makes things more epic, whether it's going on a run, walking through a city at night, or getting locked in on your coding project.
I never could have imagined that not only would that vision be attainable but that the music itself could be spontaneously generated. Less a DJ and more Rick Rubin on your machine.
Vibe MCp is not that. But it gives me the same feeling. The feeling that it could do something very unpredictable - a bad thing for enterprise software but a good thing for life. When you tell Cline to start a vibe session, it will use whatever code it has in context and generate music to match it. How? Through an over-engineered set of algorithms that don't really make sense but hey, it's still a vibe.
Here are some of the functions in utils.ts:
AnalyzeComplexity
calculateEntropy
analyzeCodeBinaryForMood
analyzeCodeStructure
analyzeCodeStyle
analyzeSentiment
No one wants to code review it and that's okay. It "works". The output sent to Stability Audio looks something like this:
šµ Vibe session started:
Genre: lo-fi house
Mood: chaotic, patterned
Tempo: 106 BPM
Style: smooth and flowing
Sentiment: neutral Inspiration: javascript code that is clean and elegant
Instrumentation: acoustic kick & snare, four-on-the-floor house kit, side-chained saw pad, percussive hi-hat shuffle, minimal sub-bass
The music should capture the essence of coding in javascript, with a chaotic, patterned atmosphere.
Do Programming Languages Have Musical Genres?
Does code even have a vibe? What do you think?
The following mapping is naive, but who am I to argue with Cline?
javascript: ["lo-fi house", "chillhop", "trip hop"]
typescript: ["synthwave", "ambient techno", "deep house"]
python: ["ambient", "downtempo", "chillwave"]
java: ["orchestral", "cinematic", "epic"]
csharp: ["electronic", "IDM", "glitch"]
ruby: ["jazz", "bossa nova", "smooth jazz"]
go: ["minimal techno", "dub techno", "microhouse"]
rust: ["industrial", "dark ambient", "techno"]
php: ["vaporwave", "retrowave", "future funk"]
html: ["pop", "indie pop", "electropop"]
css: ["dream pop", "shoegaze", "ambient pop"]
sql: ["acid jazz", "nu jazz", "broken beat"]
shell: ["breakbeat", "drum and bass", "jungle"]
I don't know if I agree that ruby is jazz but I can definitely get onboard with rust as industrial and css as shoegaze. And we all know that html is pop. The Drake of programming languages, declarative and one-dimensional.
Building With Cline: From PM to Weekend Coder
The fact that I was able to build this in a couple of hours over a weekend is kind of insane. I stopped coding for 3 years when I was a founder and for the last 4 as a PM I worked on a lot more strategy than code. With Cline I was a able to spend more of my time playing around with the APIs and testing ideas than learning about syntax. It's a higher order of thinking.
I think we're all feeling this, despite our range in technical ability. Everyone is talking about the 10x productivity gains and the potential job losses. But what about that fact that code doesn't have to be practical anymore? You can come up with whatever idea you want and actually make it a reality - infinite gains over 900% improvement.
I added "lyrical mode" to Vibe MCp to actually generate songs with lyrics about your code (beware of latency). It's damn hilarious. But if I had to bang my head against the keyboard to make it function and squash bug after bug to make a stupid tool I could show my friends, I'd probably give up. In my mind, Cline abstracts away the frustrating parts of coding and leaves you with the flow, the vibe, the creativity that fuels one of the most powerful forces: open source software.

Lessons Learned From Building an MCP
And speaking of open source, let's talk about MCPs. Building an impractical one helped me push the protocol to its limits. One thing we're thinking about here at Cline is where to take tool use and discoverability to enable the future where agents can do all things we're too lazy to do ourselves. I'll let my least-privilege obsessed colleagues touch on the security aspects but here are some things I encountered:
- There should be a way to define not just a description of a tool but also an instructions property specifically meant for the AI. This is to provide clients with more context around calling it and what to do with the response. In the UI, we can make it visible (for transparency) but collapsed.
- The MCP should be able to stream messages back to the client asynchronously. Like vibe MCp, I think many tools we will want to use will kick off background tasks. Those tasks will need to report their statuses for the client to process and present to the user. Imagine delegating complex task. Wouldn't you want to know when blockers present themselves and get updates to make sure it's being approached correctly?
- The MCP should be able to pass UI elements to the client to render. In my case, it would great if the MCP could pass a player component back to the client so the users can play, pause, stop in a familiar interface.
- This last one is unrelated to MCPs. Can someone way smarter than me please develop a generative audio streaming API? Maybe similar in structure to OpenAI's realtime API with WebRTC? In the words of Bill Burr as Steve Jobs, "GET ON IT!"
Let me know what useful and useless things y'all are building out there. Please reach out, seriously. And check out all of these incredible MCPs.
I'm super excited to be a part of this community of builders and to make Cline better at production software and vibe coding alike. Here's to AI and Cline and PMs who need that feature yesterday. Make code fun again.
-Trevor