content: [project]
  name = "max-mcp-agent"
  version = "0.1.0"
  description = "AI agent that uses Model Context Protocol (MCP) to interact with external tools"
  readme = "README.md"
  requires-python = ">=3.12"
  dependencies = [
      "fastmcp>=2.3.4",
      "modular>=25.3.0",
      "openai>=1.78.1",
      "python-dotenv>=1.1.0",
  ]
  
  [dependency-groups]
  dev = [
      "ruff>=0.11.9",
      "hatchling>=1.24.2",
      "pip>=25.1.1",
      "honcho>=2.0.0",
      "invoke>=2.2.0",
      "requests>=2.32.3",
      "tenacity>=9.1.2",
  ]
  
  [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [tool.hatch.build.targets.wheel]
  packages = ["max_mcp_agent", "demo_mcp_server"]
  
  [tool.pyright]
  typeCheckingMode = "basic"
  
  [tool.ruff]  # Mimic behavior of Black
  line-length = 88
  indent-width = 4
  
  [tool.ruff.lint]
  select = ["ANN", "ARG", "E", "F", "W"]
  
  # Allow writing 'except:' without specifying a type
  ignore = ["E722"]
  
  # Allow unused variables when underscore-prefixed.
  dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
  
  [tool.ruff.lint.flake8-annotations]
  # Don't force functions that don't return anything to specify `-> None`
  suppress-none-returning = true
  
  [tool.ruff.format]  # Mimic behavior of Black
  quote-style = "double"
  indent-style = "space"
  skip-magic-trailing-comma = false
  line-ending = "auto"
  
  