About lint
lint is an MCP server that provides code style and analysis tools for AI agents. Its regex- and text-parsing approach checks conventions and common code issues without AST libraries.
Key features
- 01Check indentation, line length, and formatting
- 02Detect naming conventions and suggest fixes
- 03Measure complexity and nesting
- 04Find potential dead code and annotations
- 05Review imports and ordering
Use cases
- 01Check source files for style issues
- 02Standardize identifier naming
- 03Identify complex functions for review
- 04Find unused variables and unreachable code
- 05Detect duplicate or unordered imports
MCP support
It exposes code style and analysis tools to MCP clients, including Claude Desktop.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
5Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| code | string | Yes | The source code to check |
| rules | object | No | Style rules to enforce (all enabled by default) |
| rules.quotes | enum | No | Expected quote style for stringssingle | double |
| rules.indentSize | number | No | Number of spaces per indent level (when using spaces) |
| rules.semicolons | enum | No | Semicolon usage preferencealways | never |
| rules.indentation | enum | No | Expected indentation styletabs | spaces |
| rules.finalNewline | boolean | No | Require final newline |
| rules.maxLineLength | number | No | Maximum allowed line length |
| rules.trailingWhitespace | boolean | No | Disallow trailing whitespace |
Details
From the project README@rog0x/mcp-lint-tools
Code linting and style checking tools for AI agents, exposed as an MCP (Model Context Protocol) server.
All analysis is performed via regex and text parsing — no AST libraries required.
Tools
check_code_style
Check code style issues with configurable rules:
- Indentation — tabs vs spaces, configurable indent size
- Line length — flag lines exceeding a maximum length
- Trailing whitespace — detect trailing spaces/tabs
- Final newline — require a newline at end of file
- Quotes — enforce single or double quote consistency
- Semicolons — enforce always or never semicolon usage
check_naming_conventions
Analyze identifier naming conventions:
- Detect camelCase, PascalCase, snake_case, UPPER_CASE
- Language-aware rules for TypeScript, JavaScript, Python, Go
- Flag mixed conventions within the same identifier kind
- Suggest fixes with automatic name conversion
analyze_complexity
Measure code complexity metrics:
- Cyclomatic complexity per function
- Lines per function count
- Nesting depth measurement
- Configurable thresholds for flagging
find_dead_code
Detect potential dead code:
- Unused variables — declared but never referenced
- Unreachable code — statements after return/throw/break
- Empty catch blocks — silently swallowed errors
- Commented-out code — blocks of commented code
- TODO/FIXME/HACK — annotation comments
analyze_imports
Analyze import statements:
- Unused imports — imported names not referenced in code
- Import ordering — enforce group ordering (builtin > external > internal > relative)
- Duplicate imports — same module imported multiple times
- Circular dependency hints — basic detection of potential cycles
Installation
npm install
npm run build
Usage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"lint-tools": {
"command": "node",
"args": ["path/to/mcp-lint-tools/dist/index.js"]
}
}
}
Development
npm install
npm run build
npm start
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.