[project] name = "fastmcp" dynamic = ["version"] description = "A more ergonomic interface for MCP servers" authors = [{ name = "Jeremiah Lowin" }] dependencies = [ "httpx>=0.26.0", "mcp>=1.0.0,<2.0.0", "pydantic-settings>=2.6.1", "pydantic>=2.5.3,<3.0.0", "typer>=0.9.0", "python-dotenv>=1.0.1", ] requires-python = ">=3.10" readme = "README.md" license = { text = "MIT" } [project.scripts] fastmcp = "fastmcp.cli:app" [build-system] requires = ["hatchling>=1.21.0", "hatch-vcs>=0.4.0"] build-backend = "hatchling.build" [project.optional-dependencies] tests = [ "pre-commit", "pyright>=1.1.389", "pytest>=8.3.3", "pytest-asyncio>=0.23.5", "pytest-flakefinder", "pytest-xdist>=3.6.1", "ruff", ] dev = ["fastmcp[tests]", "copychat>=0.5.2", "ipython>=8.12.3", "pdbpp>=0.10.3"] [tool.pytest.ini_options] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "session" [tool.hatch.version] source = "vcs" [tool.pyright] include = ["src", "tests"] exclude = ["**/node_modules", "**/__pycache__", ".venv", ".git", "dist"] pythonVersion = "3.10" pythonPlatform = "Darwin" typeCheckingMode = "basic" reportMissingImports = true reportMissingTypeStubs = false useLibraryCodeForTypes = true venvPath = "." venv = ".venv"