get_basic_car_information
Retrieve essential vehicle details such as model, VIN, and status directly from your TeslaMate database to monitor and manage Tesla cars effectively.
Instructions
Get the basic car information for each car.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- main.py:22-29 (handler)Factory that creates the specific handler function for the tool, which executes the SQL query from 'basic_car_information.sql' via the database manager.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:32-39 (registration)Registers the dynamic handler function for 'get_basic_car_information' (and all tools) with the FastMCP server using the @mcp.tool() decorator.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)
- src/tools.py:27-31 (schema)Defines the tool schema including name, description, and the SQL query file path used for execution.ToolDefinition( name="get_basic_car_information", description="Get the basic car information for each car. Returns VIN, model, firmware version, and other vehicle details.", sql_file="basic_car_information.sql", ),
- src/database.py:27-34 (helper)Core helper function that reads the SQL file and executes the query synchronously, returning the results. Called by the tool handler.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()
- src/database.py:21-26 (helper)Helper that loads the SQL content from the file 'basic_car_information.sql' in the queries directory.def read_sql_file(self, file_path: str) -> str: """Read SQL query from file""" full_path = self.queries_dir / file_path with open(full_path, "r") as file: return file.read()