[build-system]
requires = ["setuptools>=42", "wheel", "setuptools_scm"]
build-backend = "setuptools.build_meta"
[project]
name = "duckduckgo-mcp"
dynamic = ["version"]
description = "DuckDuckGo search and content retrieval tool for MCP (Model Context Protocol)"
readme = "README.md"
authors = [
{name = "Eddie Pick", email = "eddie@pick.fr"}
]
license = {text = "MIT"}
requires-python = ">=3.10"
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"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",
"Topic :: Internet :: WWW/HTTP :: Indexing/Search",
]
dependencies = [
"mcp>=1.9.0",
"fastmcp>=2.3.4",
"requests>=2.28.0,<2.32.0",
"urllib3>=1.26.0,<2.0.0",
"beautifulsoup4>=4.11.0",
"ddgs>=9.5.2",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0.0",
"black>=23.0.0",
"isort>=5.0.0",
"mypy>=1.0.0",
"pytest-cov>=4.0.0"
]
[project.scripts]
duckduckgo-mcp = "duckduckgo_mcp.cli:main"
[project.urls]
Homepage = "https://github.com/CyranoB/duckduckgo-mcp"
Repository = "https://github.com/CyranoB/duckduckgo-mcp"
Issues = "https://github.com/CyranoB/duckduckgo-mcp/issues"
[tool.setuptools.packages.find]
where = ["src"]
include = ["duckduckgo_mcp", "duckduckgo_mcp.*"]
[tool.setuptools_scm]
write_to = "src/duckduckgo_mcp/_version.py"
version_scheme = "post-release"
local_scheme = "no-local-version" # This removes the local version component