[project] name = "esxi-mcp-server" version = "0.2.0" description = "VMware ESXi/vCenter MCP server for AI-driven virtual machine management" readme = "README.md" license = "MIT" requires-python = ">=3.11" authors = [ {name = "Ryan Malloy", email = "ryan@supported.systems"}, ] keywords = ["mcp", "vmware", "esxi", "vcenter", "fastmcp", "virtualization"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: System :: Systems Administration", ] dependencies = [ "fastmcp>=2.14.1", "pyvmomi>=8.0", "pyyaml>=6.0", "pydantic>=2.0", "pydantic-settings>=2.0", ] [project.optional-dependencies] dev = [ "pytest>=8.0", "pytest-asyncio>=0.24", "ruff>=0.8", ] [project.scripts] esxi-mcp-server = "esxi_mcp_server:main" [project.urls] Homepage = "https://github.com/Bright8192/esxi-mcp-server" Repository = "https://github.com/Bright8192/esxi-mcp-server" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/esxi_mcp_server"] [tool.ruff] target-version = "py311" line-length = 100 src = ["src"] [tool.ruff.lint] select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # Pyflakes "I", # isort "B", # flake8-bugbear "C4", # flake8-comprehensions "UP", # pyupgrade "ARG", # flake8-unused-arguments "SIM", # flake8-simplify ] ignore = [ "E501", # line too long (handled by formatter) "B008", # do not perform function calls in argument defaults ] [tool.ruff.lint.isort] known-first-party = ["esxi_mcp_server"] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"]