Skip to main content
Glama

check_availability

Run aggregate-only SQL to verify dataset availability: get counts, distinct counts, and year ranges for accessible WRDS libraries, including AI-restricted sources.

Instructions

Run an aggregate-only availability check (counts, distinct counts, min/max years) on any accessible library, including ones where row-level data is not AI-allowed. The query must return a single summary row, e.g. SELECT count(*), count(distinct gvkey), min(fyear), max(fyear) FROM comp.g_funda WHERE ...

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sqlYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden and it does disclose a key behavioral constraint: the query must return a single summary row, implying rejection of multi-row results. It does not cover permissions, what happens on violation, or rate/access behavior, so the disclosure is partial.

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?

Purpose and constraint come first, followed by a compact illustrative example; every element earns its place. The example sentence is long but directly encodes the required shape of the input rather than padding.

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?

With an output schema present, return values need not be described, and the description covers purpose, input shape, and the aggregate-only constraint. The main remaining gap is the lack of explicit routing versus query/export_query, but for a one-parameter tool this is close to complete.

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 0% for the single sql parameter, so the description must compensate, and it does by giving concrete example syntax (count(*), count(distinct gvkey), min/max fyear, FROM comp.g_funda WHERE ...) plus the single-summary-row constraint on the input. This meaningfully clarifies what belongs in the parameter.

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

Purpose4/5

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

States a specific verb+resource ('run an aggregate-only availability check') and pins the scope ('on any accessible library, including ones where row-level data is not AI-allowed'). This distinguishes it reasonably from the generic query sibling, though it never names the alternative explicitly.

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

Usage Guidelines3/5

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

Usage is implied by the 'aggregate-only' framing and the note about libraries where row-level data is not AI-allowed, which hints this is the way to probe restricted libraries. However, there is no explicit when-not or named alternative (e.g., use query for row-level retrieval), leaving the agent to infer the boundary with query/export_query.

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