Register all separated tools in MCP server

Update MCP server to use the new modular tool structure:
- Projects and tasks from existing modules
- Documents and versions from new modules
- Feature management from standalone module

Remove all feature flag logic as separated tools are now default.
This commit is contained in:
Rasmus Widing 2025-08-18 20:42:36 +03:00
parent 89f53d37c8
commit 52f54699e9

View File

@ -193,7 +193,7 @@ MCP_INSTRUCTIONS = """
## 🚨 CRITICAL RULES (ALWAYS FOLLOW)
1. **Task Management**: ALWAYS use Archon MCP tools for task management,
You can combine them with your TODO tools but always make that the first todo is to update archon
You can combine them with your TODO tools but always make sure that the first todo is to update archon
and the last todo is to update archon.
Example: Use TodoWrite to create a set of new todos
@ -374,39 +374,72 @@ def register_modules():
logger.error(f"✗ Error registering RAG module: {e}")
logger.error(traceback.format_exc())
# Import and register Project module - only if Projects are enabled
projects_enabled = os.getenv("PROJECTS_ENABLED", "true").lower() == "true"
use_separate_project_tools = os.getenv("USE_SEPARATE_PROJECT_TOOLS", "false").lower() == "true"
# Import and register all feature tools - separated and focused
if projects_enabled:
if use_separate_project_tools:
# Use new separated project tools
# Project Management Tools
try:
from src.mcp_server.features.projects import register_project_tools
register_project_tools(mcp)
modules_registered += 1
logger.info("✓ Project tools registered (separate tools)")
logger.info("✓ Project tools registered")
except ImportError as e:
logger.warning(f"Separate project tools not available: {e}")
logger.warning(f"Project tools not available: {e}")
except Exception as e:
logger.error(f"✗ Error registering separate project tools: {e}")
logger.error(f"✗ Error registering project tools: {e}")
logger.error(traceback.format_exc())
else:
# Use consolidated project module (for backward compatibility)
try:
from src.mcp_server.modules.project_module import register_project_tools
register_project_tools(mcp)
# Task Management Tools
try:
from src.mcp_server.features.tasks import register_task_tools
register_task_tools(mcp)
modules_registered += 1
logger.info("✓ Project module registered (consolidated)")
logger.info("Task tools registered")
except ImportError as e:
logger.warning(f"⚠ Project module not available: {e}")
logger.warning(f"Task tools not available: {e}")
except Exception as e:
logger.error(f"✗ Error registering Project module: {e}")
logger.error(f"✗ Error registering task tools: {e}")
logger.error(traceback.format_exc())
# Document Management Tools
try:
from src.mcp_server.features.documents import register_document_tools
register_document_tools(mcp)
modules_registered += 1
logger.info("✓ Document tools registered")
except ImportError as e:
logger.warning(f"⚠ Document tools not available: {e}")
except Exception as e:
logger.error(f"✗ Error registering document tools: {e}")
logger.error(traceback.format_exc())
# Version Management Tools
try:
from src.mcp_server.features.documents import register_version_tools
register_version_tools(mcp)
modules_registered += 1
logger.info("✓ Version tools registered")
except ImportError as e:
logger.warning(f"⚠ Version tools not available: {e}")
except Exception as e:
logger.error(f"✗ Error registering version tools: {e}")
logger.error(traceback.format_exc())
# Feature Management Tools
try:
from src.mcp_server.features.feature_tools import register_feature_tools
register_feature_tools(mcp)
modules_registered += 1
logger.info("✓ Feature tools registered")
except ImportError as e:
logger.warning(f"⚠ Feature tools not available: {e}")
except Exception as e:
logger.error(f"✗ Error registering feature tools: {e}")
logger.error(traceback.format_exc())
else:
logger.info("⚠ Project module skipped - Projects are disabled")
logger.info(f"📦 Total modules registered: {modules_registered}")