mcp-python-server
mcp and python test server
Documentation
Python project template
This is a template repository for any Python project that comes with the following dev tools:
- `ruff`: identifies many errors and style issues (`flake8`, `isort`, `pyupgrade`)
- `black`: auto-formats code
Those checks are run as pre-commit hooks using the `pre-commit` library.
It includes `pytest` for testing plus the `pytest-cov` plugin to measure coverage.
The checks and tests are all run using Github actions on every pull request and merge to main.
This repository is setup for Python 3.11. To change the version:
1. Change the `image` argument in `.devcontainer/devcontainer.json` (see https://github.com/devcontainers/images/tree/main/src/python for a list of pre-built Docker images)
1. Change the config options in `.precommit-config.yaml`
1. Change the version number in `.github/workflows/python.yaml`
Development instructions
With devcontainer
This repository comes with a devcontainer (a Dockerized Python environment). If you open it in Codespaces, it should automatically initialize the devcontainer.
Locally, you can open it in VS Code with the Dev Containers extension installed.
Without devcontainer
If you can't or don't want to use the devcontainer, then you should first create a virtual environment:
python3 -m venv .venv
source .venv/bin/activateThen install the dev tools and pre-commit hooks:
python3 -m pip install --user -r requirements-dev.txt
pre-commit installAdding code and tests
This repository starts with a very simple `main.py` and a test for it at `tests/main_test.py`.
You'll want to replace that with your own code, and you'll probably want to add additional files
as your code grows in complexity.
When you're ready to run tests, run:
python3 -m pytestFile breakdown
Here's a short explanation of each file/folder in this template:
- `.devcontainer`: Folder containing files used for setting up a devcontainer
- `devcontainer.json`: File configuring the devcontainer, includes VS Code settings
- `.github`: Folder for Github-specific files and folders
- `workflows`: Folder containing Github actions config files
- `python.yaml`: File configuring Github action that runs tools and tests
- `workflows`: Folder containing Github actions config files
- `tests`: Folder containing Python tests
- `main_test.py`: File with pytest-style tests of main.py
- `.gitignore`: File describing what file patterns Git should never track
- `.pre-commit-config.yaml`: File listing all the pre-commit hooks and args
- `main.py`: The main (and currently only) Python file for the program
- `pyproject.toml`: File configuring most of the Python dev tools
- `README.md`: You're reading it!
- `requirements-dev.txt`: File listing all PyPi packages required for development
- `requirements.txt`: File listing all PyPi packages required for production
For a longer explanation, read this blog post.
๐ Found an issue or have an idea for improvement?
Help me make this template repository better by letting us know and opening an issue!
Frequently asked questions
What is mcp-python-server?
mcp-python-server is mcp and python test server
How do I install mcp-python-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mcp-python-server open source?
Yes โ it is hosted on GitHub at https://github.com/rohanjoackhim/mcp-python-server.
Related MCP tools
Damn Vulnerable MCP Server Python-based implementation. Trusted by 1200+ developers. Trusted by 1200+ developers. Trusted by 1200+ developers.
A Model Context Protocol (MCP) server that enables secure interaction with MySQL databases Python-based implementation. Trusted by 900+ developers.
Query MCP enables end-to-end management of Supabase via chat interface: read & write query executions, management API support, automatic migration versioning...
Model Context Protocol with Neo4j Python-based implementation. Trusted by 700+ developers. Trusted by 700+ developers. Trusted by 700+ developers.
An MCP server that provides control over Android devices via adb Python-based implementation. Trusted by 500+ developers.
A Model Context Protocol (MCP) server for PostgreSQL databases with enhanced capabilities for AI agents. Python-based implementation.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP