Skip to main content
Glama

get_log_neighbors

Return the logs chronologically around a given logId.

Designed for the "what happened right before/after this alert?" question. Returns the anchor log plus N logs strictly older and N logs strictly newer, all scoped (by default) to the same sourceInstanceId — the same pod or process — so you don't see interleaved replicas.

Defaults: before: 3 after: 3 sameSource: true

Set sameSource=false for cross-pod neighbour queries (e.g. "what else was the cluster doing at this moment?").

Returns: anchor: the log identified by logId before: logs older than anchor, sorted oldest-first (chronological) after: logs newer than anchor, sorted oldest-first (chronological) queryStats: rowsReturned, elapsedMs

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
afterNoHow many logs strictly newer than the anchor to return (default 3, max 50)
logIdYesULID of the anchor log
beforeNoHow many logs strictly older than the anchor to return (default 3, max 50)
sameSourceNoScope to the anchor's sourceInstanceId (same pod/process). Default true.

TDQS

A4.8/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full burden. It discloses defaults (3/3/true), strict ordering, source scoping, and return structure. It does not cover error cases or rate limits, but for a read-only query tool it is substantially transparent.

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

Conciseness5/5

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

The description is well-organized and front-loaded: purpose in the first line, then design, defaults, cross-pod variant, and return fields. Every sentence earns its place without unnecessary verbosity.

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

Completeness5/5

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

With no output schema, the description appropriately explains return fields (anchor, before, after, queryStats). It covers defaults, scoping, and the alternate sameSource=false mode, making it complete for a 4-parameter read tool.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds significant meaning beyond raw parameter definitions: it explains 'strictly older/newer', provides defaults, and clarifies the sameSource scoping rationale. This enriches all four parameters.

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

Purpose5/5

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

The description clearly states the tool returns logs chronologically around a given logId, with specific scoping by sourceInstanceId. It differentiates from siblings by emphasizing the neighbor context and avoiding interleaved replicas, making it distinct from a plain get_log or logs query.

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

Usage Guidelines5/5

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

It explicitly names the target use case ('what happened right before/after this alert?') and explains when to use sameSource=false for cross-pod queries. This provides clear guidance on when to use the tool and when to adjust its primary setting.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.8/5.0
Disambiguation2/5

Several tool pairs are near-duplicates, including three deprecated aliases (add_investigation_alert_channel vs add_alert_channel, list_investigation_alert_channels vs list_alert_channels, remove_investigation_alert_channel vs remove_alert_channel) that muddy the surface. Additionally, suppress_signal and create_ignore_rule both suppress alerting via different mechanisms, which could cause misselection despite detailed descriptions.

Naming Consistency4/5

The vast majority of tools follow a clear verb_noun snake_case pattern (create_api_test, list_issues, set_alert_rule_status). A few bare-noun tools (logs, spans, metrics) and the standalone verb correlate break the pattern slightly, but overall the naming is highly consistent and predictable.

Tool Count1/5

With 52 tools, this is on the extreme end of the calibration scale. Even accounting for the broad scope of an observability platform, the count is excessive and includes several deprecated redundancies that inflate it further.

Completeness5/5

The toolset provides comprehensive CRUD/lifecycle coverage across all major domains: alert rules (create, read, update, delete, status, delivery, preview), API tests (create, read, update, delete, run history, credentials), ignore rules and suppressions, issues with digest config, investigations with claim/read, channels, credentials, and rich query tools (logs, spans, metrics, SQL, traces, correlation). No obvious dead ends or missing core operations.

Resources