The lsp-mcp server provides a unified API for multi-language code analysis.
- Analyze Files: Run static code analysis on files by specifying the path via the
AnalyzeFile
endpoint. - Multi-Language Support: Currently supports Python (via Ruff) with plans to add Go, Rust, and more.
- Automated Sidecar Management: Manages the
langtools_daemon
sidecar that executes linters and analysis tools. - Integration-Friendly: Process analysis requests in a headless and batch-friendly manner, suitable for automation, CI/CD pipelines, and integration with LLMs.
- JSON Output: Returns normalized analysis results in JSON format for easy integration with other tools.
Integration for code repository access and analysis, supporting Git-based projects
Repository management integration, allowing code analysis for GitHub-hosted projects
Integration with Python Package Index for dependency management and installation
Comprehensive Python language analysis, error detection, and code quality checking
Provides fast Python code analysis, linting, and static checking through integration with Ruff
Planned integration with rust-analyzer for Rust code analysis and static checking (mentioned in roadmap)
langtools-mcp
Warning
🚧 This is actively being developed, so expect issues. Currently focusing on compatibility with the on-machine AI agent Goose. 🚧
langtools-mcp is a Model Context Protocol (MCP) server and client toolkit that gives LLMs and AI agents unified access to real static analysis tools—including batch CLI checkers (like Ruff and go vet) and LSPs (like gopls, rust-analyzer, and more).
We've all been there:
- LLM writes code that doesn't compile due to hallucinating standard libraries that don't exist, syntax errors, etc.
- LLM writes functional code, but the style, formatting, and linting is non-existent (I'm looking at you, unused imports)
langtools-mcp aims to help solve this by letting your AI and agentic apps catch, explain, and even fix issues in code, by calling the same tools expert programmers use. The goal is simply for this MCP to be a tool that the LLM begins using as part of its dev cycle. Just like IDEs and LSPs supercharged humans' ability to quickly assess and fix issues during the dev process, langtools aims to do this with an MCP tool.
- 🧠 Supercharge Agents: Let your LLMs/AI validate, lint, and debug their own code.
- 🧩 Modular & Extensible: Add new languages/tools in minutes via strategies.
- ⚡ Daemon or Batch: Runs as a fast HTTP daemon for LSP and batch CLI tools.
Quickstart
Configuring for Project Goose
Configuration Options
Language | Tools |
---|---|
Python | ruff, pyright |
Go | vet |
Installation
Requirements: Python 3.10+, plus ruff, pyright, and Go for Go support (must be in your PATH).
Roadmap & Supported Tools
- Python: Ruff, Pyright (CLI)
- Go: go vet (CLI)
- Rust: rust-analyzer (LSP)
- JavaScript/TypeScript: tsc, eslint (planned)
Want to add support for your favorite tool or language? Open a PR or start a Discussion!
Contributing
- Fork, clone, and submit a PR!
- Code and docs welcome for new languages, better error messages, and more.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
A multi-language code analysis server that helps LLMs or humans automatically lint, type-check, and improve code with minimal installation friction, currently supporting Python with plans for other languages.
Related MCP Servers
- AsecurityAlicenseAqualityA specialized server that provides advanced TypeScript code manipulation and analysis capabilities, enabling refactoring, navigation, diagnostics, and module analysis through Claude.Last updated -113,183319TypeScriptMIT License
- -securityFlicense-qualityA local server that provides powerful code analysis and search capabilities for software projects, helping AI assistants and development tools understand codebases for tasks like code generation and refactoring.Last updated -2Python
- -securityFlicense-qualityA continuous integration server that automates Python code analysis, providing linting and static type checking tools for quality assurance.Last updated -Python
- -securityFlicense-qualityA server that automatically reviews code style and suggests improvements, with special focus on Flutter/Dart projects and general programming styles.Last updated -