Skip to main content
Glama
daikazu

Rybbit MCP Server

by daikazu

rybbit_run_query

Run read-only SQL queries against your analytics events to extract insights. Filter by site or query across all accessible sites, with server-enforced safety limits.

Instructions

Run a read-only ClickHouse SQL query against your analytics events. Query the scoped_events table only (pre-filtered to sites your API key can access). Server-enforced limits: SELECT/WITH-SELECT statements only; max 1,000 result rows; 10-second execution cap; query length up to 20,000 chars; no semicolons; no quoted identifiers; DDL/DML keywords and remote table functions are blocked. Requires the sql:read scope. Call rybbit_get_query_schema first to see available columns. Omit siteId to query across all accessible sites in the organization.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesClickHouse SELECT query against scoped_events (no semicolons)
siteIdNoOptional numeric site ID to scope the query to a single site
organizationIdYesOrganization identifier (see rybbit_get_organizations)
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It goes above and beyond by detailing server-enforced limits: SELECT/WITH-SELECT only, max 1,000 rows, 10-second cap, 20,000-char length, no semicolons, no quoted identifiers, blocked DDL/DML and remote table functions. It also states the required scope (sql:read) and read-only nature. This is exceptional transparency.

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 dense but every sentence earns its place: purpose, table scope, limits, required scope, prerequisite call, cross-site behavior. It is well-structured, moving from purpose to operational constraints to usage tips, without redundancy. Length is appropriate for the tool's complexity.

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

Completeness4/5

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

The tool has no output schema, so the description should cover return behavior; it mentions a 1,000-row limit but not the result format. However, given the extensive operational details (limits, restrictions, scope, prerequisite), all other critical context is covered. A brief note on result format would make it a 5, but it's already strong.

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?

Schema description coverage is 100%, so baseline is 3. The description adds meaningful semantic nuance beyond the schema: omitting siteId queries across all accessible sites, and references to helper tools for organizationId. This justifies a 4, though much of the parameter meaning still comes from the schema.

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 opens with a specific verb+resource: 'Run a read-only ClickHouse SQL query against your analytics events.' It names the exact table (scoped_events) and clearly differentiates itself from the many sibling get_* tools by being the generic SQL query interface. This is unambiguous and distinguishes the tool from all alternatives.

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?

Provides explicit usage guidance: 'Call rybbit_get_query_schema first to see available columns' and 'Omit siteId to query across all accessible sites.' It also clarifies scoping to accessible sites. However, it does not explicitly contrast with specific siblings or state when not to use it (e.g., prefer specialized get_* tools for predefined analytics). This is a minor gap, so not a 5.

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/daikazu/rybbit-mcp-server'

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