content: [project]
  name = "oceanbase-mcp"
  version = "0.0.3"
  description = "A Model Context Protocol (MCP) server that enables secure interaction with OceanBase databases. This server allows AI assistants to list tables, read data, and execute SQL queries through a controlled interface, making database exploration and analysis safer and more structured."
  readme = "README.md"
  license = { file = "LICENSE" }
  classifiers = [
      'Development Status :: 3 - Alpha',
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3.11",
  ]
  keywords = [
      "oceanbase",
      "mcp",
  ]
  requires-python = ">=3.10,<3.13" # ≥ 3.13 limited by pyobvector's numpy requirement.
  dependencies = [
      "mcp>=1.13.1",
      "fastmcp>=2.12.0", 
      "mysql-connector-python>=9.1.0",
      "SQLAlchemy>=2.0.32",
      "beautifulsoup4>=4.13.5",
      "pydantic>=2.11.7",
      "python-dotenv>=1.1.1",
      "certifi>=2022.12.7",
      "pyobvector>=0.2.15",
  ]
  
  [project.optional-dependencies]
  dev = [
      "ruff>=0.1.0",
      "pytest>=7.0.0"
  ]
  memory = [
      "numpy>=1.21.0",
      "langchain-huggingface>=0.3.1",
      "torch>=2.0.0",
      "sentence-transformers>=2.2.2"
  ]
  
  [tool.uv.sources]
  # Only applies when memory extra is installed
  torch = { index = "pytorch-cpu" }
  
  [[tool.uv.index]]
  name = "pytorch-cpu"
  url = "https://download.pytorch.org/whl/cpu"
  
  [project.scripts]
  oceanbase_mcp_server = "oceanbase_mcp.server:main"
  
  [build-system]
  requires = ["setuptools>=45", "wheel"]
  build-backend = "setuptools.build_meta"
  
  # Tool configurations
  [tool.uv]
  # Default configuration for basic installation
  index-url = "https://pypi.org/simple"
  extra-index-url = ["https://download.pytorch.org/whl/cpu"]
  index-strategy = "unsafe-best-match"
  
  [tool.uv.pip]
  # Force use of precompiled wheels to avoid compilation issues
  # only-binary = ["numpy"]
  
  [tool.ruff]
  line-length = 100
  target-version = "py311"
  