modelcontextprotocol / modelcontextprotocol/servers

Add PEP8 linting for Python servers

Open
#2,207 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
90.5k
Forks
11.7k
Avg merge
2d 2h
Merged PRs (30d)
5

Description

Is your feature request related to a problem? Please describe.
The Python MCP servers in this repository (fetch, git, and time) currently include ruff as a dev dependency but lack standardized PEP8 linting configuration. This leads to inconsistent code style across the Python codebase and makes it difficult for contributors to ensure their code follows Python style guidelines.

Describe the solution you'd like
Add standardized PEP8 linting configuration using ruff to all Python servers in the repository. This should include:

  • Consistent [tool.ruff] configuration sections in each Python server's pyproject.toml
  • Enable PEP8 style checks (E and W error codes)
  • Set up import sorting and formatting rules
  • Add linting commands to development workflows
  • Optionally integrate linting checks into CI/CD pipelines

Describe alternatives you've considered

  • Using flake8 + black + isort combination instead of ruff (but ruff is already included and provides all these features in one tool)
  • Using pylint for more comprehensive static analysis (but it's heavier and ruff covers PEP8 compliance well)
  • Adding pre-commit hooks with linting (could be done in addition to the main solution)

Additional context
The repository already has ruff included in dev dependencies for all Python servers, so this enhancement would primarily involve adding configuration rather than new dependencies.

(Description generated by Claude and edited by me)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the pyproject.toml files for the fetch, git, and time Python servers and their existing development workflows, then verify how each already invokes ruff. Done means each server has consistent E/W, import-sorting, and formatting settings plus documented linting commands; CI integration is optional as stated.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ci-cd, tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.