Skip to main content
Glama
petridisa

pyenv-manager-mcp

by petridisa
README.md
# pyenv-manager-mcp

An MCP server for managing Python versions via [pyenv](https://github.com/pyenv/pyenv).

## Requirements

- Linux or macOS (or Windows via WSL)
- [pyenv](https://github.com/pyenv/pyenv) installed and available on `PATH`
- [uv](https://docs.astral.sh/uv/)

## Installation

### Linux / macOS

Add to your MCP config:

```json
{
  "mcpServers": {
    "pyenv-manager": {
      "command": "uv",
      "args": ["--directory", "/path/to/pyenv-manager-mcp", "run", "pyenv-manager-mcp"]
    }
  }
}
```

### Windows (via WSL)

```json
{
  "mcpServers": {
    "pyenv-manager": {
      "command": "wsl.exe",
      "args": [
        "bash",
        "-c",
        "export PATH=/home/<user>/.pyenv/bin:/home/<user>/.pyenv/shims:/home/<user>/.local/bin:/usr/local/bin:/usr/bin:/bin && cd /mnt/c/path/to/pyenv-manager-mcp && uv run pyenv-manager-mcp"
      ]
    }
  }
}
```

## Tools

| Tool | Description |
|------|-------------|
| `list_versions` | List installed Python versions |
| `get_current_version` | Get the currently active Python version |
| `list_available_downloads` | List versions available to install (supports optional `filter`, e.g. `"3.12"`) |
| `install_version` | Install a specific Python version |
| `set_global_version` | Set the global Python version |
| `set_local_version` | Set the local (directory) Python version |

TDQS

A3.9/5.0

Scored across 6 tools

Disambiguation5/5

Each tool maps to a distinct pyenv operation: listing installed versions, showing the active version, listing downloadable versions, installing, and setting global/local versions. There is minimal overlap, and the descriptions clearly separate installed from available versions.

Naming Consistency5/5

Tool names consistently follow a predictable verb_noun pattern: list_*, get_*, install_*, set_*. Even though list_available_downloads uses 'downloads' instead of 'versions', the naming style remains uniform and easy to navigate.

Tool Count5/5

Six tools is a well-scoped set for a pyenv manager. Each tool covers a necessary core operation without unnecessary bloat or redundant additions.

Completeness3/5

The tool surface covers listing, installing, and setting versions, but notably lacks uninstall/remove functionality, which is a standard pyenv lifecycle operation. Agents can work around it, but version cleanup is a meaningful gap.

Maintenance

ActivityMaintained
ResponsivenessNo issues