Skip to main content
Glama

deslop-mcp

An MCP (Model Context Protocol) server that detects and removes AI-generated code slop patterns.

Works with Cursor, Claude Desktop, Claude Code, and any MCP-compatible client.

What is "Slop"?

AI-generated code often includes patterns that hurt maintainability:

  • Comment slop: Comments that restate what code does ("This function gets the user")

  • Verbose logging: Entry/exit logs, debug statements left in production

  • Unnecessary error handling: Try-catch that only logs and re-throws

  • Defensive overkill: Redundant null checks in TypeScript

  • Async misuse: async functions with no await

  • Unused imports: Dead code from refactoring

Related MCP server: CodeBase Optimizer

Installation

Option 1: Clone from GitHub

git clone https://github.com/YOUR_USERNAME/deslop-mcp.git
cd deslop-mcp
npm install
npm run build

Option 2: npm (if published)

npm install -g deslop-mcp

Configuration

For Cursor

Add to your Cursor MCP settings (~/.cursor/mcp.json or via Settings > MCP):

{
  "mcpServers": {
    "deslop": {
      "command": "node",
      "args": ["/path/to/deslop-mcp/dist/index.js"]
    }
  }
}

For Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "deslop": {
      "command": "node",
      "args": ["/path/to/deslop-mcp/dist/index.js"]
    }
  }
}

For Claude Code

Add to your Claude Code MCP settings:

{
  "mcpServers": {
    "deslop": {
      "command": "node",
      "args": ["/path/to/deslop-mcp/dist/index.js"]
    }
  }
}

Tools

deslop_analyze

Analyze code files for slop patterns.

deslop_analyze({ path: "./src" })
deslop_analyze({ path: "./src/utils/api.ts" })

Returns a detailed report with:

  • Issues grouped by category

  • Priority levels (high/medium/low)

  • Line numbers for each issue

  • Auto-fixable indicators

deslop_fix

Automatically fix auto-fixable issues.

deslop_fix({ path: "./src" })
deslop_fix({ path: "./src", dryRun: true })  // Preview without changes

deslop_diff

Analyze only changed files from git.

deslop_diff({})                    // Unstaged changes
deslop_diff({ staged: true })      // Staged changes only

Example Output

# Deslop Analysis Report

## Summary
- 🔴 High Priority: 12 issues
- 🟡 Medium Priority: 5 issues
- 🔵 Low Priority: 2 issues
- 🔧 Auto-fixable: 10 issues

## src/services/userService.ts

### 🔴 Comment Slop (3)

- **Line 45**: Comment restates what code does instead of why
  `// This function gets the user from the database`
  *(auto-fixable)*

- **Line 78**: Commented-out code should be removed
  `// const oldUser = await getOldUser(id);`
  *(auto-fixable)*

### 🔴 Verbose Logging (2)

- **Line 23**: Debug/trace logging should be removed in production
  `console.log("Entering getUserById");`
  *(auto-fixable)*

Supported Languages

  • TypeScript (.ts, .tsx)

  • JavaScript (.js, .jsx)

  • Python (.py)

  • Java (.java)

  • Go (.go)

  • Rust (.rs)

Safety

The tool will never remove:

  • Error logging that captures actual errors

  • Comments explaining business logic or "why"

  • License headers or copyright notices

  • TODO comments with ticket references

License

MIT

Available Tools

3 tools
deslop_analyzeC

Analyze code files for AI-generated slop patterns (verbose comments, unnecessary logging, redundant error handling, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFile or directory path to analyze (use '.' for current directory)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While it states what the tool analyzes, it doesn't describe behavioral traits like whether this is a read-only operation, what permissions are needed, how results are returned, or any rate limits. For a tool with no annotation coverage, this leaves significant gaps in understanding how it behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that clearly states the tool's purpose without unnecessary words. It's appropriately sized for a simple tool with one parameter, though it could be slightly more structured by separating purpose from pattern examples.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what the analysis returns (e.g., a report, scores, flagged lines), how results are structured, or any behavioral constraints. For a tool that presumably produces analysis output, this leaves the agent guessing about what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100% (the 'path' parameter is fully documented in the schema), so the baseline is 3. The description doesn't add any parameter-specific information beyond what's already in the schema, but doesn't need to compensate for gaps either.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: analyzing code files for specific AI-generated slop patterns (verbose comments, unnecessary logging, redundant error handling). It uses a specific verb ('analyze') and resource ('code files'), but doesn't explicitly differentiate from sibling tools like deslop_diff or deslop_fix, which likely perform different operations on similar resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings (deslop_diff, deslop_fix). It doesn't mention any prerequisites, alternatives, or contextual constraints for usage. The agent must infer usage from tool names alone, which is insufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deslop_diffC

Analyze only changed files from git diff for slop patterns

ParametersJSON Schema
NameRequiredDescriptionDefault
stagedNoIf true, analyze staged changes only

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies analysis of 'slop patterns' but doesn't specify what that entails, whether it's read-only or has side effects, or any constraints like permissions or rate limits. This is a significant gap for a tool with potential mutation implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words, making it appropriately sized and front-loaded for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'slop patterns' are, what the analysis entails, or what results to expect, leaving gaps in understanding the tool's behavior and output for a potentially complex operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with one parameter ('staged') fully described. The description doesn't add any parameter-specific details beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Analyze') and the target ('changed files from git diff for slop patterns'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'deslop_analyze' or 'deslop_fix', which likely have related purposes, so it misses full sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal context by specifying 'changed files from git diff', but it offers no guidance on when to use this tool versus alternatives like 'deslop_analyze' or 'deslop_fix', nor does it mention prerequisites or exclusions, leaving usage unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deslop_fixC

Automatically fix auto-fixable slop patterns in code files (removes verbose comments, debug logging, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFile or directory path to fix
dryRunNoIf true, show what would be fixed without making changes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. While it mentions the tool 'fixes' patterns (implying mutation) and provides examples of what gets fixed, it doesn't address important behavioral aspects like whether changes are destructive, what permissions are required, error handling, or what happens when the tool runs (e.g., does it modify files in place?).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that clearly communicates the core functionality. It's appropriately sized with no wasted words and is front-loaded with the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'fixing' entails (e.g., modifies files in place, creates backups), what the return value looks like, or error conditions. The examples help but don't provide complete operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents both parameters (path and dryRun). The description doesn't add any parameter-specific information beyond what's in the schema, so it meets the baseline expectation but doesn't provide additional semantic context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('fix') and resource ('auto-fixable slop patterns in code files'), and provides concrete examples of what gets fixed ('verbose comments, debug logging, etc.'). However, it doesn't explicitly differentiate from its sibling tools (deslop_analyze, deslop_diff), which would be needed for a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings (deslop_analyze, deslop_diff). It mentions what the tool does but gives no context about prerequisites, when it's appropriate versus alternatives, or any exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • First observeddeslop_analyze
    • First observeddeslop_diff
    • First observeddeslop_fix

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: deslop_analyze examines all code files for slop patterns, deslop_diff focuses on changed files from git diff, and deslop_fix performs automated fixes. There is no overlap in functionality, making it easy for an agent to select the appropriate tool based on the task.

Naming Consistency5/5

All tool names follow a consistent 'deslop_' prefix with a descriptive suffix (analyze, diff, fix), using snake_case uniformly. This predictable pattern enhances readability and reduces confusion for agents.

Tool Count5/5

With 3 tools, the server is well-scoped for its purpose of analyzing and fixing AI-generated slop in code. Each tool serves a distinct role in the workflow (analysis, diff analysis, fixing), and there are no extraneous or missing tools for this focused domain.

Completeness5/5

The tool set provides complete coverage for the slop analysis domain: deslop_analyze for initial assessment, deslop_diff for incremental changes, and deslop_fix for remediation. This covers the core lifecycle from detection to correction without any apparent gaps.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables comprehensive code analysis including quality assessment, security vulnerability detection, refactoring suggestions, complexity calculations, and automatic documentation generation for multiple programming languages.
    5
    14
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides comprehensive codebase analysis including project structure evaluation, cross-language duplicate detection, microservices validation, and configuration optimization with AI-powered pattern learning that generates actionable improvement reports.
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    AI-powered code review tool that detects AI-generated code defects invisible to traditional linters — hallucinated packages, deprecated APIs, cross-file contradictions, hidden security anti-patterns, and over-engineering. Works as a standalone CLI, GitHub Action, or MCP server. Supports TypeScript, Python, Java, Go, and Kotlin. Free for individuals, no API key required.
    4
    37
    -
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants and developers to analyze code for language-specific best practices and idiomatic patterns across programming languages, CI automation, and configuration formats.
    16
    2
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/collin-ho/deslop-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server