Proxmox MCP Server

MIT License
62
[build-system] requires = ["setuptools>=61.0.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "proxmox-mcp" version = "0.1.0" description = "A Model Context Protocol server for interacting with Proxmox hypervisors" requires-python = ">=3.9" authors = [ {name = "Kevin", email = "kevin@example.com"} ] readme = "README.md" license = {text = "MIT"} keywords = ["proxmox", "mcp", "virtualization", "cline", "qemu", "lxc"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Systems Administration", ] dependencies = [ "mcp @ git+https://github.com/modelcontextprotocol/python-sdk.git", "proxmoxer>=2.0.1,<3.0.0", "requests>=2.31.0,<3.0.0", "pydantic>=2.0.0,<3.0.0", ] [project.optional-dependencies] dev = [ "pytest>=7.0.0,<8.0.0", "black>=23.0.0,<24.0.0", "mypy>=1.0.0,<2.0.0", "pytest-asyncio>=0.21.0,<0.22.0", "ruff>=0.1.0,<0.2.0", "types-requests>=2.31.0,<3.0.0", ] [project.urls] Homepage = "https://github.com/yourusername/proxmox-mcp" Documentation = "https://github.com/yourusername/proxmox-mcp#readme" Repository = "https://github.com/yourusername/proxmox-mcp.git" Issues = "https://github.com/yourusername/proxmox-mcp/issues" [project.scripts] proxmox-mcp = "proxmox_mcp.server:main" [tool.pytest.ini_options] asyncio_mode = "strict" testpaths = ["tests"] python_files = ["test_*.py"] addopts = "-v" [tool.mypy] python_version = "3.9" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = true disallow_incomplete_defs = true check_untyped_defs = true disallow_untyped_decorators = true no_implicit_optional = true warn_redundant_casts = true warn_unused_ignores = true warn_no_return = true warn_unreachable = true [tool.ruff] select = ["E", "F", "B", "I"] ignore = [] line-length = 100 target-version = "py39"