[project]
name = "ytt-mcp"
dynamic = ["version"]
description = "MCP Server to extract transcript from a YouTube video"
readme = "README.md"
requires-python = ">=3.10" # Matches the mcp sdk
authors = [{ name = "Deepak Jois"}]
maintainers = [
{ name = "Deepak Jois", email = "deepak.jois@gmail.com" },
]
keywords = ["mcp", "youtube", "transcript"]
license = { text = "MIT" }
dependencies = [
"fastmcp>=2.8.1",
"youtube-transcript-api>=1.1.0",
]
[dependency-groups]
dev = [
"pyright>=1.1.402",
"pytest>=8.4.0",
"pytest-asyncio>=1.0.0",
"pytest-cov>=6.2.1",
"pytest-pretty>=1.3.0",
"ruff>=0.11.13",
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
[build-system]
requires = ["hatchling", "uv-dynamic-versioning"]
build-backend = "hatchling.build"
[tool.hatch.version]
source = "uv-dynamic-versioning"
[tool.hatch.build.targets.sdist]
exclude = [
"CLAUDE.md",
".python-version",
"demo/*"
]
[tool.uv-dynamic-versioning]
vcs = "git"
style = "pep440"
bump = true
[project.scripts]
ytt-mcp = "ytt_mcp:main"
[project.urls]
Repository = "https://github.com/deepakjois/ytt-mcp"
Issues = "https://github.com/deepakjois/ytt-mcp/issues"