Multi-language architectural and idiomatic code analysis via CLI and MCP server.
Project description
Zen of Languages
🖌️ Write code the way the language intended.
Multi-language architectural and idiomatic code analysis, exposed as an MCP server and a CLI. Zen of Languages codifies idiomatic best practices ("zen principles") for 14 languages into machine-readable rules, then detects violations automatically — so AI agents and developers get actionable, language-aware feedback in every review.
- 151 zen principles across 14 languages
- 163 focused detectors with severity scoring
- MCP server for IDE and agent workflows (13 tools, 3 resources, 1 prompt)
- CLI reports with remediation prompts and JSON / Markdown export
- Rule-driven pipelines configurable per language and project
Quickstart
# Run without installing (recommended)
uvx --from mcp-zen-of-languages zen --help
# Or install globally
pip install mcp-zen-of-languages
# Analyze a file
zen report path/to/file.py
# Analyze a project with remediation prompts
zen report path/to/project --include-prompts
Installation
One-Click (VS Code)
| Method | VS Code | VS Code Insiders |
|---|---|---|
| UVX (native) | ||
| Docker (isolated) |
Docker
# CLI via Docker
docker run --rm ghcr.io/anselmoo/mcp-zen-of-languages:latest zen --help
# MCP server via Docker
docker run --rm -i ghcr.io/anselmoo/mcp-zen-of-languages:latest
From Source
git clone https://github.com/Anselmoo/mcp-zen-of-languages.git
cd mcp-zen-of-languages
uv sync --all-groups --all-extras
# Start the MCP server
zen-mcp-server
# Run a CLI report
zen report path/to/file.py
MCP Tools
The server exposes 13 tools, 3 resources, and 1 prompt for AI-assisted code analysis.
| Family | Tools | Purpose |
|---|---|---|
| Analysis | analyze_zen_violations, analyze_repository, check_architectural_patterns |
Idiomatic and structural analysis |
| Reporting | generate_prompts, generate_agent_tasks, generate_report |
Remediation guidance, task lists, gap reports |
| Configuration | get_config, set_config_override, clear_config_overrides |
Read and tune thresholds at runtime |
| Metadata | detect_languages, get_supported_languages, export_rule_detector_mapping |
Discover languages, rules, detector coverage |
| Onboarding | onboard_project |
Initialize zen-config.yaml for a project |
See the full MCP Tools Reference for parameters, return types, and workflow diagrams.
Use Cases
- AI Code Review — Call
analyze_zen_violationson a file, thengenerate_promptsfor remediation instructions in a single editor round-trip. - Project-Wide Gap Analysis —
analyze_repositoryscans a codebase,generate_reportproduces a Markdown/JSON report, andgenerate_agent_taskscreates a prioritised fix list. - One-Click Onboarding —
onboard_projectdetects languages and writes a tunedzen-config.yaml, making analysis immediately project-aware.
Supported Languages
| Tier | Languages | Notes |
|---|---|---|
| Stable | Python | Full parser + richest detector coverage |
| Beta | TypeScript, Go, Rust, JavaScript | Rule-driven pipelines, partial parsing |
| Experimental | Bash, PowerShell, Ruby, C++, C# | Heuristic detectors |
| Data/Config | YAML, TOML, JSON, XML | Structure and schema checks |
Configuration
Analysis pipelines are derived from language zen rules and merged with project overrides in zen-config.yaml. See the Configuration Guide for the full reference.
# Generate reports in multiple formats
zen report path/to/project --export-json report.json --export-markdown report.md
Documentation
Full documentation is available at anselmoo.github.io/mcp-zen-of-languages.
Contributing
See Adding a Language and Development Guide to get started.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_zen_of_languages-0.1.1.tar.gz.
File metadata
- Download URL: mcp_zen_of_languages-0.1.1.tar.gz
- Upload date:
- Size: 253.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
184dc73b58dad7b042fe571a184c2990e01602f384be0d67b9dc02568676227c
|
|
| MD5 |
be2801ff35dc469d953e4a5ee86c863b
|
|
| BLAKE2b-256 |
2e130477b9183a6e86e67cfee670771a9c5474210a01a560df8a0a2ccbbd0e80
|
Provenance
The following attestation bundles were made for mcp_zen_of_languages-0.1.1.tar.gz:
Publisher:
cicd.yml on Anselmoo/mcp-zen-of-languages
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_zen_of_languages-0.1.1.tar.gz -
Subject digest:
184dc73b58dad7b042fe571a184c2990e01602f384be0d67b9dc02568676227c - Sigstore transparency entry: 962299317
- Sigstore integration time:
-
Permalink:
Anselmoo/mcp-zen-of-languages@b259a78f637c3f5d4d6bd84746d04774c79a0cdc -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/Anselmoo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cicd.yml@b259a78f637c3f5d4d6bd84746d04774c79a0cdc -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcp_zen_of_languages-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mcp_zen_of_languages-0.1.1-py3-none-any.whl
- Upload date:
- Size: 320.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2707508157d8ad77e054f852eff0e83c71dae23bd4980370bd3d751046b2e490
|
|
| MD5 |
f47fbab0372552ae0e252d96de3a6168
|
|
| BLAKE2b-256 |
9436839e9b28b87582d6ddc6c142163e3eadfb01293ce2e1643b898cd77478ee
|
Provenance
The following attestation bundles were made for mcp_zen_of_languages-0.1.1-py3-none-any.whl:
Publisher:
cicd.yml on Anselmoo/mcp-zen-of-languages
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_zen_of_languages-0.1.1-py3-none-any.whl -
Subject digest:
2707508157d8ad77e054f852eff0e83c71dae23bd4980370bd3d751046b2e490 - Sigstore transparency entry: 962299371
- Sigstore integration time:
-
Permalink:
Anselmoo/mcp-zen-of-languages@b259a78f637c3f5d4d6bd84746d04774c79a0cdc -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/Anselmoo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cicd.yml@b259a78f637c3f5d4d6bd84746d04774c79a0cdc -
Trigger Event:
push
-
Statement type: