hyf-backend/th_agenter/services/mysql_tool_manager.py

36 lines
1.0 KiB
Python
Raw Normal View History

2026-01-21 13:45:39 +08:00
"""MySQL MCP工具全局管理器"""
from loguru import logger
from typing import Optional
from th_agenter.services.mcp.mysql_mcp import MySQLMCPTool
class MySQLToolManager:
"""MySQL工具全局单例管理器"""
_instance: Optional['MySQLToolManager'] = None
_mysql_tool: Optional[MySQLMCPTool] = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance
@property
def mysql_tool(self) -> MySQLMCPTool:
"""获取MySQL工具实例"""
if self._mysql_tool is None:
self._mysql_tool = MySQLMCPTool()
logger.info("创建全局MySQL工具实例")
return self._mysql_tool
def get_tool(self) -> MySQLMCPTool:
"""获取MySQL工具实例别名方法"""
return self.mysql_tool
# 全局实例
mysql_tool_manager = MySQLToolManager()
def get_mysql_tool() -> MySQLMCPTool:
"""获取全局MySQL工具实例"""
return mysql_tool_manager.get_tool()