[project]
name = "mcpforunityserver"
version = "9.2.0"
description = "MCP for Unity Server: A Unity package for Unity Editor integration via the Model Context Protocol (MCP)."
readme = "README.md"
license = "MIT"
authors = [
    {name = "Marcus Sanatan", email = "msanatan@gmail.com"},
    {name = "David Sarno", email = "david.sarno@gmail.com"},
    {name = "Wu Shutong", email = "martinwfire@gmail.com"}
]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Environment :: Console",
    "Intended Audience :: Developers",
    "Natural Language :: English",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Python :: 3.14",
    "Programming Language :: Python :: Implementation :: CPython",
    "Topic :: Internet :: WWW/HTTP :: HTTP Servers",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Games/Entertainment",
    "Topic :: Software Development :: Code Generators",
]
keywords = ["mcp", "unity", "ai", "model context protocol", "gamedev", "unity3d", "automation", "llm", "agent"]
requires-python = ">=3.10"
dependencies = [
 "httpx>=0.27.2",
 "fastmcp==2.14.1",
 "mcp>=1.16.0",
 "pydantic>=2.12.5",
 "tomli>=2.3.0",
 "fastapi>=0.104.0",
 "uvicorn>=0.35.0",
 "click>=8.1.0",
]

[project.optional-dependencies]
dev = [
    "pytest>=8.0.0",
    "pytest-asyncio>=0.23",
    "pytest-cov>=4.1.0",
]

[project.urls]
Repository = "https://github.com/CoplayDev/unity-mcp.git"
Issues = "https://github.com/CoplayDev/unity-mcp/issues"

[project.scripts]
mcp-for-unity = "main:main"
unity-mcp = "cli.main:main"

[build-system]
requires = ["setuptools>=64.0.0", "wheel"]
build-backend = "setuptools.build_meta"

[tool.setuptools.packages.find]
where = ["src"]

[tool.setuptools.package-dir]
"" = "src"

[tool.setuptools]
py-modules = ["main"]

[tool.coverage.run]
source = ["src"]
omit = [
    "*/tests/*",
    "*/test_*.py",
]

[tool.coverage.report]
exclude_lines = [
    "pragma: no cover",
    "def __repr__",
    "raise AssertionError",
    "raise NotImplementedError",
    "if __name__ == \"__main__\":",
    "if TYPE_CHECKING:",
    "@abstractmethod",
]
precision = 2
show_missing = true

[tool.coverage.html]
directory = "htmlcov"
