✅ COMPREHENSIVE SAFETY FRAMEWORK: • Package-level safety notices with SACRED TRUST language • Server-level LLM safety protocols with specific refusal scenarios • Class-level safety reminders for AI assistants • Tool-level destructive operation warnings (🔴 DESTRUCTIVE markers) • Visual safety system: 🔴🛡️🚨 markers throughout codebase • Emergency logging infrastructure with proper escalation • Default-safe operations (dry_run=True for destructive tools) 🔒 DESTRUCTIVE OPERATION PROTECTIONS: • bulk_rename: LLM safety instructions + dry_run default • search_and_replace_batch: Comprehensive safety warnings • All destructive tools require preview before execution • Clear REFUSE scenarios for AI assistants 📚 COMPREHENSIVE DOCUMENTATION: • SACRED_TRUST_SAFETY.md: Complete safety philosophy & implementation guide • IMPLEMENTATION_COMPLETE.md: Project completion status • EMERGENCY_LOGGING_COMPLETE.md: Logging infrastructure details • UV_BUILD_GUIDE.md: Modern Python project setup • Multiple implementation guides and status docs 🔧 PROJECT MODERNIZATION: • Migrated from setup.py/requirements.txt to pyproject.toml + uv • Updated dependency management with uv.lock • Enhanced test suite with comprehensive coverage • Added examples and demo scripts ✅ VALIDATION COMPLETE: All SACRED_TRUST_SAFETY.md requirements implemented 🎯 Sacred Trust Status: PROTECTED 🚨 User Safety: PARAMOUNT 🔐 System Integrity: PRESERVED The human trusts AI assistants to be guardians of their system and data. This framework ensures that trust is honored through comprehensive safety measures.
99 lines
2.7 KiB
TOML
99 lines
2.7 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=45", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "enhanced-mcp-tools"
|
|
version = "1.0.0"
|
|
description = "Enhanced MCP tools server with comprehensive development utilities"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
license = "MIT"
|
|
authors = [
|
|
{name = "Your Name", email = "your.email@example.com"},
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Developers",
|
|
"Topic :: Software Development :: Tools",
|
|
"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",
|
|
"Programming Language :: Python :: 3.13",
|
|
]
|
|
dependencies = [
|
|
"fastmcp>=2.8.1",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["enhanced_mcp*"]
|
|
exclude = ["tests*", "docs*", "examples*", "scripts*", "config*"]
|
|
|
|
[project.optional-dependencies]
|
|
# Core enhanced functionality (recommended)
|
|
enhanced = [
|
|
"aiofiles>=23.0.0", # Async file operations
|
|
"watchdog>=3.0.0", # File system monitoring
|
|
"psutil>=5.9.0", # Process and system monitoring
|
|
"requests>=2.28.0", # HTTP requests for Sneller and APIs
|
|
]
|
|
|
|
# All optional features
|
|
full = [
|
|
"enhanced-mcp-tools[enhanced]",
|
|
"rich>=13.0.0", # Enhanced terminal output
|
|
"pydantic>=2.0.0", # Data validation
|
|
]
|
|
|
|
dev = [
|
|
"enhanced-mcp-tools[full]",
|
|
"pytest>=7.0.0",
|
|
"pytest-asyncio>=0.21.0",
|
|
"pytest-cov>=4.0.0",
|
|
"black>=22.0.0",
|
|
"ruff>=0.1.0"
|
|
]
|
|
|
|
[project.scripts]
|
|
enhanced-mcp = "enhanced_mcp.mcp_server:run_server"
|
|
|
|
[tool.black]
|
|
line-length = 100
|
|
target-version = ['py38']
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py38"
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"E", # pycodestyle errors
|
|
"W", # pycodestyle warnings
|
|
"F", # pyflakes
|
|
"I", # isort
|
|
"B", # flake8-bugbear
|
|
"C4", # flake8-comprehensions
|
|
"UP", # pyupgrade
|
|
]
|
|
ignore = [
|
|
"E501", # Line too long (handled by black)
|
|
"B008", # Do not perform function calls in argument defaults
|
|
"C901", # Too complex
|
|
"F403", # 'from .base import *' used; unable to detect undefined names
|
|
"F405", # May be undefined, or defined from star imports
|
|
]
|
|
|
|
# Additional ignore patterns for star imports in specific files
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"enhanced_mcp/*/base.py" = ["F403", "F405"]
|
|
"enhanced_mcp/*" = ["F403", "F405"] # Allow star imports throughout the enhanced_mcp package
|
|
"tests/*" = ["E501", "F401", "F811", "F403", "F405"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
python_files = ["test_*.py", "*_test.py"]
|
|
asyncio_mode = "auto"
|