accept_place_draft
ChatGPTAccept the user-facing place draft after validation. Defaults to dry-run; dryRun=false requires confirm=true and reason. Generated structure is promoted through candidate-chain acceptance, and manual containment/navigation/spatial-feature draft rows are promoted to accepted state.
add_scene_presence
ChatGPTAdd a character, concrete object, or semantic object to a scene with scene-scoped placement and temporal/reference-frame metadata.
add_scene_presence_link
ChatGPTCreate one scene-scoped relationship between two scene presences.
archive_publishing_presence
ChatGPTHide a destination from new choices while retaining its existing links and publication history. This does not disconnect an external account.
create_entity
ChatGPTCreate a canonical named subject or concept in a Project. Kinds support fiction and nonfiction: character can represent a person/character, faction an organization/faction, location a place, and lore a concept/background item. Use Project Assets instead for supporting themes, project rules, references, and miscellaneous resources. Characters require speciesEntityId; factions may include factionType and aliases.
create_entity_application
ChatGPTCreate a Work-specific interpretation or use of a shared canonical Project Entity without duplicating the Entity itself.
create_entity_link
ChatGPTCreate a directed relationship between two Descry entities. Geographic adjacent_to, near, overlaps, and connected_to links connect locations and may include direction, distance, travel, and confidence; direction says where the source is relative to the target. Use stable relationship facts here and scene tools for moment-specific placement.
create_note
ChatGPTCreate a Descry note attached to exactly one project, work, or entity and return the new note ID. Set scopeKind to the attachment type and copy a real Descry ID into scopeId; never invent or use a placeholder UUID.
create_project
ChatGPTCreate a Descry project and return the new project ID.
create_project_asset
ChatGPTCreate supporting Project or Work material such as a theme, project/production rule, reference, or miscellaneous resource. Use Project Entities for the people, organizations, places, events, systems, and concepts the Project is about.
create_publishing_presence
ChatGPTRecord a shared account/feed identity, not credentials or an account connection. Reuse existing identities rather than duplicating a destination for each Work.
create_scene
ChatGPTCreate a work-scoped story/game scene. Use placeId/locationLabel to reference where the scene happens without implying characters permanently live there.
create_work
ChatGPTCreate a Descry Work and return its ID. For profile metadata, first call get_work_profile_schema with the selected creativeType, then supply only that schema's fields. Markdown-lite plain text allowed: bold, _italic_, headings, - bullets.
create_work_claim
ChatGPTAdd a factual claim or argument that the Work needs to support, challenge, or contextualize.
create_work_document
ChatGPTCreate a Content document. content_stream idempotently ensures the canonical stream for a supported channel/series; its canonical title is managed by Descry. For work_brief, use upsert_work_brief_section instead.
create_work_document_node
ChatGPTCreate and optionally write one Content node. A content_stream accepts entry nodes only: root entries plus direct variants, not deeper nesting. For Brief sections use upsert_work_brief_section. Other documents retain their ordered outlines and planning links.
create_work_document_snapshot
ChatGPTCreate an immutable recovery snapshot of one Content node before a meaningful revision.
create_work_publication
ChatGPTRecord a planned, scheduled or already-published Work/entry release. This never publishes externally. Supply a stable retry key and only known publication facts; scheduled records require a scheduled timestamp.
create_work_relationship
ChatGPTCreate a normalized lineage or creative relationship between two Works in the same project.
create_work_source
ChatGPTAdd a bibliographic or media source to a Work's research map. Sources are archived, not deleted, to preserve provenance.
create_work_taxonomy_term
ChatGPTCreate a reusable normalized classification term inside an existing project Work taxonomy.
create_world_lore_assertion
ChatGPTCreate a time-bounded or source-framed world fact. Use this for claims like a faction lived in a jungle during an old era, an item was held by a character in a memory, or a prophecy places an object in a future location.
create_world_object
ChatGPTCreate a concrete world object/item/fixture without assigning a permanent location. Use scene presences or lore assertions to place it in time and context.
create_world_time_period
ChatGPTCreate a reusable world chronology period, such as an era, age, chapter time, quest phase, or before/after event marker.
delete_entity
ChatGPTDelete an entity. Requires explicit confirmation and a human-readable reason.
delete_entity_application
ChatGPTDelete a Work Entity Application without deleting its linked Project Entity. Requires explicit confirmation and a reason.
delete_entity_link
ChatGPTDelete an entity relationship. Requires explicit confirmation and a human-readable reason.
delete_note
ChatGPTDelete a note. Requires explicit confirmation and a human-readable reason.
delete_project
ChatGPTDelete a project. Requires explicit confirmation and a human-readable reason.
delete_project_asset
ChatGPTDelete a project asset. Requires explicit confirmation and a human-readable reason.
delete_scene
ChatGPTDelete one scene and its scene-specific character placements. Requires explicit confirmation.
delete_work
ChatGPTDelete a work. Requires explicit confirmation and a human-readable reason.
delete_work_document
ChatGPTDelete a Content document and all of its nodes and snapshots. Requires explicit confirmation and a human-readable reason.
delete_work_document_node
ChatGPTDelete a Content node and its nested child nodes and snapshots. Requires explicit confirmation and a human-readable reason.
delete_work_relationship
ChatGPTDelete one Work relationship without deleting either Work. Requires explicit confirmation and a reason.
delete_world_lore_assertion
ChatGPTDelete one time-bounded or source-framed world fact. Requires explicit confirmation.
delete_world_object
ChatGPTDelete one concrete world object and dependent scene/lore rows by database constraints. Requires explicit confirmation.
delete_world_time_period
ChatGPTDelete one reusable world chronology period. Requires explicit confirmation.
draft_complete_place
ChatGPTCreate a reviewable place draft with chained terrain, settlement, building, and interior candidates plus generated draft containment and navigation graphs. Returns candidate IDs, graph counts, and validation summaries without accepting records.
fetch
ChatGPTFetch an exact record from a search ID. Continue with textCursor. truncatedFields discloses prose and structural previews; textPath selects a string or a JSON object/array, returned completely over text pages. textPage.format identifies text versus JSON. Never replace from previews. Related collections are sampled; use scoped list tools. Work classifications continue through get_work.
find_place_route
ChatGPTFind and narrate the shortest route through one place. Source and target may each be a navigation-node ID, human-readable name, linked entity, linked source record, or scene presence; ambiguous matches return candidates instead of guessing.
get_entity
ChatGPTGet one canonical Project Entity with its Work-specific Entity Applications, notes, and inbound/outbound relationships. Overview only: relatedCollections reports totals/omissions (at most 10 per array); truncatedFields identifies text previews. Continue through the matching scoped list tool; never use a preview for a full replacement.
get_place_draft
ChatGPTGet the user-facing draft version of one place. This combines generated draft structure, manual draft containment/navigation graph edits, accepted-version context, validation-derived canAccept status, and low-level diagnostics when requested.
get_place_spatial_context
ChatGPTReturn agent-friendly spatial features, buildability policies, traversal policies, generator rules, and technical boundary context for one place. Use this before creating roads, buildings, areas, or object placements.
get_project
ChatGPTGet a project and its works, entities, notes, assets, and links. Overview only: relatedCollections reports totals/omissions (at most 10 per array); truncatedFields identifies text previews. Continue through the matching scoped list tool; never use a preview for a full replacement.
get_project_place
ChatGPTResolve a place ID or name and return an overview, diagnostic status, or bounded hierarchy for one World Atlas place. Prefer get_place_draft when reviewing or accepting user-facing draft content.
get_scene
ChatGPTGet one story/game scene with participating characters and placements. Scene placements are scoped to the scene and should not be treated as canonical current location facts. Overview only: relatedCollections reports totals/omissions (at most 10 per array); truncatedFields identifies text previews. Continue through the matching scoped list tool; never use a preview for a full replacement.
get_work
ChatGPTGet a Work overview and Publishing links, including direct/inherited destinations and roles before any publication. publishingCursor continues links; classificationsCursor continues classificationsPage. get_work_content reads authored bodies. Related arrays are samples (at most 10); null totals are unknown. Continue through scoped lists; never replace from previews.
get_work_brief
ChatGPTRead the canonical Brief outline and a selected section body page. Continue with bodyCursor and the same nodeId. Purpose, audience, contributors and packaging are Brief sections, not profile fields. Reading never creates sections. pagination identifies documentCursor, outlineCursor and snapshotCursor continuation.
get_work_content
ChatGPTRead canonical Content: paged documents, outline, selected body and snapshots. Continue with bodyCursor and the same nodeId; stale text is refused. Read every body page before replacement. Exact documentId/nodeId are independent of metadata pages. Without nodeId, resume the most recently updated node (ties: position then ID). pagination supplies documentCursor, outlineCursor and snapshotCursor.
get_work_profile_schema
ChatGPTCall this before supplying profile to create_work or update_work_profile. It returns the complete patch schema for exactly one Work creative type so unrelated profile fields do not occupy normal tool discovery.
get_work_research
ChatGPTRead a bounded research overview with database counts, or page sources, claims, evidence, queues or CSL. Use collection + recordId for exact paged JSON; textPath selects a string, object or array. Continue with cursor (collection) or textCursor (body); never replace from previews.
list_entities
ChatGPTList canonical named subjects and concepts in a Project—such as people or characters, organizations or factions, places, events, systems, and ideas—optionally filtered by project, kind, status, or text query. Use Project Assets for supporting themes, rules, references, and resources. Results use stable ID-order pages; pass nextCursor as cursor with the same filters. Related arrays are previews.
list_entity_applications
ChatGPTList Work-specific interpretations or uses of shared canonical Project Entities. Results use stable ID-order pages; pass nextCursor as cursor with the same filters. Related arrays are previews.
list_links
ChatGPTList Descry entity relationships, optionally filtered by project, source, target, link type, relative direction, spatial confidence, visibility, or relationship status. For geographic links, direction says where the source is relative to the target. Stable place relationships such as lives_at or works_at do not mean current presence; use scene tools for moment-specific placement. Results use stable ID-order pages; pass nextCursor as cursor with the same filters. Related arrays are previews.
list_notes
ChatGPTList Descry notes, optionally filtered by project, work, entity, kind, or text query. Results use stable ID-order pages; pass nextCursor as cursor with the same filters. Related arrays are previews.
list_project_assets
ChatGPTList supporting Project or Work material—theme, rule, reference, or other resource—optionally filtered by project, asset type, status, or text query. Canonical subjects and concepts belong in Project Entities. Results use stable ID-order pages; pass nextCursor as cursor with the same filters. Related arrays are previews.
list_project_places
ChatGPTList graph-aware World Atlas place aggregates for a project. Use this before raw generation tools when a user asks what places, spaces, geography, buildings, interiors, containment graphs, or navigation graphs exist.
list_projects
ChatGPTList Descry projects, optionally filtered by status. Results use stable ID-order pages; pass nextCursor as cursor with the same filters. Related arrays are previews.
list_publishing_presences
ChatGPTList reusable project account/feed identities. These contain no credentials and do not authorize external publishing. Cursor pages are ordered by update time and ID.
list_scene_presence_links
ChatGPTList scene-scoped relationships between presences, such as carrying, wearing, hiding, holding, or using an object. Results use stable ID-order pages; pass nextCursor as cursor with the same filters. Related arrays are previews.
list_scene_presences
ChatGPTList scene-scoped character/object/semantic-object placements with temporal reference-frame metadata. These are moment facts, not permanent work-level location facts. Results use stable ID-order pages; pass nextCursor as cursor with the same filters. Related arrays are previews.
list_scenes
ChatGPTList work-scoped story/game scenes. Scenes are moment-specific units for books, game quests, cutscenes, encounters, or ad hoc planning; character presence here does not imply permanent place presence. Results use stable ID-order pages; pass nextCursor as cursor with the same filters. Related arrays are previews.
list_work_content_stream
ChatGPTRead 50 bounded entry previews, optionally one entry body page (continue with bodyCursor and the same nodeId), its direct variants and 20 snapshots. Use returned cursors for entries, variants and revisions. Entries are root items with one level of variants, never sub-Works; use existing Content node tools to write them.
list_work_publications
ChatGPTRead bounded manual publication history for a Work or one exact Content entry/variant. No provider payloads, credentials, or external requests are returned.
list_work_relationships
ChatGPTPage incoming and outgoing lineage, adaptation, edition, and related-Work edges in stable ID order. Continue using cursor with the same filters; long notes are disclosed previews.
list_work_taxonomies
ChatGPTPage up to 10 normalized Work facets with up to 50 terms each. Select taxonomyKey and pass termCursor for more terms; cursor continues facets. Long descriptions are disclosed previews.
list_works
ChatGPTList Descry works by project, type, parent or classifications. Text query is a case-insensitive literal substring of an individual title, logline or classification term name. Use nextCursor with the same filters. Classifications are previews; get_work pages them completely.
list_workspaces
ChatGPTList personal workspaces, teams, and project-only collaboration scopes available to this connector user. One workspace is active per OAuth connection.
list_world_generation_templates
ChatGPTList procedural world generation templates for terrain sites, settlements, buildings, and interiors.
list_world_lore_assertions
ChatGPTList time-bounded or source-framed world facts about character/object locations, possessions, state, identity, relationships, and event participation. Results use stable ID-order pages; pass nextCursor as cursor with the same filters. Related arrays are previews.
list_world_objects
ChatGPTList real world objects/items/fixtures. Object rows do not carry a single canonical current location; use scene presences for moment placement and lore assertions or entity links for baseline facts. Results use stable ID-order pages; pass nextCursor as cursor with the same filters. Related arrays are previews.
list_world_time_periods
ChatGPTList reusable world chronology periods for time-bounded lore assertions. Results use stable ID-order pages; pass nextCursor as cursor with the same filters. Related arrays are previews.
remove_scene_presence
ChatGPTRemove one scene-scoped presence/placement record. Requires explicit confirmation.
remove_scene_presence_link
ChatGPTRemove one scene-scoped relationship between presences. Requires explicit confirmation.
remove_work_claim_evidence
ChatGPTRemove one claim-to-source evidence link without deleting the source or claim. Requires explicit confirmDestroy=true.
restore_work_document_snapshot
ChatGPTRestore a Content node from an immutable snapshot. The current node is snapshotted first, so the restore is recoverable.
search
ChatGPTSearch the active Descry workspace across projects, Works, exact Brief sections and authored Content entries, entities, notes, Project Assets, entity relationships, research sources, research claims, and scenes. Content matches include older entries and complete authored text; responses contain bounded excerpts, never publication payloads or revision history. Use fetch with a returned stable ID for the exact record.
select_workspace
ChatGPTSelect the personal, team, or shared-project workspace used by subsequent calls from this OAuth connection.
set_work_claim_evidence
ChatGPTCreate or update a supports, challenges, or context link between a claim and a source in the same Work.
set_work_classifications
ChatGPTReplace selected normalized Work facets. Omitted taxonomies are preserved; an explicit empty termKeys list clears that taxonomy.
set_work_publishing_presence_link
ChatGPTLink a shared project destination to a Work. Episodes inherit series/channel links and can also have direct links. Destinations are the union; removing a direct link does not suppress an inherited one. No external write.
unlink_work_publishing_presence
ChatGPTRemove a direct Work/destination link without deleting the Presence or Publication history. Requires explicit confirmation; an inherited link is changed on its parent Work.
update_entity
ChatGPTUpdate a canonical Project Entity. Provide complete replacement values for editable fields. Use Project Assets for supporting themes, project rules, references, and resources. This is a full replacement: read the current record first and supply every value to retain; omitted optional fields are cleared or reset.
update_entity_application
ChatGPTUpdate the complete editable definition of a Work Entity Application. This is a full replacement: read the current record first and supply every value to retain; omitted optional fields are cleared or reset.
update_entity_link
ChatGPTReplace the editable fields of an entity relationship. Geographic details are allowed for adjacent_to, near, overlaps, and connected_to location links; direction says where the source is relative to the target. This is a full replacement: read the current record first and supply every value to retain; omitted optional fields are cleared or reset.
update_note
ChatGPTUpdate a note. Provide complete replacement values and exactly one real project, work, or entity attachment using scopeKind and scopeId. This is a full replacement: read the current record first and supply every value to retain; omitted optional fields are cleared or reset.
update_project
ChatGPTUpdate a project. Provide the complete replacement values for the editable project fields. This is a full replacement: read the current record first and supply every value to retain; omitted optional fields are cleared or reset.
update_project_asset
ChatGPTUpdate supporting Project or Work material. Provide complete replacement values; canonical subjects and concepts belong in Project Entities. This is a full replacement: read the current record first and supply every value to retain; omitted optional fields are cleared or reset.
update_publishing_presence
ChatGPTReplace a shared Presence identity. Supply all identity fields; omitted handle/URL are cleared. This affects the same destination linked by all Works; published provenance is retained. This is a full replacement: read the current record first and supply every value to retain; omitted optional fields are cleared or reset.
update_scene
ChatGPTPatch a Work-scoped story/game scene. Only supplied fields change; omission preserves, null clears nullable fields, and {} clears a JSON field.
update_scene_presence
ChatGPTPatch one scene-scoped character/object/semantic placement. Only supplied fields change; omission preserves, null clears nullable fields, and {} clears a JSON field. Changing subject kind requires explicitly clearing the previous subject ID.
update_scene_presence_link
ChatGPTPatch the relationship between two scene presences. Only supplied fields change; omission preserves, null clears nullable fields, and {} clears a JSON field.
update_work
ChatGPTPatch Work title, hierarchy, Stage, State, and Summary (logline). Omitted fields survive; null clears parent/position and an empty logline clears Summary. Purpose and audience belong in the Brief. This tool never changes profile metadata or creative type. Markdown-lite plain text allowed: bold, _italic_, headings, - bullets.
update_work_claim
ChatGPTPatch claim text, notes, or review status. Use status=rejected instead of deleting a claim.
update_work_document
ChatGPTPatch a canonical Content document. Omitted fields are preserved; set isPrimary=true to make it the Work's primary document.
update_work_document_node
ChatGPTPatch a Content node's structure, title, authored body, status, or order. Omitted fields are preserved; use null to clear parentNodeId or linkedSceneId.
update_work_profile
ChatGPTPatch Work profile metadata. First identify the Work's creativeType and call get_work_profile_schema for it. Omitted keys stay unchanged; null clears scalar keys; [] clears list keys. Markdown-lite plain text allowed: bold, _italic_, headings, - bullets.
update_work_publication
ChatGPTRecord an allowed manual state transition. Omitted facts survive. Published records may only be withdrawn; their provenance cannot be rewritten. Publishing/recovery states belong to future provider operations, not this tool.
update_work_source
ChatGPTPatch source metadata or set status=archived. Omitted fields stay unchanged; null clears optional scalar fields.
update_world_lore_assertion
ChatGPTPatch a time-bounded or source-framed world fact. Only supplied fields change; omission preserves, null clears nullable fields, and {} clears a JSON field.
update_world_object
ChatGPTPatch a concrete world object without changing scene placement facts. Only supplied fields change; omission preserves, null clears nullable fields, and {} clears a JSON field.
update_world_time_period
ChatGPTPatch a reusable world chronology period. Only supplied fields change; omission preserves, null clears nullable fields, and {} clears a JSON field.
upsert_work_brief_section
ChatGPTCreate or replace one nonempty canonical Brief section. Section identity is stable; use Content snapshot tools before a consequential rewrite.
validate_place_draft
ChatGPTValidate whether one place draft can be accepted. Readiness is derived from canAccept, blockers, and warnings; there is no separate stored ready status.
validate_place_spatial_proposal
ChatGPTCheck proposed building, road, path, area, landmark, object, or character geometry against place spatial features, buildability policies, restricted terrain, no-standard-build zones, and intentional override rules.