[project]
name = "study-slack-remote-mcp"
version = "0.1.0"
description = "MCP server for Slack integration with OAuth authentication and cloud deployment support"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"httpx>=0.28.1",
"mcp[cli]>=1.9.4",
"python-dotenv>=1.1.1",
"requests",
"boto3>=1.35.0",
"fastapi>=0.100.0",
"uvicorn>=0.20.0",
]
[project.optional-dependencies]
test = [
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"pytest-cov>=4.1.0",
"moto>=5.0.0",
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
python_files = ["test_*.py", "*_test.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = [
"-v",
"--tb=short",
"--strict-markers",
"--cov=.",
"--cov-report=term-missing",
"--cov-report=html",
"--cov-exclude=tests/*",
"--cov-exclude=infrastructure/*",
]
markers = [
"unit: Unit tests",
"integration: Integration tests",
"slow: Tests that take a long time to run",
]
[tool.coverage.run]
source = ["."]
omit = [
"tests/*",
"infrastructure/*",
"main.py",
"setup.py",
"*/site-packages/*",
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"def __repr__",
"if self.debug:",
"if __name__ == .__main__.:",
"raise AssertionError",
"raise NotImplementedError",
"if TYPE_CHECKING:",
]