hyf-backend/th_agenter/services/mysql_tool_manager.py

36 lines
1.0 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""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()