get_average_efficiency_by_temperature
Analyze Tesla vehicle efficiency trends by temperature with data from TeslaMate. Optimize energy usage by understanding how temperature impacts your car's performance.
Instructions
Get the average efficiency by temperature for each car.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools.py:22-26 (schema)Defines the tool's metadata including name, description, and the SQL file containing the query logic.ToolDefinition( name="get_average_efficiency_by_temperature", description="Get the average efficiency by temperature for each car. Helps understand how temperature affects vehicle efficiency.", sql_file="average_efficiency_by_temperature.sql", ),
- main.py:22-28 (handler)Factory function that creates the handler for the tool, which executes the SQL query synchronously from the specified file.def create_tool_handler(sql_file: str): """Factory function to create tool handlers""" def handler() -> List[Dict[str, Any]]: return db_manager.execute_query_sync(sql_file) return handler
- main.py:31-39 (registration)Dynamically registers the handler for each tool, including get_average_efficiency_by_temperature, with the MCP server.# Register all tools from definitions for tool_def in TOOL_DEFINITIONS: tool_func = create_tool_handler(tool_def.sql_file) tool_func.__doc__ = tool_def.description tool_func.__name__ = tool_def.name # Register the tool with the MCP server mcp.tool()(tool_func)
- main_remote.py:118-127 (handler)Handler function for executing predefined tools like get_average_efficiency_by_temperature in the remote MCP server by running the associated SQL file asynchronously.async def execute_predefined_tool(tool_name: str) -> List[Dict[str, Any]]: """Execute a predefined tool by name""" if not app_context: raise RuntimeError("Application context not initialized") tool = get_tool_by_name(tool_name) return await app_context.db_manager.execute_query_async( tool.sql_file, app_context.db_pool )
- src/database.py:27-34 (helper)Core helper method that reads the SQL file and executes the query synchronously, used by the tool handlers.def execute_query_sync(self, sql_file_path: str) -> List[Dict[str, Any]]: """Execute SQL query synchronously""" sql_query = self.read_sql_file(sql_file_path) with psycopg.connect(self.connection_string, row_factory=dict_row) as conn: with conn.cursor() as cur: cur.execute(sql_query) return cur.fetchall()