[project]
name = "vsguard-mcp"
version = "2.0.0"
description = "VSGuard MCP - Vulnerability Scanner & Guard for AI Coding Agents | OWASP ASVS 5.0 Security Analysis"
authors = [
{name = "VSGuard Contributors"}
]
license = {text = "MIT"}
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"fastmcp>=2.0.0",
"semgrep>=1.50.0",
"bandit>=1.7.5",
"detect-secrets>=1.4.0",
"pyyaml>=6.0",
"pydantic>=2.5.0",
"pydantic-settings>=2.1.0",
"aiofiles>=23.2.1",
"smithery>=0.4.2",
]
[project.optional-dependencies]
dev = [
"pytest>=7.4.0",
"pytest-asyncio>=0.21.0",
"black>=23.0.0",
"mypy>=1.7.0",
"ruff>=0.1.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project.scripts]
dev = "smithery.cli.dev:main"
playground = "smithery.cli.playground:main"
# Points to your server function
[tool.smithery]
server = "src.server:create_server"
[tool.hatch.build.targets.wheel]
packages = ["src", "data"]
[tool.hatch.build.targets.sdist]
include = [
"/src",
"/data",
"/tests",
]
# Ensure data files are included in the package
[tool.hatch.build.force-include]
"data/rules" = "data/rules"
[tool.black]
line-length = 100
target-version = ['py311']
[tool.mypy]
python_version = "3.11"
strict = true
warn_return_any = true
warn_unused_configs = true
[tool.ruff]
line-length = 100
target-version = "py311"