run_select_query
Execute SQL queries on GigAPI Timeseries Lake clusters to retrieve and analyze time-series data from specified databases.
Instructions
Execute SQL queries on your GigAPI cluster. All queries are executed safely.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes | ||
| database | Yes |
Implementation Reference
- mcp_gigapi/tools.py:45-78 (handler)The core handler function that executes the provided SQL SELECT query on the specified GigAPI database using the client.execute_query method. It handles errors from the client response or exceptions, and returns a structured dictionary with results, success status, query, and database information.def run_select_query(self, sql: str, database: str) -> Dict[str, Any]: """Execute SQL query on GigAPI. Args: sql: The SQL query to execute database: The database to execute the query against Returns: Query results """ try: response = self.client.execute_query(sql, database) if response.error: return { "error": response.error, "success": False } return { "results": response.results, "success": True, "query": sql, "database": database } except GigAPIClientError as e: logger.error(f"Query execution failed: {e}") return { "error": str(e), "success": False, "query": sql, "database": database }
- mcp_gigapi/tools.py:14-19 (schema)Pydantic BaseModel defining the input schema for the run_select_query tool, specifying 'sql' (required SQL query string) and 'database' (required database name) fields with descriptions.class QueryInput(BaseModel): """Input model for SQL query execution.""" sql: str = Field(..., description="The SQL query to execute") database: str = Field(..., description="The database to execute the query against")
- mcp_gigapi/tools.py:226-230 (registration)Registration of the 'run_select_query' tool in the create_tools function using FastMCP's Tool.from_function. It binds the GigAPITools instance's run_select_query method, assigns the tool name, and provides a description emphasizing safe SQL query execution.Tool.from_function( tools_instance.run_select_query, name="run_select_query", description="Execute SQL queries on your GigAPI cluster. All queries are executed safely.", ),