Skip to main content
Glama

liara_get_logs

Retrieve application logs from Liara cloud platform by specifying app name, time range, and entry limit for monitoring and debugging purposes.

Instructions

Get app logs

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appNameYesThe name of the app
limitNoMaximum number of log entries (optional, default: 100)
sinceNoISO timestamp to fetch logs since (optional)
untilNoISO timestamp to fetch logs until (optional)

Implementation Reference

  • The core handler function that retrieves application logs from the Liara API using the provided appName and optional time range or limit parameters. This is the exact implementation of the liara_get_logs tool logic.
    export async function getAppLogs(
        client: LiaraClient,
        appName: string,
        options?: {
            limit?: number;
            since?: string;
            until?: string;
        }
    ): Promise<LogEntry[]> {
        validateAppName(appName);
        
        const params: any = {};
        if (options?.limit) {
            params.limit = options.limit;
        }
        if (options?.since) {
            params.since = options.since;
        }
        if (options?.until) {
            params.until = options.until;
        }
        
        return await client.get<LogEntry[]>(
            `/v1/projects/${appName}/logs`,
            params
        );
    }
  • Type definition for the input parameters of the logs tool, matching the options accepted by getAppLogs.
    export interface LogsRequest {
        since?: string;
        until?: string;
        limit?: number;
        follow?: boolean;
    }
  • Supporting function for streaming logs, which currently delegates to getAppLogs for recent logs.
    export async function streamAppLogs(
        client: LiaraClient,
        appName: string
    ): Promise<LogEntry[]> {
        validateAppName(appName);
        
        // For now, return recent logs
        // WebSocket streaming would require separate implementation
        return await getAppLogs(client, appName, { limit: 100 });
    }
  • Type definition for individual log entry returned by the logs tool.
    export interface LogEntry {
        timestamp: string;
        message: string;
        level?: 'info' | 'warn' | 'error' | 'debug';
        source?: string;
    }
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Get app logs' implies a read-only operation, but it doesn't specify authentication requirements, rate limits, pagination behavior, or what happens when the app doesn't exist. For a tool with 4 parameters and no annotation coverage, this leaves significant behavioral questions unanswered.

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 extremely concise at just 3 words, which is efficient and front-loaded. However, it's arguably too brief given the tool's functionality - it sacrifices clarity for brevity. Every word earns its place, but more words might be needed to adequately describe the tool's purpose and usage.

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

Completeness2/5

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

Given the tool's complexity (4 parameters, no output schema, no annotations), the description is insufficient. It doesn't explain what format the logs are returned in, whether they're real-time or historical, how they're structured, or any limitations. For a log retrieval tool that likely returns structured data, the description should provide more context about the output.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 4 parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.

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

Purpose3/5

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

The description 'Get app logs' states the basic action (get) and resource (app logs), but it's vague about scope and format. It doesn't differentiate from potential sibling tools like 'liara_get_metrics' or 'liara_get_app' that might provide related information. The purpose is understandable but lacks specificity about what kind of logs or what timeframe is covered.

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?

No guidance is provided about when to use this tool versus alternatives. With many sibling tools available (including other 'get' operations like 'liara_get_metrics'), the description offers no context about when log retrieval is appropriate versus other monitoring or diagnostic tools. There's no mention of prerequisites, typical use cases, or limitations.

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/razavioo/liara-mcp'

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