Skip to content

Let the grumpy senior dev review your code with this MCP server

License

Notifications You must be signed in to change notification settings

sinedied/grumpydev-mcp

Repository files navigation

Grumpy Senior Developer as MCP server

Open project in GitHub Codespaces NPM version Node version License

⭐ If you like this project, star it on GitHub!

UsageModel configurationAbout

Are you a senior dev, tired of reviewing and fixing the mess made by these vibe-coded PRs? Or maybe a you're a vibe coder, tired of being told to fix your code? This is the perfect MCP tool for both of you! 🫵

This MCP server is designed to provide the same perspective as the (grumpy) senior dev of your team. It will review your code, tell you what needs to be fixed and what's wrong with it. All with the sarcastic and cynical tone you've come to expect.

Example review

Code to review:

console.log(`Hello world`)

Result:

Oh great, a one-liner. How inspiring. Let’s dive into this "masterpiece."

1. **Template Literal Abuse:**  
   Really? A template literal for a static string? Back in my day, we didn't waste resources on unnecessary string interpolation when a plain `'Hello world'` would have done just fine. This reeks of laziness.

2. **Semicolon Missing:**  
   No semicolon at the end of the line? What is this, JavaScript anarchy? Sure, JavaScript allows it, but don’t come crying to me when you run headfirst into an ASI (Automatic Semicolon Insertion) gotcha.

3. **Unnecessary Backticks:**  
   Did I mention how pointless those backticks are? Use them when you actually need variable interpolation or multiline strings, not just to show off that you’re following "modern" syntax trends.

4. **Lack of Context:**  
   What is this accomplishing, exactly? A `"Hello world"` with zero context or an explanation of why it exists? Is this a debugging tool? A placeholder? A cry for help? Back in the old days, we wrote comments. Try it sometime.

5. **Console.log Overkill:**  
   Oh sure, `console.log` is fine **now**, but don't pretend this is production-grade. Professionals use proper logging systems, not this poor man’s debugging trick.

**Verdict:**  
Well, it works, I guess. Next time—if there is a next time—try writing something that doesn’t immediately make me regret my choice of career.

Note

What's MCP?
Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.

Usage

This tool requires Node.js 20+ to be installed on your system.

Use with GitHub Copilot

Important

MCP support in VS Code and GitHub Copilot currently requires the March update of VS Code Insiders or later. You can install the Insiders version alongside your regular version of VS Code.

You can install the MCP server using the following link:

Install in VS Code Insiders

Or by using the command line:

code-insiders --add-mcp '{"name":"grumpydev","command":"npx","args":["-y","grumpydev-mcp"]}'

Or adding it manually in the .vscode/mcp.json file in your workspace:

{
  "servers": {
    "grumpydev-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "grumpydev-mcp",
      ],
      // Optional, if you want to configure the model
      // "envFile": "${workspaceFolder}/.env"
    }
  }
}

Use with Claude desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "grumpydev-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "grumpydev-mcp",
      ],
      // Optional, if you want to configure the model
      // "env": {
      //   "GENAISCRIPT_DEFAULT_MODEL": "<your_model_config>",
      // }
    }
  }
}

Model configuration

You can configure the model used by this MCP server by setting the GENAISCRIPT_DEFAULT_MODEL environment variable. This variable should contain the provider and name of the model you want to use, such as github:gpt-4o. By default, it uses GitHub Models with GPT-4o model.

You can use any provider/model supported by GenAIScript, see the model configuration section for more details. Some models may require additional configuration as environment variables, such as API keys or other credentials.

About

This MCP tool was built using GenAIScript.