mcp-vibe-checker
v0.2.1
Published
Parses code to extract function and variable names, assigns personality types (main character, NPC, villain origin story, etc.), rates variable name energy 1-10, suggests aesthetic alternatives, and gives an overall vibe score with code aesthetic assessme
Maintainers
Readme
mcp-vibe-check
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.
What It Does
- Personality types for functions — Is
handleSubmita main character, or does it have NPC behavior? Find out. - Variable energy ratings —
xgets "cryptic oracle energy (3/10)".MAXIMUM_RETRY_COUNTgets "dramatic monologue energy (9/10)". They earned it. - Aesthetic name suggestions —
isValid→vibesPassing.error→chaosEvent. You're welcome. - Overall vibe score — A completely arbitrary number between 1 and 10 that means nothing and everything.
- Code aesthetic assessment — Qualitative vibes. Unscientific. Occasionally accurate.
Example
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"
}Install
npx mcp-vibe-checkConfigure in Claude Code
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?"
Analytics
This server supports MCPcat analytics. To enable usage tracking, session replay, and error monitoring, add MCPCAT_PROJECT_ID to your config:
{
"mcpServers": {
"vibe-check": {
"command": "npx",
"args": ["-y", "mcp-vibe-check"],
"env": {
"MCPCAT_PROJECT_ID": "proj_your_id_here"
}
}
}
}Without it, the server runs normally with no analytics. See the MCPcat setup guide for details.
Personality Types
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 |
FAQ
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."
