python-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PYTHON_MCP_LOG_LEVEL | No | Logging level, default INFO | INFO |
| PYTHON_MCP_PROJECT_DIR | No | Project directory to check, default: server working directory | |
| PYTHON_MCP_COMMAND_PREFIX | No | Prefix for native ruff/ty invocations, default uv run; set to empty to use binaries from PATH | uv run |
| PYTHON_MCP_COMMAND_TIMEOUT | No | Optional command timeout in seconds |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ruff_checkA | Run ruff linting with token-efficient output. |
| ruff_formatC | Check Ruff formatting without modifying files. |
| ty_checkB | Run ty type checking with an optional severity filter. |
| vulture_checkB | Find unused Python code with Vulture's dead-code analysis. |
| bandit_checkB | Scan Python code for common security problems with Bandit. |
| deptry_checkB | Find missing, unused, obsolete, and misplaced dependencies. |
| pytest_collectA | Collect pytest tests without executing them. |
| codespell_checkA | Find likely spelling mistakes in project text and source files. |
| pydoclint_checkC | Check docstrings against function signatures with pydoclint. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool maps to a distinct well-known Python quality concern: linting, formatting, type checking, dead code, security, dependencies, test discovery, spelling, and docstrings. There is no meaningful overlap between tools despite several sharing a 'check' suffix.
All tool names follow a consistent lowercase snake_case pattern of <tool>_<action>, with 'check' used for most tools and 'format'/'collect' used only where semantically appropriate. The convention is predictable and easy to infer.
Nine tools is a well-scoped size for a Python code-quality server. Each tool covers a major independent concern without unnecessary redundancy or bloat.
The tool surface covers the core Python quality-checking lifecycle: linting, formatting validation, type checking, dead-code analysis, security scanning, dependency validation, test discovery, spelling, and docstring consistency. No critical gaps are apparent for the evident check-oriented purpose.