asset_attach_to_workspace_draft
ChatGPTAttach a user image library asset to a workspace draft.
asset_create_group
ChatGPTCreate an image group inside a workspace draft.
asset_create_upload_slot
ChatGPTPreflight optional source metadata and create a signed upload slot without creating a library row. The returned signed URL accepts the upload; the image is registered after upload finalization.
asset_finalize_upload
ChatGPTProcess and moderate a signed upload, then register the completed user library image. Deterministic constraint failures are non-retryable.
asset_import_from_url
ChatGPTImport an external image URL into the authenticated user's image library.
asset_list_groups
ChatGPTList image groups and image links from a workspace draft.
asset_move_to_group
ChatGPTMove workspace draft image links to an image group.
cinema_get_publish_gate_status
ChatGPTReport cinema publish-gate readiness for one owned story: draft thumbnails/sprites in the workspace, applied live rows, and actionable hints. Read-only.
cinema_set_character_sprites
ChatGPTReplace one character's cinema sprite list in a workspace draft. Other characters are untouched. Sprites reach the live story when the creator saves in Tikita studio.
cinema_set_thumbnails
ChatGPTReplace the cinema thumbnail list in a workspace draft. The first item becomes the main thumbnail. Live cinema tables update when the creator saves in Tikita studio.
diagnostics_audit_log
ChatGPTWrite a diagnostic MCP activity audit log entry and return non-secret logging status.
get_capabilities
ChatGPTReturn the currently enabled Tikita Creator MCP capabilities.
lorebook_attach_to_workspace_draft
ChatGPTAttach lorebook library entries to a workspace draft as copies of their current library values. Conversations pick them up only after apply (the creator saves in Tikita studio), which snapshots each entry into the live story links; entries deleted before apply are dropped silently. Entries already applied are skipped. New entries are appended in the given order after the existing list; list order is the priority (top first) when more than 6 entries match in one turn. A story can hold at most 200 entries.
lorebook_delete_entry
ChatGPTDelete one owned lorebook library entry. In a single database transaction the entry is detached from the creator's workspace drafts (marking them unsynced) and removed from the library; live story links are removed by the database.
lorebook_detach_from_workspace_draft
ChatGPTRemove applied lorebook entries from a workspace draft. The library entries themselves are kept.
lorebook_get_entry
ChatGPTRead one owned lorebook library entry by id, including its exact saved content. Use the entryId from workspace_list_items or the id from lorebook_list_library.
lorebook_list_library
ChatGPTList the authenticated creator's reusable lorebook library entries. Use summary_only to find ids without loading every entry's full content, then lorebook_get_entry for one entry.
lorebook_patch_entry
ChatGPTChange only specified fields of one owned lorebook library entry; omitted fields are preserved. No full entry copy/paste is needed. This updates the reusable library entry; the creator must save the story in Tikita Studio to apply the latest entry to live conversations.
lorebook_upsert_entry
ChatGPTCreate a lorebook library entry, or replace all fields of an owned entry when entry_id is given. For one-field edits use lorebook_patch_entry. Library edits reach conversations only after apply (the creator saves in Tikita studio); workspace draft copies are not rewritten by this tool.
post_create_draft
ChatGPTCreate a server-backed MCP post draft. This does not publish a post.
post_list_my_drafts
ChatGPTList server-backed MCP post drafts for the authenticated creator.
post_update_draft
ChatGPTUpdate a server-backed MCP post draft. This does not publish a post.
story_create_draft
ChatGPTCreate a private editable story draft and workspace for the authenticated creator. This does not publish.
story_get_creation_context
ChatGPTReturn story creation context for one owned story. This is read-only.
story_list_my_stories
ChatGPTList owned stories and draft links compactly. Search by title or short ID and page beyond the first 30. Saved story text is omitted by default; use workspace_list_items/get_item or workspace_get_draft for exact content.
whoami
ChatGPTReturn the authenticated Tikita OAuth subject for diagnostics.
workspace_get_content_budget
ChatGPTShow the owned draft's current total, allowed maximum, remaining room, and per-section character counts without returning story text. Use before a large edit or after story_total_length_exceeded; that error is a Tikita draft size limit, not a host request block.
workspace_get_draft
ChatGPTReturn an owned editable workspace draft. Specify sections to avoid large responses; use workspace_list_items and workspace_get_item when only one episode, character, variable, dialog, or lorebook entry is needed.
workspace_get_item
ChatGPTRead one saved opening, character, episode, variable, example dialog, or applied lorebook copy by id. Use the id from workspace_list_items. This returns exact saved text, not a chat summary.
workspace_list_items
ChatGPTList ids and short labels for one saved draft section, including starting scenes (openings), without loading every item's full text. Use after a long chat or before a one-item edit; never ask the creator to paste saved episodes or lorebook entries.
workspace_patch_draft
ChatGPTBulk-patch workspace sections. Use workspace_patch_item or lorebook_patch_entry for one item. Set return_mode=summary to avoid returning large draft text. Arrays replace their full lists; characters, episodes, and lorebook reject omitted existing ids unless confirm_array_drop is true. Other arrays have no id-drop guard. A matched character keeps the stored name, character_intro, and secret when those fields are omitted or null; an explicit empty string clears the field. story.openings replaces its full list (max 5; preserve ids/originIds and each title/body/chatStarters). Quote field_limit_exceeded field and max exactly. This changes the draft, not public story rows.
workspace_patch_item
ChatGPTChange only named fields of one saved opening, character, episode, variable, or example dialog. Pass story_id, short_id, or workspace_id to identify the owned draft. Other items and fields are preserved; no full-section copy/paste is needed. Read the item first, then pass its id and changed fields. On a concurrent edit, re-read before retrying. This edits the private workspace only; Studio save applies it to the live story.
workspace_replace_text
ChatGPTReplace one exact literal text occurrence in an owned draft field without resending a long HTML intro, story rule, opening, character secret, episode, variable, or dialog. No regex. The replacement is rejected if the text is absent or appears more than once, and concurrent edits are rejected. Returns lengths and ids instead of echoing the draft.
workspace_update_story_metadata
ChatGPTPatch only named story metadata fields inside a workspace draft. Set return_mode=summary to avoid returning the entire story text. This does not directly update the public story row.