wemake-python-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WPS_FLAKE8_PATH | No | Explicit path to flake8 executable. Overrides auto-detection logic. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| lint_fileA | Lint a single Python file using wemake-python-styleguide rules. Args: path: Path to the Python (.py) file to lint. |
| lint_projectA | Lint an entire Python project directory recursively using wemake-python-styleguide rules. Args: directory: Path to the target project directory (defaults to current directory). |
| lint_codeA | Lint a raw Python code string using wemake-python-styleguide rules. Args: code: Python source code string to lint. |
| explain_ruleA | Explain a wemake-python-styleguide rule by code (e.g. WPS432, 432). Args: code: WPS violation code (e.g. 'WPS432' or '432'). |
| update_rule_dbA | Scrape and update the offline wemake-python-styleguide rules database. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_rules_index | JSON index of all wemake-python-styleguide rules categorized by code. |
| get_config_template | Recommended setup.cfg template for wemake-python-styleguide. |
TDQS
Scored across 5 tools
Each tool has a clearly distinct input type or purpose: lint_file, lint_project, and lint_code differ by input source (file, directory, string), while explain_rule and update_rule_db serve separate functions. There is no overlap ambiguity.
All tool names follow a consistent lowercase snake_case verb_noun pattern (lint_file, lint_project, lint_code, explain_rule, update_rule_db). The naming is uniform and predictable.
With 5 tools, the server is well-scoped for its purpose. It covers multiple linting input modes plus auxiliary rule explanation and database update features without unnecessary bloat.
The tool surface covers the core linting workflows (file, project, code string) and supporting rule utilities. A minor gap is the lack of a direct list-rules tool, but the existing tools handle common use cases effectively.