Skip to main content
Glama
cobanov

teslamate-mcp

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
NameRequiredDescriptionDefault

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", ),
  • 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 )
  • 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": {}}, ) )
  • 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)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cobanov/teslamate-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server