[build-system]
build-backend = "hatchling.build"
requires = [ "hatchling" ]
[project]
name = "mcp-youtube-transcript"
version = "0.3.1"
description = "MCP server retrieving transcripts of YouTube videos"
readme = "README.md"
authors = [
{ name = "Junpei Kawamoto", email = "kawamoto.junpei@gmail.com" },
]
requires-python = ">=3.10"
classifiers = [
"Development Status :: 4 - Beta",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
dependencies = [
"beautifulsoup4>=4.13.3",
"click>=8.1.8",
"mcp>=1.4.1",
"pydantic>=2.10.6",
"requests>=2.32.3",
"youtube-transcript-api>=1.0.2",
]
scripts.mcp-youtube-transcript = "mcp_youtube_transcript:main"
[dependency-groups]
dev = [
"bump-my-version>=1.0.2",
"pre-commit>=4.1",
"pre-commit-uv>=4.1.4",
"pytest>=8.3.5",
"pytest-mock>=3.14",
"types-requests>=2.32.0.20250306",
]
[tool.ruff]
target-version = "py310"
line-length = 120
[tool.pyproject-fmt]
indent = 4
[tool.bumpversion]
current_version = "0.3.1"
commit = true
pre_commit_hooks = [
"uv sync",
"git add uv.lock",
]
[[tool.bumpversion.files]]
filename = "pyproject.toml"
search = 'version = "{current_version}"'
replace = 'version = "{new_version}"'
[tool.mypy]
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true