mcp-vibe-check
by webmoleai
README.md
# 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 `handleSubmit` a main character, or does it have NPC behavior? Find out.
- **Variable energy ratings** — `x` gets "cryptic oracle energy (3/10)". `MAXIMUM_RETRY_COUNT` gets "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:
```javascript
function handleSubmit(userData, isValid) {
const result = userData.name;
return result;
}
```
Output:
```json
{
"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
```bash
npx mcp-vibe-check
```
## Configure in Claude Code
Add to your `.mcp.json`:
```json
{
"mcpServers": {
"vibe-check": {
"command": "npx",
"args": ["-y", "mcp-vibe-check"]
}
}
}
```
Then ask Claude: "What vibes does this codebase give off?"
---
## 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."*
TDQS
A4.2/5.0
Scored across 1 tool
Disambiguation5/5
With only one tool, there is no possibility of confusion or overlap with other tools. The tool's purpose is clearly distinct by virtue of being the only tool in the server.
Naming Consistency5/5
A single tool name cannot have inconsistencies. The name 'vibe-check' is descriptive and follows a clear, if not standard, convention appropriate for its function.
Tool Count4/5
The server has a narrow, focused purpose—providing vibe checks on code. One tool is slightly below the typical 3-15 range, but it is perfectly reasonable for this specific, limited scope.
Completeness5/5
The tool covers the full stated purpose: assigning personality types, rating variable name energy, and suggesting aesthetic alternatives. There are no obvious missing operations within its defined domain.
Maintenance
ActivityInactive
ResponsivenessNo issues