Skip to main content
Glama

describe_entity_type

Return the full active schema for one entity_type: field_names, per-field type/required/description (field_summary), required_fields, schema_version, and the raw schema_definition.

Instructions

Return the full active schema for one entity_type: field_names, per-field type/required/description (field_summary), required_fields, schema_version, and the raw schema_definition. Call this before store when you know the entity_type but not its declared field shape, so the first store lands with zero unknown_fields and zero required_fields_missing warnings. Repair workflow: when a prior store or correct returned unknown_fields_count > 0 (or unknown_field: true), call describe_entity_type to see the declared fields, then re-store or correct the value into a declared field that fits; only add a new field (update_schema_incremental / register_schema, per the response hint) when no declared field fits. Read-only; no persistence side effects. Errors with InvalidParams when the entity_type has no active schema (use list_entity_types to discover types, or register_schema to create one). Scope note: describe prefers user scope (always passes the session user id), and so does update_schema_incremental when user_specific is omitted, so a type visible here can be extended without restating scope. Only an explicit user_specific: false narrows the update to global and can return ERR_SCHEMA_SCOPE_MISMATCH; never register_schema for that code.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_idNo
entity_typeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.16.0

TDQS

A4.6/5.0
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 and does so: read-only with no persistence side effects, InvalidParams error when no active schema exists, and a detailed scope behavior note (prefers user scope, ERR_SCHEMA_SCOPE_MISMATCH on explicit user_specific: false). This is far more than the annotations would have supplied.

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 return shape are front-loaded, then usage, repair flow, errors, and scope. Dense and mostly earning its place, but the final scope note drifts into update_schema_incremental's behavior and ERR_SCHEMA_SCOPE_MISMATCH handling, which is more about a sibling than this call.

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?

No output schema exists, so spelling out the returned keys (field_summary, required_fields, schema_version, schema_definition) is exactly the right compensation. Errors, scope, and repair path are all covered; an agent has everything needed to call and act on the result.

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 0% across 2 bare parameters (user_id, entity_type), so the description must compensate. It implies entity_type as the target and hints at session-user scoping, but never explains the user_id parameter's role or how scope resolution actually works for it. Partial compensation only.

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 ('Return the full active schema for one entity_type') and enumerates exactly what comes back (field_names, field_summary, required_fields, schema_version, schema_definition). It is immediately distinguishable from schema-adjacent siblings like list_entity_types and register_schema.

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 an explicit when-to-use ('Call this before store when you know the entity_type but not its declared field shape'), a concrete repair trigger (unknown_fields_count > 0), and named alternatives with conditions (list_entity_types to discover, register_schema/update_schema_incremental only when no declared field fits). Nothing is left to inference.

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