pyproject.tomlβ’3.04 kB
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "search-fusion-mcp"
version = "3.0.6"
description = "π High-Availability Multi-Engine Search Aggregation MCP Server with Enhanced Proxy Auto-Detection"
readme = "README.md"
license = {file = "LICENSE"}
authors = [
{name = "Search Fusion Team", email = "contact@searchfusion.dev"}
]
maintainers = [
{name = "Search Fusion Team", email = "contact@searchfusion.dev"}
]
keywords = [
"mcp", "search", "aggregation", "ai", "llm", "jina", "google", "serper",
"duckduckgo", "bing", "baidu", "exa", "wikipedia", "web-scraping",
"high-availability", "failover", "multi-engine"
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Internet :: WWW/HTTP :: Indexing/Search",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Text Processing :: Indexing",
]
requires-python = ">=3.8"
dependencies = [
"fastapi>=0.95.1",
"uvicorn>=0.22.0",
"httpx>=0.24.1",
"pydantic>=2.0.0",
"python-dotenv>=1.0.0",
"mcp>=0.1.0",
"duckduckgo_search>=3.9.5",
"backoff>=2.2.1",
"beautifulsoup4>=4.12.2",
"loguru>=0.7.0",
"rich>=13.7.0",
"exa-py>=0.6.0",
"wikipedia>=1.4.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.4.3",
"pytest-asyncio>=0.21.1",
"black>=23.0.0",
"flake8>=6.0.0",
"mypy>=1.0.0",
]
all = [
"pytest>=7.4.3",
"pytest-asyncio>=0.21.1",
"black>=23.0.0",
"flake8>=6.0.0",
"mypy>=1.0.0",
]
[project.urls]
Homepage = "https://github.com/sailaoda/search-fusion-mcp"
Documentation = "https://github.com/sailaoda/search-fusion-mcp/blob/main/README.md"
Repository = "https://github.com/sailaoda/search-fusion-mcp"
"Bug Tracker" = "https://github.com/sailaoda/search-fusion-mcp/issues"
Changelog = "https://github.com/sailaoda/search-fusion-mcp/blob/main/CHANGELOG.md"
[project.scripts]
search-fusion-mcp = "src.main:main"
[tool.setuptools]
packages = ["src"]
include-package-data = true
[tool.setuptools.package-data]
"*" = ["*.md", "*.txt", "*.json", "*.template"]
[tool.black]
line-length = 100
target-version = ['py38']
include = '\.pyi?$'
extend-exclude = '''
/(
# directories
\.eggs
| \.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| build
| dist
)/
'''
[tool.mypy]
python_version = "3.8"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
[tool.pytest.ini_options]
minversion = "6.0"
addopts = "-ra -q"
testpaths = [
"tests",
]
python_files = [
"test_*.py",
"*_test.py",
]
asyncio_mode = "auto"