Skip to content

Contributing

Thank you for your interest in improving UV-MCP. We follow standard open-source practices and use uv for all development workflows.

Fork the repository to your GitHub account, then clone it locally:

Terminal window
git clone https://github.com/YOUR_USERNAME/uv-mcp.git
cd uv-mcp

Use uv to sync dependencies and set up the development virtual environment:

Terminal window
uv sync

This command reads pyproject.toml and installs all necessary dependencies, including dev tools like pytest.

We prioritize reliability. Ensure all tests pass before submitting changes.

Execute the full test suite:

Terminal window
uv run pytest

To test specific components (e.g., tool definitions):

Terminal window
uv run python test_tools.py
  1. Branching: Create a feature branch (feat/new-tool or fix/bug-fix).
  2. Implementation:
    • Add core logic to actions.py or diagnostics.py.
    • Expose the new capability in server.py using the @mcp.tool() decorator.
  3. Documentation: Update src/content/docs/reference/tools.md with the new API signature.
  4. Verification: Add a corresponding test case in tests/.
  • Type Safety: All function signatures must include Python type hints.
  • Formatting: We adhere to PEP 8.
  • Docstrings: Public functions must include clear docstrings describing parameters and return values.
  1. Push your branch to your fork.
  2. Open a Pull Request against the main branch of the upstream repository.
  3. Provide a clear description of the problem solved and the solution implemented.