
Lint
io.github.rog0xPublished by GitHub account rog0xv1.0.2Updated Oct 24, 2026
Style check, naming, complexity analysis for AI agents
Overview
A local MCP server that gives an AI assistant linting tools: style checks, naming conventions, complexity metrics, dead code and import analysis.
- What you can do
- Check code style against configurable rules for indentation, line length, trailing whitespace, final newline, quotes and semicolons. Analyze identifier naming conventions, flag mixed conventions and suggest converted names, with language-aware rules for TypeScript, JavaScript, Python and Go. Measure cyclomatic complexity, lines per function and nesting depth against configurable thresholds. Find potential dead code such as unused variables, unreachable statements, empty catch blocks, commented-out code and TODO/FIXME/HACK notes. Analyze imports for unused, duplicate or misordered imports and basic circular dependency hints.
- When to use it
- Useful when you want an assistant to review or clean up source files and report style, naming, complexity and import problems without running a full linter or build toolchain. Suited to quick, text-based checks on individual code snippets or files.
- Requirements
- Runs as a local process over stdio from the npm package @rog0x/mcp-lint-tools; the README describes installing dependencies, building, and pointing a desktop client at the built entry file with Node.js. No accounts, API keys or environment variables are declared.
Installation
In SourceWeft
- Open Lint in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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
Usage with Claude Desktop
Add to your claude_desktop_config.json:
Development
License
MIT
Source: README.md at commit 6968843
Tools
0Version history
1- v1.0.2LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.