uv-mcp
by dmclain
uv-mcp is a Model Context Protocol (MCP) server that allows LLMs to interact with Python installations via uv, the fast Python package installer. It enables AI assistants to manage Python dependencies, inspect environments, and troubleshoot tasks.
Last updated: N/A
uv-mcp
A Model Context Protocol (MCP) server for interacting with Python installations via uv, the fast Python package installer.
Overview
uv-mcp provides LLMs with direct access to inspect and manage Python environments through the uv package manager. This allows AI assistants to help with Python dependency management, environment inspection, and troubleshooting tasks.
Features
- Environment Inspection: Query installed packages and their versions
- Dependency Resolution: Check compatibility between packages
- Environment Comparison: Identify differences between local and cloud/production environments
- Requirement Management: Parse and validate requirements files
- Package Information: Retrieve metadata about PyPI packages
- Virtual Environment Management: Create and manage virtual environments
How It Works
uv-mcp implements the Model Context Protocol to expose Python environment data and package management functionality through standardized resources and tools.
Resources
python:packages://installed
- List of all installed packages and versionspython:packages://outdated
- List of installed packages with newer versions availablepython:packages://{package_name}/latest
- Latest versions available for a packagepython:packages://{package_name}/dependencies
- List of dependencies for a specific packagepython:requirements://{file_path}
- Parsed content of requirements files
Tools
run(command: str[])
- Run a command or scriptinit()
- Create a new projectadd(package_name: str, version: Optional[str])
- Add dependencies to the projectremove(package_name: str)
- Remove dependencies from the projectsync(dry_run: bool)
- Install all declared dependencies, uninstall anything not declaredlock()
- Update the project's lockfilepip(command: str[])
- Run a pip commandpip_install(package_name: str, version: Optional[str])
- Install a package using pippip_uninstall(package_name: str)
- Uninstall a package using pippip_list()
- List all installed packages using pip
Usage
To start the server:
uvx uv-mcp
Development
This project is built with the MCP Python SDK and uv.