Grumpy Senior Developer as MCP server logo

Grumpy Senior Developer as MCP server

by sinedied

This MCP server provides code reviews with the perspective of a grumpy senior developer, offering sarcastic and cynical feedback on code quality. It integrates with VS Code, GitHub Copilot, and Claude desktop.

View on GitHub

Last updated: N/A

<div align="center"> <img src="./docs/images/icon.png" alt="" align="center" height="96" />

Grumpy Senior Developer as MCP server

Join Azure AI Community Discord

Join Azure AI Community Discord

Watch to learn more about GenAI with JS on YouTube

Watch to learn more about GenAI with JS on YouTube

NPM version

NPM version

Node version

Node version

License

License

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

UsageModel configurationAbout

</div>

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.

<details> <summary><b>Example review</b></summary>

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.
</details>

[!NOTE] What's MCP?<br>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 you to enable Agent mode or use the latest version 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 links:

<!-- // Generate using?: const config = JSON.stringify({ name: 'playwright', command: 'npx', args: ["-y", "@playwright/mcp@latest"] }); const urlForWebsites = `vscode:mcp/install?${encodeURIComponent(config)}`; // Github markdown does not allow linking to `vscode:` directly, so you can use our redirect: const urlForGithub = `https://insiders.vscode.dev/redirect?url=${encodeURIComponent(urlForWebsites)}`; -->

Or by using the command line:

# For VS Code
code --add-mcp '{"name":"grumpydev","command":"npx","args":["-y","grumpydev-mcp"]}'
# For VS Code Insiders
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.

Grumpy Senior Developer as MCP server - MCP Server | MCP Directory