Skip to main content
Glama

describe_schema

Read-onlyIdempotent

Return the canonical Onplana entity schema. Three call modes: (1) no args → list every known entity name; (2) entity= → full descriptor (fields with type/required/default/enumValues/maxLength/isFK/isAutoManaged/description, relations, state machines, validation rules, writeSurfaces); (3) includeAll=true → bulk payload of every descriptor. It is the only source of field shapes when planning against an empty org (no sample row to introspect via get_X), and of the cross-field rules a write must satisfy. Pass projectId with entity=Task (or Project/ProjectProposal) to also get that project's live custom fields merged in, the effective create-time field set in one call. Source = hand-curated lib/schemaCatalog.ts mirroring prisma/schema.prisma + tool validate() rules.

Input Schema

NameRequiredDescriptionDefault
entityNoOptional entity name. Case-sensitive (e.g. "Task", "ProjectProposal"). Omit to list all entities.
projectIdNoOptional. With entity=Task/Project/ProjectProposal, merges this project's custom fields (org-wide + project-scoped) into the response.
includeAllNoDefault false. When true and entity is omitted, returns the full catalog (heavy).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered; the description adds useful behavior beyond that, disclosing the contents of a descriptor, the heavy cost of includeAll, the custom-field merge semantics with projectId, and the fact that the catalog is hand-curated from lib/schemaCatalog.ts mirroring prisma/schema.prisma plus validate() rules. It does not describe pagination or exact payload size, keeping it just under full credit.

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?

The three modes are front-loaded and numbered, and each subsequent sentence carries distinct information (empty-org rationale, projectId merge, curated source). It is dense and runs long, but no sentence is redundant, so it stays efficient without being wasteful.

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?

There is no output schema, so the description must characterize returns; it does so by listing the descriptor contents (type/required/default/enumValues/isFK/isAutoManaged, relations, state machines, validation rules, writeSurfaces). Combined with the three-mode explanation and annotations, an agent has enough to call it correctly, though the exact top-level response envelope is not spelled out.

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?

With 100% schema description coverage the baseline is 3, but the description goes further by tying parameters together: projectId is meaningful only with entity=Task/Project/ProjectProposal and yields a merged, effective create-time field set, and includeAll is a bulk payload whose cost is called out as heavy. It also reinforces case-sensitivity of entity and the no-arg listing mode, adding coordination semantics beyond each field's standalone doc.

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 and resource ('Return the canonical Onplana entity schema') and then enumerates the three distinct call modes, so an agent can distinguish the list-entities, single-descriptor, and bulk behaviors without opening the schema. It is clearly separable from data-fetching siblings like get_task or list_projects because it returns schema metadata, not records.

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?

Gives clear context for when to reach for it: 'the only source of field shapes when planning against an empty org (no sample row to introspect via get_X)', which implies the contrast with get_X tools. It does not name an explicit alternative such as describe_capabilities or state when not to use it, so it falls short of full routing guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.