[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "threat-intel-mcp"
version = "0.3.0"
description = "Defense-grade Threat Intelligence MCP Server with STIX/TAXII 2.1, MITRE ATT&CK mapping, TLP enforcement, provenance chains, NIST SP 800-53, and ICD 203 compliance"
readme = "README.md"
requires-python = ">=3.10"
license = "MIT"
authors = [
{ name = "Marc Shade", email = "marc@2acrestudios.com" }
]
keywords = [
"mcp", "threat-intelligence", "security", "ioc", "cisa-kev",
"stix", "taxii", "mitre-attack", "nist-800-53", "tlp",
"defense", "compliance", "provenance", "icd-203",
]
dependencies = [
"fastmcp>=0.1.0",
"aiohttp>=3.9.0",
]
[project.optional-dependencies]
dashboard = [
"flask>=3.0.0",
"flask-cors>=4.0.0",
]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"pytest-cov>=4.0.0",
"aioresponses>=0.7.0",
]
[project.scripts]
threat-intel-mcp = "threat_intel_mcp.server:main"
threat-intel-dashboard = "threat_intel_mcp.dashboard:main"
[project.urls]
Homepage = "https://github.com/agentic-system/threat-intel-mcp"
Repository = "https://github.com/agentic-system/threat-intel-mcp"
[tool.hatch.build.targets.wheel]
packages = ["src/threat_intel_mcp"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
addopts = "-v --tb=short"
[tool.coverage.run]
source = ["src/threat_intel_mcp"]
omit = ["*/tests/*"]