This massive update transforms Enhanced MCP Tools into a comprehensive workflow orchestration platform: **Core Upgrades:** - Updated FastMCP from 2.8.1 to 2.12.3 (latest release) - Updated MCP SDK from 1.9.4 to 1.14.1 - Updated 29+ dependencies for compatibility **New Features:** - ComponentService integration with progressive tool disclosure - SecurityManager with SACRED TRUST safety framework enhancement - BulkToolCaller for workflow orchestration and batch operations - Enhanced CLI with stdio default and explicit HTTP mode (--http flag) **Security Enhancements:** - Progressive tool disclosure (SAFE/CAUTION/DESTRUCTIVE levels) - Safe mode enabled by default - Destructive tools require explicit confirmation - Mandatory dry-run validation for bulk operations - Centralized security management across all modules **Architecture Improvements:** - Enhanced MCPBase with ComponentService integration - Tool executor registry for bulk operations - Backward compatibility with legacy modules - Graceful fallback for missing ComponentService features **Tool Count Expansion:** - Total tools: 64+ (up from 50+) - Categories: 16 (up from 14) - New SecurityManager: 5 tools - New BulkOperations: 8 tools **Files Added:** - src/enhanced_mcp/security_manager.py - Comprehensive security management - src/enhanced_mcp/bulk_operations.py - Workflow orchestration system - examples/ - Comprehensive integration guides and examples **Files Modified:** - pyproject.toml - FastMCP 2.12.3 dependency update - src/enhanced_mcp/mcp_server.py - ComponentService integration - src/enhanced_mcp/base.py - Enhanced MCPBase with security framework - Multiple modules updated for ComponentService compatibility All features tested and verified working. Server maintains stdio default behavior for MCP clients while providing powerful workflow orchestration capabilities.
100 lines
2.7 KiB
TOML
100 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 = "Ryan Malloy", email = "ryan@supported.systems"},
|
|
]
|
|
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.12.3",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
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-tools = "enhanced_mcp.mcp_server:main"
|
|
|
|
[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]
|
|
"src/enhanced_mcp/*/base.py" = ["F403", "F405"]
|
|
"src/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"
|