Enterprise-AI-Assistant-MCP / tools /sql_query_tool.py
aniketp2009gmail's picture
Upload folder using huggingface_hub
0525622 verified
Raw
History Blame Contribute Delete
815 Bytes
"""LangChain tool wrapper for SQL queries - used by LangGraph agent."""
from langchain_core.tools import tool
from logger.logging import get_logger
from mcp_server.sql_tool import SQLTool
logger = get_logger(__name__)
_sql_tool = None
_sql_tool_init_failed = False
def _get_tool():
global _sql_tool, _sql_tool_init_failed
if _sql_tool is None:
_sql_tool_init_failed = False
_sql_tool = SQLTool()
return _sql_tool
@tool
def query_database(natural_language_query: str, max_rows: int = 100) -> dict:
"""Query the database using a natural language question.
Args:
natural_language_query: Question about data (e.g. "top 5 products")
max_rows: Max number of rows to return (default 100)
"""
return _get_tool().execute(natural_language_query, max_rows)