Skip to main content
Glama
cobanov

teslamate-mcp

get_tire_pressure_weekly_trends

Monitor weekly tire pressure trends to track changes and patterns for each vehicle, helping identify potential issues or maintenance needs.

Instructions

Get the tire pressure weekly trends for each car. Monitors tire pressure changes and patterns by week.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Implementation Reference

  • main.py:22-29 (handler)
    Factory function that creates the core handler logic for the get_tire_pressure_weekly_trends tool (and all others), which reads the SQL file and executes it synchronously using the DatabaseManager.
    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-38 (registration)
    Registration loop that dynamically creates and registers the handler for get_tire_pressure_weekly_trends (and all predefined tools) with the FastMCP 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)
  • src/tools.py:92-96 (registration)
    ToolDefinition registration for get_tire_pressure_weekly_trends, specifying the name, description, and SQL query file.
    ToolDefinition(
        name="get_tire_pressure_weekly_trends",
        description="Get the tire pressure weekly trends for each car. Monitors tire pressure changes and patterns by week.",
        sql_file="tire_pressure_weekly_trend.sql",
    ),
  • Async handler function for executing predefined tools like get_tire_pressure_weekly_trends in the remote HTTP MCP server, using get_tool_by_name to fetch the SQL file and execute 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
        )
  • Registration and schema definition loop for list_tools() in remote server, defining empty input schema for get_tire_pressure_weekly_trends (no parameters required).
    # Add all predefined tools
    for tool_def in TOOL_DEFINITIONS:
        tools.append(
            types.Tool(
                name=tool_def.name,
                description=tool_def.description,
                inputSchema={"type": "object", "properties": {}},
            )
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Monitors tire pressure changes and patterns by week,' which implies a read-only, monitoring function, but doesn't specify details like data format, time ranges, error handling, or authentication needs. For a tool with zero annotation coverage, this leaves significant behavioral gaps, such as whether it requires specific permissions or how it handles missing data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: the first sentence states the core purpose, and the second adds context. Both sentences earn their place by clarifying the tool's function and monitoring aspect. It avoids redundancy and is appropriately sized for a no-parameter tool, though it could be slightly more structured with bullet points or examples.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (simple, no parameters) and the presence of an output schema, the description is somewhat complete but has gaps. It explains what the tool does but lacks behavioral details like data scope or usage context. The output schema likely covers return values, reducing the need for that in the description, but without annotations, more context on monitoring behavior would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add param info, which is appropriate here. Since there are no parameters, the baseline score is 4, as the description doesn't need to compensate for any schema gaps and aligns with the schema's simplicity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get the tire pressure weekly trends for each car.' It specifies the verb ('Get'), resource ('tire pressure weekly trends'), and scope ('for each car'), which is specific and actionable. However, it doesn't explicitly distinguish this tool from potential siblings like 'get_current_car_status' or 'get_daily_driving_patterns', which might also involve tire pressure or car monitoring, so it doesn't fully achieve sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions 'Monitors tire pressure changes and patterns by week,' which implies a monitoring context, but doesn't specify use cases, prerequisites, or exclusions. Without explicit when/when-not instructions or named alternatives, the agent lacks clear usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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