get_longest_drives_by_distance
Retrieve the longest trips by distance for each vehicle, showing trip details including distance traveled and duration.
Instructions
Get the longest drives by distance for each car. Lists the longest trips taken with details about distance and duration.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools.py:72-76 (registration)Registers the tool 'get_longest_drives_by_distance' with its description and SQL file path.ToolDefinition( name="get_longest_drives_by_distance", description="Get the longest drives by distance for each car. Lists the longest trips taken with details about distance and duration.", sql_file="longest_drives_by_distance.sql", ),
- main_remote.py:118-127 (handler)Generic handler for executing predefined tools by retrieving the ToolDefinition and running its SQL query via DatabaseManager.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 )
- main_remote.py:179-186 (schema)Registers the tool schema in the MCP list_tools() method, using the definition's name and description with empty input schema.for tool_def in TOOL_DEFINITIONS: tools.append( types.Tool( name=tool_def.name, description=tool_def.description, inputSchema={"type": "object", "properties": {}}, ) )
- src/database.py:36-44 (handler)Core handler logic that loads SQL from file and executes the query asynchronously on the database pool.self, sql_file_path: str, pool: AsyncConnectionPool ) -> List[Dict[str, Any]]: """Execute SQL query asynchronously""" sql_query = self.read_sql_file(sql_file_path) async with pool.connection() as conn: async with conn.cursor() as cur: await cur.execute(sql_query) return await cur.fetchall()
- main.py:32-39 (registration)Dynamically creates and registers a specific handler function for each tool, including 'get_longest_drives_by_distance', in the STDIO transport server.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)