# MCP Tools Py: setup &amp; source

> Run pylint, pytest, mypy, Ruff, Bandit, formatting, and symbol refactors on one Python project through a scoped MCP server. Installable in Awesome Python Dev; review its source, license and setup.

[HTML page](https://m9rco.github.io/awesome-python-dev/tools/mcp-tools-py/) · [Agent guide](https://m9rco.github.io/awesome-python-dev/agents/index.md) · [Discovery index](https://m9rco.github.io/awesome-python-dev/llms.txt)

This website describes the repository catalog snapshot, which may contain unreleased entries. It is not a promise that every entry exists in the currently published package. Check `uvx awesome-python-dev list --json` for the catalog available in your installed runtime. GitHub stars and review dates are recorded snapshots, not live rankings.

Catalog reviewed: 2026-10-29. [Catalog source](https://github.com/m9rco/awesome-python-dev/blob/239895d3dd1353a48c5b39eee8eb028aadd8ac8f/src/awesome_python_dev/data/catalog.json).

MCP servers / Installable

## MCP Tools Py

Run pylint, pytest, mypy, Ruff, Bandit, formatting, and symbol refactors on one Python project through a scoped MCP server.

[Upstream project ↗](https://github.com/MarcusJellinghaus/mcp-tools-py) [View repository ↗](https://github.com/MarcusJellinghaus/mcp-tools-py) 

### Install into your coding agents

```sh
uvx awesome-python-dev init --agents codex,claude --tools mcp-tools-py
```

Run inside the project you want to equip. This command targets Codex and Claude Code; use `--agents` to choose other supported agents. [Read the prerequisites and setup guide](https://m9rco.github.io/awesome-python-dev/getting-started/) .

The installer writes MCP configuration. Your coding agent starts the server after reload and approval; installation does not run server tools.

### Integration notes

Python-specific companion to the reference-only pytest, Ruff, and Bandit entries: one server exposes the checks, formats, and symbol refactorings for a single project directory. The extra `--with mcp&lt;2` pin is required because published 0.1.10 imports mcp.server.fastmcp without capping the mcp dependency, so the default resolution to mcp 2.x fails at startup; with the pin the server starts normally. The server runs the project's checks with its own environment by default and exposes --python-executable/--venv-path when pylint, pytest, and mypy live elsewhere; apd writes only the launch configuration. Smoke-checked on macOS: the pinned command completed MCP initialize (service 1.30.0) and listed 17 tools, including run_pylint_check, run_pytest_check, run_mypy_check, run_ruff_check, and rename_symbol. No check was executed against a real test suite.

### Source &amp; review

- Repository: MarcusJellinghaus/mcp-tools-py
- License: MIT
- Category: mcp ecosystem
- Reviewed: 2026-10-29
- GitHub stars at review: 20
- Installation: Installable

Star counts are review snapshots, not live rankings. Upstream licenses apply to each resource.

### Review the source evidence

- [Upstream evidence 1 ↗](https://api.github.com/repos/MarcusJellinghaus/mcp-tools-py) 
- [Upstream evidence 2 ↗](https://github.com/MarcusJellinghaus/mcp-tools-py#mcp-client-configuration) 
- [Upstream evidence 3 ↗](https://pypi.org/project/mcp-tools-py/0.1.10/) 
- [Upstream evidence 4 ↗](https://github.com/MarcusJellinghaus/mcp-tools-py/blob/main/INSTALL.md) 
- [Upstream evidence 5 ↗](https://github.com/MarcusJellinghaus/mcp-tools-py/blob/main/LICENSE)
