rcsb_describe_data_object
Discover available fields for any RCSB Data API object. Get verified dotted paths to use directly in fields= arguments.
Instructions
Discover the fields available on a Data API object, from the live GraphQL schema.
Use this to find exactly what to request in a rcsb_get_* tool's fields= argument.
The rcsb_get_* default selections are compact summaries, but the
underlying GraphQL types have far more (e.g. CoreEntry has ~100 fields). Every path it
returns is verified against the live schema, so it is safe to pass to fields= directly.
Two ways to use it, both returning dotted paths ready for fields=:
BROWSE a level (default, max_depth=1): list one object's own fields, then drill into a nested one with
into. Workflow: rcsb_describe_data_object("entries") -> spot a nested object such as "rcsb_entry_info" -> rcsb_describe_data_object("entries", into="rcsb_entry_info") to list its leaves.SEARCH by keyword: raise
max_depth(e.g. 3) and passqueryto flatten the object's whole tree — including nested and cross-object paths like "pubmed.rcsb_pubmed_abstract_text" — and keep only matching fields. Combine them:intoscopes the walk, so into="rcsb_polymer_entity", max_depth=2 searches just that sub-tree (cheaper and more focused than flattening from the root).
Each returned field has:
path: dotted path from the object root, ready to use in
fields=kind: "scalar" (a leaf you can select directly) or "object" (drill in, or select with a sub-selection)
type: the field's GraphQL type name
list: whether the field returns a list
description: schema description, when present
Args:
object_key: Which object to describe — the key matching the rcsb_get_* tool.
into: Optional dot-path of nested object field(s) to scope to, e.g.
"rcsb_entry_info" or "polymer_entities.rcsb_polymer_entity".
query: Optional case-insensitive keyword, matched against each field's path (relative
to the scope) and its description, e.g. "resolution", "abstract", "organism".
max_depth: How many levels to walk (1-6, default 1 = this level only). Depth 2 reaches
e.g. "pubmed.rcsb_pubmed_abstract_text"; depth 3 reaches
"polymer_entities.rcsb_polymer_entity.pdbx_description". Deeper is slower on a cold
cache; prefer a query (and into) over a broad deep walk.
Returns:
{object_key, graphql_type, path, query, max_depth, field_count,
fields:[{path, kind, type, list, description}], truncated?, note?}. When the result set
is capped, truncated is true and note explains how to narrow it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| into | No | ||
| query | No | ||
| max_depth | No | ||
| object_key | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||