MCP Toolbox

[project] name = "mcp-toolbox" version = "0.0.0.dev" description = "Maintenance of a set of tools to enhance LLM through MCP protocols." authors = [{ name = "ai-zerolab", email = "jizhongsheng957@gmail.com" }] readme = "README.md" keywords = ['MCP', "Model Context Protocol", "LLM"] requires-python = ">=3.10,<=3.12" classifiers = [ "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Libraries :: Python Modules", ] dependencies = [ "httpx>=0.28.1", "loguru>=0.7.3", "mcp[cli]>=1.3.0", "openai-whisper>=20240930", "pydantic>=2.10.6", "pydantic-settings[toml]>=2.8.0", "typer>=0.15.2", ] [project.urls] Homepage = "https://ai-zerolab.github.io/mcp-toolbox/" Repository = "https://github.com/ai-zerolab/mcp-toolbox" Documentation = "https://ai-zerolab.github.io/mcp-toolbox/" [dependency-groups] dev = [ "pytest>=7.2.0", "pre-commit>=2.20.0", "tox-uv>=1.11.3", "deptry>=0.22.0", "pytest-cov>=4.0.0", "ruff>=0.9.2", "mkdocs>=1.4.2", "mkdocs-material>=8.5.10", "mkdocstrings[python]>=0.26.1", "pytest-asyncio>=0.25.3", ] [project.scripts] mcp-toolbox = "mcp_toolbox.cli:app" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.setuptools] py-modules = ["mcp_toolbox"] [tool.pytest.ini_options] testpaths = ["tests"] [tool.ruff] target-version = "py310" line-length = 120 fix = true [tool.ruff.lint] select = [ # flake8-2020 "YTT", # flake8-bandit "S", # flake8-bugbear "B", # flake8-builtins "A", # flake8-comprehensions "C4", # flake8-debugger "T10", # flake8-simplify "SIM", # isort "I", # mccabe "C90", # pycodestyle "E", "W", # pyflakes "F", # pygrep-hooks "PGH", # pyupgrade "UP", # ruff "RUF", # tryceratops "TRY", ] ignore = [ # LineTooLong "E501", # DoNotAssignLambda "E731", # raise-vanilla-args "TRY003", # try-consider-else "TRY300", # raise-within-try "TRY301", ] [tool.ruff.lint.per-file-ignores] "tests/*" = ["S101", "C901", "F841", "S108"] [tool.ruff.format] preview = true [tool.coverage.report] skip_empty = true [tool.coverage.run] branch = true source = ["mcp_toolbox"] [tool.deptry] exclude = ["mcp_toolbox/app.py", ".venv", "tests"] [tool.deptry.per_rule_ignores] DEP002 = ["mcp"]