Deslop MCP Server
Analyzes changed files from git (staged and unstaged) to detect and remove AI-generated code slop patterns.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Deslop MCP Serveranalyze my TypeScript file for unnecessary comments and logging"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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:
asyncfunctions with noawaitUnused 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 buildOption 2: npm (if published)
npm install -g deslop-mcpConfiguration
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 changesdeslop_diff
Analyze only changed files from git.
deslop_diff({}) // Unstaged changes
deslop_diff({ staged: true }) // Staged changes onlyExample 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 toolsdeslop_analyzeC
Analyze code files for AI-generated slop patterns (verbose comments, unnecessary logging, redundant error handling, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | File or directory path to analyze (use '.' for current directory) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| staged | No | If true, analyze staged changes only |
TDQS
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.
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.
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.
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.
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.
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.)
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | File or directory path to fix | |
| dryRun | No | If true, show what would be fixed without making changes |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
- First observed
deslop_analyze - First observed
deslop_diff - First observed
deslop_fix
TDQS
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.
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.
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.
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
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
Pre-commit code quality guardian. Detects semantic drift in AI-generated code.
AI-powered codebase analysis — call graphs, security, dead code, complexity. 150+ tools.
Lints + auto-fixes how AI coding agents discover any new product. 24 rules, 6 tools, score 0-100.
Memory, secret scanning and code findings across every AI coding tool
12
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables comprehensive code analysis including quality assessment, security vulnerability detection, refactoring suggestions, complexity calculations, and automatic documentation generation for multiple programming languages.514MIT
- AlicenseNot gradedqualityDmaintenanceProvides 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
- FlicenseAqualityCmaintenanceAI-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.437-
- AlicenseAqualityAmaintenanceEnables AI assistants and developers to analyze code for language-specific best practices and idiomatic patterns across programming languages, CI automation, and configuration formats.162MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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