fix(mcp): Improve validation errors and field aliases to reduce failed LLM tool calls (#38625)

This commit is contained in:
Kamil Gabryjelski
2026-03-13 11:16:50 +01:00
committed by GitHub
parent 56d6bb1913
commit d91b96814e
6 changed files with 56 additions and 15 deletions

View File

@@ -190,7 +190,20 @@ def _convert_to_response(result: QueryResult) -> ExecuteSqlResponse:
if data_stmt is not None and data_stmt.data is not None:
# SELECT query - convert DataFrame
import pandas as pd
df = data_stmt.data
if not isinstance(df, pd.DataFrame):
logger.error(
"Expected DataFrame but got %s for statement data",
type(df).__name__,
)
return ExecuteSqlResponse(
success=False,
error=f"Internal error: unexpected data type ({type(df).__name__})",
error_type="data_conversion_error",
statements=statements,
)
rows = df.to_dict(orient="records")
columns = [ColumnInfo(name=col, type=str(df[col].dtype)) for col in df.columns]
row_count = len(df)