Skip to main content
Glama

Get Data Catalog

get_data_catalog
Read-only

List all data types available to a user, grouped by MCP tool, including events, annotations, and device measurements. Call before requesting time-series data or raw records.

Instructions

Get all data types available for this user, grouped by relevant MCP tool. Includes location, events, user-defined types and annotations, and measurements from connected devices.

Call this before requesting time-series data or raw records, and only use a data type with the tools named in its group. A type shared by another user carries that user's fulcra_userid; pass it to read their data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoOptional. Filter results by partial, case-insensitive name match.
categoryNoOptional. Filter by category. E.g. "healthkit", "annotations", "sleep", "mindfulness", "user_defined", "base_type".
data_typeNoOptional. Return only the data type with this exact ID. For a user-defined type, this also lists its fields (what record_data takes in `fields`): a type name, or the field's JSON Schema if it has nested fields or rules; plus required_fields.
fulcra_useridNoOptional. Only the types this Fulcra user shares with you (your own ID: only your own types).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds real behavioral context beyond that: what the return groups contain, and the ownership rule that a shared type carries the other user's fulcra_userid which must be passed to read their data. It stops short of describing default unfiltered behavior or result size, so it is strong but not exhaustive.

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?

Front-loads the purpose, then the prerequisite, then the cross-user caveat — no filler sentences. Slightly dense in the first paragraph's enumeration, but every clause carries operational meaning.

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 an output schema present, return-value detail is unnecessary, and the description covers the remaining agent needs: what the catalog contains, when to call it relative to data-fetching tools, and how to handle types shared by other users.

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%, so all four filters are already documented with examples and defaults. The description reinforces fulcra_userid's shared-type semantics but adds little the schema does not already state; baseline 3 is appropriate.

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?

States a specific verb+resource ('Get all data types available for this user') and adds scope detail — grouped by MCP tool, and enumerating the included categories (location, events, user-defined types, annotations, measurements). An agent can distinguish this catalog enumeration from siblings like get_records, get_time_series, and get_data_updates.

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?

Gives explicit sequencing ('Call this before requesting time-series data or raw records'), a usage constraint ('only use a data type with the tools named in its group'), and cross-user guidance explaining when fulcra_userid applies. This is genuine when/when-not guidance rather than implied context.

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