Skip to main content
Glama

Read Database Columns

read_database_columns
Read-onlyIdempotent

Retrieve schema metadata for an AFFiNE database block, including columns, select options, and view mappings, so you can inspect database structure before any rows exist.

Instructions

Read schema metadata for an AFFiNE database block, including columns, select options, and view column mappings. Useful for empty databases before any rows exist.

Input Schema

NameRequiredDescriptionDefault
docIdYesDocument ID containing the database
workspaceIdNoWorkspace ID (optional if default set)
databaseBlockIdYesBlock ID of the affine:database block

Output Schema

NameRequiredDescriptionDefault
okNo
codeNo
errorNo
titleNo
viewsNo
columnsNo
detailsNo
rowCountNo
causeCodeNo
retryableNo
columnCountNo
titleColumnIdNo
databaseBlockIdNo
recoveryGuidanceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.10.2

TDQS

A4/5.0
Behavior3/5

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

The annotations already declare read-only, idempotent, non-destructive, and open-world behavior. The description adds useful context about what metadata is returned and when the tool is useful, but it does not disclose additional behavioral traits such as permissions, rate limits, or error behavior.

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 two sentences, front-loaded with the core purpose and followed by a useful usage note. Every sentence earns its place and there is no redundant text.

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?

Given that annotations cover safety, the schema fully documents parameters, and an output schema exists, the description supplies enough context to call the tool correctly. It could be slightly more complete by explicitly relating the tool to row-reading alternatives, but it is adequate.

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 the input schema already fully documents the three parameters. The description does not add any parameter-specific meaning beyond what the schema provides, which matches the baseline of 3 when schema coverage is high.

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 states a specific verb and resource: reading schema metadata for an AFFiNE database block. It further clarifies that this includes columns, select options, and view column mappings, which distinguishes it from sibling tools like read_database_cells and add_database_column.

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?

It gives a clear usage condition: useful for empty databases before any rows exist. However, it does not explicitly name alternatives such as read_database_cells when rows do exist, nor does it state exclusions.

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

Deploy Server

Other Tools