execute_sql
Run SQL queries directly on the OceanBase server to retrieve or manage data efficiently using the specified SQL command.
Instructions
Execute an SQL on the OceanBase server.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes |
Implementation Reference
- The execute_sql tool handler. Executes arbitrary SQL queries on the OceanBase database, returns JSON with results or error.
@app.tool() def execute_sql(sql: str) -> str: """Execute an SQL on the OceanBase server.""" logger.info(f"Calling tool: execute_sql with arguments: {sql}") result = {"sql": sql, "success": False, "rows": 0, "columns": None, "data": None, "error": None} try: with connect(**db_conn_info.model_dump()) as conn: with conn.cursor() as cursor: cursor.execute(sql) if cursor.description: result["columns"] = [column[0] for column in cursor.description] result["data"] = [[str(cell) for cell in row] for row in cursor.fetchall()] else: conn.commit() result["rows"] = cursor.rowcount result["success"] = True except Error as e: result["error"] = f"[Error]: {e}" except Exception as e: result["error"] = f"[Exception]: {e}" json_result = json.dumps(result) if result["error"]: logger.error(f"SQL executed failed, result: {json_result}") return json_result - src/oceanbase_mcp_server/oceanbase_mcp/server.py:162-162 (registration)Registration of the execute_sql tool using FastMCP @app.tool() decorator.
@app.tool()