A satirical code analysis tool that assigns personality types to your functions (main character energy, NPC behavior, villain origin story) and rates variable names on aesthetic energy scales. It parses your code and returns JSON with vibe scores, renaming suggestions like turning "error" into "chaosEvent" or "userData" into "soulContainer", and assessments like "Your code reads like a mystery novel." You get an overall vibe score out of 10, personality classifications for each function, and energy ratings for variables. This is explicitly not useful for actual code review. It's for when you want your linter to roast your naming conventions with creative writing flair instead of actionable feedback.
Your code has energy. Time to find out what kind.
An MCP server that gives your code a vibe check — assigning personality types to functions, rating variable name energy, and suggesting more aesthetic alternatives. Because userData was never the right name. It should be soulContainer.
handleSubmit a main character, or does it have NPC behavior? Find out.x gets "cryptic oracle energy (3/10)". MAXIMUM_RETRY_COUNT gets "dramatic monologue energy (9/10)". They earned it.isValid → vibesPassing. error → chaosEvent. You're welcome.Input:
function handleSubmit(userData, isValid) {
const result = userData.name;
return result;
}
Output:
{
"overallVibe": "cozy cottage-core with hints of cyberpunk",
"vibeScore": 6.8,
"functions": [
{
"name": "handleSubmit",
"personality": "main character energy",
"assessment": "This function carries the entire plot"
}
],
"variables": [
{
"name": "userData",
"energy": 7,
"assessment": "classic protagonist (7/10) — reliable, not flashy",
"suggestion": "soulContainer"
},
{
"name": "isValid",
"energy": 7,
"assessment": "classic protagonist (7/10) — reliable, not flashy",
"suggestion": "vibesPassing"
},
{
"name": "result",
"energy": 5,
"assessment": "functional but uninspired (5/10) — exists, which is something",
"suggestion": "manifestation"
}
],
"codeAesthetic": "Your code reads like a mystery novel — lots of setup, unclear payoff",
"recommendation": "Consider adding more comments for dramatic tension"
}
npx mcp-vibe-check
Add to your .mcp.json:
{
"mcpServers": {
"vibe-check": {
"command": "npx",
"args": ["-y", "mcp-vibe-check"]
}
}
}
Then ask Claude: "What vibes does this codebase give off?"
Your functions can be:
| Type | Meaning |
|---|---|
| main character energy | Carries the entire plot |
| side quest vibes | Important but easily forgotten |
| NPC behavior | Does its job without complaint |
| protagonist arc | Started simple, evolved into something bigger |
| villain origin story | Nobody asked for this complexity |
| comic relief | Technically unnecessary, yet essential |
| mentor energy | Older, wiser, called at critical moments |
| chosen one potential | Untested but destined for greatness |
Is this useful for code review? No. That's the point.
Will this improve my code quality? Statistically unlikely. Spiritually, possibly.
Why does console.log hurt my vibe score?
Because it's not aesthetic. Use a proper logger. Your stdout deserves better.
My function got "NPC behavior". Should I be offended? Only if your function has feelings. Which, based on this tool, it might.
"Not all code reviews need to be actionable. Some just need to be vibes."