Skip to main content
Glama
KietDev-JS

openobserve-readonly-mcp

by KietDev-JS

o2_stream_schema

Read-onlyIdempotent

Retrieve field names and types for a specific stream to ensure valid query column names before writing SQL.

Instructions

Field names and types of one stream (read-only). Use before writing a query to learn valid column names.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNoStream type (default logs).
streamYesExact stream name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, which cover safety and idempotency. The description adds the contextual behavior of being a pre-query step, which is useful. It does not contradict annotations and adds a small but valuable behavioral nuance about when it should be invoked.

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 a single, compact sentence that states the purpose, read-only nature, and usage timing. It is front-loaded with the core function and provides the key usage hint without any fluff. Every word adds value.

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?

For a simple schema-retrieval tool with only two parameters, both well-documented in the schema, and annotations covering safety and idempotency, the description is complete. It tells the agent exactly when to use it and what it returns (field names and types), with no output schema needed since the return is self-explanatory.

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%, meaning both parameters (type and stream) are fully described in the input schema with types, enums, and descriptions. The tool description adds no additional parameter details, so the baseline of 3 is appropriate because the schema carries the full burden.

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 field names and types for a single stream, and explicitly notes it is read-only. It distinguishes itself from siblings by focusing on schema retrieval for one stream, while o2_list_streams lists streams and o2_search searches data. The verb 'learn' and resource 'column names' make the purpose unambiguous.

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

Usage Guidelines4/5

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

The description gives explicit when-to-use guidance: 'Use before writing a query to learn valid column names.' It implies this is a prerequisite step, which is clear and actionable. However, it does not explicitly mention alternatives or when not to use it, though the sibling tools are implicitly differentiated by the tool's specific purpose.

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

Deploy Server

Other Tools