Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
O2_ORGYesOrganization id
O2_URLYesBase URL of your OpenObserve instance, e.g. https://o2.example.com
O2_USERYesLogin email
O2_TOKENYesPassword or API token
O2_DB_URLNoRead-only Postgres URL; omit to disable the database tools
O2_ENV_FILENoPath to a KEY=value file to read as a fallback (local development)
O2_EXCLUDE_IPSNoComma-separated IPs the assistant should filter out
O2_EXTRA_NOTESNoDeployment notes injected into the SearchSQL description
O2_DB_TIMEOUT_MSNoStatement timeout in milliseconds, default 1500015000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
StreamListA

List OpenObserve streams with document counts, stored size and the newest document timestamp. Start here when you do not know what data is available.

StreamSchemaA

Field names and types for one OpenObserve stream. Call this before writing SQL against a stream you have not queried before.

SearchSQLA

Run SQL against an OpenObserve stream and return the matching rows. The stream name is the FROM target. start and end accept an ISO timestamp, a plain date, epoch seconds/ms/µs, a relative offset like "-24h" or "-90m", or "now". They default to the last 24 hours. Bucket by time with histogram(_timestamp, '1 hour'). _timestamp is microseconds since the epoch. Call StreamList first if you do not know what exists, and StreamSchema before querying a stream whose fields you have not seen — field names differ per stream and guessing wastes a round trip. Beware that many log shippers emit SEVERAL rows per request (one per output line), so a naive count(*) overstates traffic. Check the schema for a status or level field and count only rows that carry one.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: listing streams, retrieving a schema, and executing SQL queries. The descriptions explicitly guide the correct order of use, eliminating ambiguity.

Naming Consistency3/5

All names use PascalCase without separators, but the structural pattern is inconsistent: StreamList and StreamSchema are noun-first, while SearchSQL is verb-first. This mixed verb/noun style reduces predictability, though names remain readable.

Tool Count5/5

Three tools cover the essential workflow of discovering streams, inspecting schemas, and querying data. This minimal, focused set avoids redundancy and each tool earns its place.

Completeness4/5

The core query lifecycle is well covered: list streams, get schema, run SQL. Minor gaps exist, such as no tool for cross-stream queries or saved query management, but agents can work around these with the provided SQL interface.

Maintenance

ActivityMaintained
ResponsivenessNo issues