pyproject.toml•1.8 kB
[project]
name = "mcp-server"
version = "0.1.0"
description = "Provides tools to clients over the Model Context Protocol, supporting both stdio and SSE"
requires-python = ">=3.13"
authors = [{ name = "Tom Foster" }]
maintainers = [{ name = "Tom Foster", email = "tom@tcpip.uk" }]
keywords = ["http", "mcp", "llm", "automation"]
license = { text = "GPLv3" }
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.13",
]
dependencies = [
"aiohttp>=3.11.12",
"beautifulsoup4>=4.13.3",
"mcp>=1.2.1",
"pyyaml>=6.0.2",
"trafilatura>=2.0.0",
"uvicorn>=0.34.0",
]
[project.scripts]
mcp-server = "mcp_server:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.pytest.ini_options]
addopts = "-ra -v"
asyncio_mode = "strict"
asyncio_default_fixture_loop_scope = "session"
cache_dir = "/tmp/.pytest_cache"
filterwarnings = [
"ignore:assertions not in test modules or plugins will be ignored:pytest.PytestConfigWarning",
]
testpaths = "tests"
[tool.ruff]
cache-dir = "/tmp/.cache/ruff"
fix = true
line-length = 110
target-version = "py313"
unsafe-fixes = true
[tool.ruff.format]
skip-magic-trailing-comma = true
[tool.ruff.lint]
select = ["ALL"]
ignore = ["COM812", "CPY", "D203", "D213", "FBT", "RUF029"]
[tool.ruff.lint.isort]
combine-as-imports = true
required-imports = ["from __future__ import annotations"]
split-on-trailing-comma = false
[tool.ruff.lint.per-file-ignores]
"tests/*" = ["ARG001"]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.uv]
dev-dependencies = [
"psutil>=7.0.0",
"pytest>=8.3.4",
"pytest-asyncio>=0.25.3",
"ruff>=0.9.6",
]