- Brand
- NoveLand
- Category
- Content & Design
- Primary Subcategory
- Writing & Copy Assistance
Integration details
Description
NoveLandは、物語を書くためのエディタと、書いた小説を公開して読める投稿サイトを兼ねたサービスです。本アプリを繋ぐと、NoveLandに置いてある作品のデータをChatGPTの会話から直接読み書きできます。 扱えるのは、作品・章・エピソード・キャラクター・用語・ドキュメント・相関図・伏線です。ユーザーは自分の非公開ワークスペースにて、キャラクターや用語の設定を整理しながら物語構造を作品内で一貫して管理できます。 登録済みのキャラクター・用語・エピソードから、その場で図を組み立てることもできます。関係性のグラフ、時間軸の図、棒グラフ・折れ線グラフ、家系図の4種類です。描いた図は会話の中で見るためのもので、作品には保存されません。
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Writing & Copy Assistance
- Secondary Subcategories
- None listed
- Brand
- NoveLand
- Access
- Account required
- First tracked
- 2026-08-13
- Tool count
- 58
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for NoveLand
Get updates when NoveLand’s Discoverability Score or category rank changes.
Competing in ChatGPT Writing & Copy Assistance
View Category58 tools agents can invoke
Assigns or removes speakers of paragraphs in an episode, in a batch. A single change is also passed as one entry in assignments. Paragraph text is not modified. Paragraphs are identified only by paragraphId, which is the blockId returned by get_episode(contentFormat="blocks"). **all-or-nothing**: if any paragraphId is unknown, the whole call fails and nothing is changed. Repeating the same paragraphId is an error. updated_paragraphs is returned in input order.
noveland_assign_speaker
Gets which characters and objects (worldbuilding terms) use an attribute key, to check the impact before deleting or renaming it. usingBaseObjects is sorted by name in ascending order. type is character or object. usageCount is the number of distinct characters and objects.
noveland_get_attribute_key_usage
Creates characters in a novel. Pass an array, even for a single character. memo is NoveLand Markdown (supports `:code:` embeds and `[[doc:id|label]]` links, where id is a UUID returned by list_documents). attributes sets values for attribute keys, which must already exist (created with `create_attribute_key`). **all-or-nothing**: if any item fails, the whole batch is rolled back. On error, the response includes `failedIndex` (0-based) and `totalCount`; `failedIndex` is the position of the failed item.
noveland_create_character
Creates an attribute key (custom field). options is required when valueType is `select` and not allowed for other value types.
noveland_create_attribute_key
Creates a relationship diagram.
noveland_create_diagram
Creates a document (author's notes not included in the body text) in a novel. The content is NoveLand Markdown (supports `:code:` embeds of characters and objects (worldbuilding terms), and `[[doc:id|label]]` links to documents, where id is a UUID returned by list_documents).
noveland_create_document
Creates a new episode in a novel. content is NoveLand Markdown. Required: every body-text paragraph starts with `[p]` (narration) or `[speaker:code]` (dialogue). A new paragraph starts only at a paragraph marker; blank lines make no difference. Other block syntax (`[scene-marker:...]` / `[illust ...]`) is also allowed. Details: resource `noveland://docs/scene-editor-syntax`. `:code:` becomes a reference only for an existing code; other text between colons, such as `12:30:00`, is saved as is, and no backslash escapes are needed. An unregistered `:code:` is saved as plain text and, unless attached to letters or digits, listed in `unresolvedCodes` in the response. Codes in `[speaker:code]` and `appearances` must exist; an unknown one is an error. Format example: [speaker:taro]"Hello." [p]:taro: said. AI-usage record: each call counts immediately toward the "AI used to generate body text" (text_generated) AI-usage classification, whether or not content is provided. Details: resource `noveland://docs/ai-usage-classification`. When available, the result's `editorUrl` is the episode's writing page in the NoveLand web editor.
noveland_create_episode
Creates a foreshadowing entry. Setup and payoff episodes are linked afterwards with `noveland_link_foreshadowing_episode`.
noveland_create_foreshadowing
Creates a new novel. Novels created here always start at the AI-feature level `text_generated` (AI can write body text). The result's `aiFeatureLevel` includes a `notice` and, when available, `settingsUrl` (the novel's settings page), where the author can lower the level. When available, the result's `editorUrl` is the novel's plot page in the NoveLand web editor, where the author continues writing it.
noveland_create_novel
Creates a section (chapter) in a novel. detail is NoveLand Markdown (supports `:code:` embeds of characters and objects (worldbuilding terms), and `[[doc:id|label]]` links to documents, where id is a UUID returned by list_documents).
noveland_create_section
Creates objects (worldbuilding terms: proper nouns such as places, items and organizations) in a novel. Pass an array, even for a single object. memo is NoveLand Markdown (supports `:code:` embeds and `[[doc:id|label]]` links, where id is a UUID returned by list_documents). attributes sets values for attribute keys, which must already exist (created with `create_attribute_key`). For an object with an object type, only the keys of that object type are accepted. **all-or-nothing**: if any item fails, the whole batch is rolled back. On error, the response includes `failedIndex` (0-based) and `totalCount`; `failedIndex` is the position of the failed item.
noveland_create_object
Creates an object type (term category) in a novel. It is added at the end of the display order.
noveland_create_object_type
Deletes a character. A character cannot be deleted while it is published, or while episode body text uses it as a speaker, a reference, or through a nickname.
noveland_delete_character
Deletes an attribute key. All values entered for it and all its options are deleted as well.
noveland_delete_attribute_key
Deletes a diagram along with its nodes and edges. A published diagram cannot be deleted.
noveland_delete_diagram
Deletes a document. A published document cannot be deleted.
noveland_delete_document
Deletes an episode. A published episode cannot be deleted.
noveland_delete_episode
Deletes a foreshadowing entry along with its links to episodes. The body text of the episodes is not affected.
noveland_delete_foreshadowing
Deletes a section (chapter). stashEpisodes=true (default): the episodes in the section are moved to the stock before the section is deleted. stashEpisodes=false: the section and all its episodes are deleted. A section that contains published episodes cannot be deleted. Those episodes are the ones with `isPublished: true` in `noveland_list_episodes(sectionId=...)`; the deletion succeeds after they are unpublished. With stashEpisodes=true, a section that contains scheduled episodes cannot be deleted. Those episodes are the ones with a non-null `scheduledPublishAt` in `noveland_list_episodes(sectionId=...)`.
noveland_delete_section
Deletes an object. An object cannot be deleted while it is published, or while episode body text references it directly or through a nickname.
noveland_delete_object
Deletes an object type. Objects in it are kept without an object type. The attribute keys defined for this object type, and the values entered for them on every object, are deleted and cannot be restored.
noveland_delete_object_type
Draws elements of a novel as a bar or line chart: length per episode, appearances per character, and anything else compared by numbers. The drawing is not saved. Important: up to 100 categories, 8 series, and 300 points across all series together (exceeding a limit is an error; nothing is omitted automatically). kind is bar (side-by-side comparison) or line (a trend along the order of categories). Important: the horizontal axis is categories, and the points of each series refer to them by categoryId. An unknown categoryId, or the same categoryId twice within a series, is an error. A categoryId missing from a series is treated as missing data, not as 0 (the bar is left empty and the line breaks). Important: the server does not compute the values; the caller supplies them. Text length and the number of characters (people) appearing per episode are available in one call from noveland_list_episodes (plainTextLength / speakerCharacterCount for characters who speak / referencedCharacterCount for characters referenced with :code:, by name or by nickname). Important: real characters, objects (worldbuilding terms) and episodes are given by ID in the ref of categories; the server resolves their official names (avatars appear on the axis only for characters and objects; episodes show the official name only). Elements written with label are shown distinctly, as elements placed by the AI.
noveland_draw_chart
Draws the characters of a novel as a family tree: each generation is aligned in a row, and children descend from between their parents. Suited to an overview of blood relations and marriages. The drawing is not saved. Important: up to 60 people and 60 unions. Exceeding a limit is an error (nothing is omitted automatically). Important: a union has 1 or 2 partners (1 means a single parent). A person with several partners appears in separate unions. A person can be a child in one union only; listing them in two is an error. Important: real characters and objects (worldbuilding terms) are given by ID in ref; the server resolves their official names and avatars. Elements written with label instead of an ID are shown distinctly, as elements placed by the AI.
noveland_draw_family_tree
Draws elements of a novel as a relationship graph: relationships between characters or factions, chains of cause and effect, and anything else expressed with names and arrows. The drawing is not saved. Important: up to 60 nodes and 150 edges. Exceeding a limit is an error (nothing is omitted automatically). Important: real characters, objects (worldbuilding terms) and episodes are given by ID in ref; the server resolves their official names and avatars. Elements written with label instead of an ID are shown distinctly, as elements placed by the AI.
noveland_draw_graph
Draws elements of a novel as a timeline (Gantt style). Each band stands for a character, faction or matter, and its segments show what state it was in from one episode to another. The drawing is not saved. Important: a band lists its segments in segments. A change of state is a new segment with its own label (e.g. episodes 1-5 "doubt" / 6-12 "wavering" / 13-20 "acceptance"). A period of absence is a gap between segments. Labels are optional; a band that only shows where something appears has a single segment. Labels fit inside the bar only when short (about 4-8 CJK characters, or roughly twice that in Latin letters); longer ones are readable only on hover. Important: up to 10 bands, 60 segments in total, and 30 arrows. Exceeding a limit is an error (nothing is omitted automatically). Important: the horizontal axis is story order (section order, then episode order within a section), not in-story dates. Episodes in the stock (not in any section) cannot be placed on the axis and cause an error. A segment's fromEpisodeId must not come after its toEpisodeId (both may be the same episode), and segments in the same band must not overlap. An arrow whose atEpisodeId falls outside the axis range derived from the segments is not an error, but its point in time is not drawn. Important: a band is named by its ref. Real characters, objects (worldbuilding terms) and episodes are given by ID in ref; the server resolves their official names and avatars. Elements written with label instead of an ID are shown distinctly, as elements placed by the AI.
noveland_draw_timeline
Adds or removes a link between a foreshadowing entry and an episode. add requires type (`setup` or `payoff`). Linking an episode that is already linked is an error. remove does not require type (it is ignored). Removing a link that does not exist is an error. An episode cannot be linked as both setup and payoff. Changing the type is a remove followed by an add.
noveland_link_foreshadowing_episode
Adds, updates or deletes the relationship between two characters or objects (worldbuilding terms) in a diagram. forward (fromId -> toId) and reverse (toId -> fromId) are set independently. An empty description deletes that direction. Missing nodes are created when a relationship is added. Deleting a relationship keeps the nodes. strokeWidth / strokeStyle keep their current values when omitted.
noveland_upsert_relationship
Converts plain text in the body text into references to characters or objects (worldbuilding terms). The displayed text stays the same. Text that already has a reference, ruby or emphasis dots is skipped, so nothing is applied twice. **items takes the conversions as a batch.** They are saved at once, which is faster than one call per item and less likely to hit rate limits. The single form (targetText + objectCode) exists for backward compatibility. Passing both forms, or neither, is an error. items are applied in array order (up to 200). Placing longer text first avoids matching a substring of it by mistake. **all-or-nothing**: if any item is not found in the body text, the whole call fails and nothing is changed. The error message lists the items that were not found (up to 50), so they can be fixed in one retry. With items, **also placing targetText / objectCode / nicknameId / paragraphId / match / speakerScope at the top level is an error**. paragraphId and match go inside each item. speakerScope (filtering by speaker) exists only in the single form. Text that differs from the name of the character or object and is not yet a registered nickname is registered as a nickname and then referenced. paragraphId limits the search to one paragraph (blockId from get_episode(contentFormat="blocks")). paragraphId and speakerScope are combined with AND. matched_paragraph_ids is returned in paragraph order without duplicates, and can be reused as paragraphId in later calls.
noveland_embed_object_ref
Gets the signed-in user's id, name, and avatar URL. AI-feature levels are set per novel; `noveland_list_novels` returns each novel's level as `aiFeatureLevel`. Operations beyond a novel's level return a FORBIDDEN error, and errors from per-novel operations (tools that take a novelId) include `settingsUrl` (the novel's settings page) when available. The AI-usage classification based on actual use (the detection axis) is separate from this permission setting. Details: resource `noveland://docs/ai-usage-classification`.
noveland_get_me
Gets the full details of a character, including attribute values, nicknames, first-person pronouns and memo.
noveland_get_character
Used only by NoveLand widgets; not a tool for the model. The result is intermediate data for rendering and is not usable as an answer in the conversation.
noveland_view
Gets the details of a diagram: the characters and objects (worldbuilding terms) on it, including those without any relationship, and the relationships between them with their names.
noveland_get_diagram
Gets the details of a document. The content is returned as NoveLand Markdown (`:code:` references characters and objects (worldbuilding terms), `[[doc:id|label]]` links to documents), together with the list of what it references.
noveland_get_document
Gets an episode's details. contentFormat selects the format of the body text. plain: plain text as readers see it noveland-markdown: NoveLand Markdown including speakers, references, ruby (reading annotations such as furigana or pinyin) and more (lossless round trip) - Paragraph start: [p] (narration) or [speaker:code] / [speaker:code1,code2] (dialogue; several speakers at once) - Paragraph break: a blank line (\n\n). The next paragraph still starts with [p] or [speaker:...] - Character or object reference: :code: or :code[nicknameId]: - Ruby: |base《reading》; emphasis dots: 《《text》》 - Illustration: [illust src="url" alt="description" appearances="code1,code2"] - Scene break: [scene-marker:title] blocks: a structured array of blocks (best for paragraphId-based edits and for finding paragraphs that still lack speakers or references) - Each blocks[] item has blockId / type / index - paragraph: text (plain) / speakerCodes / objectRefs / hasRuby / hasDots - illustration: src / alt / appearanceCodes - scene-marker: title - In blocks mode, no content string is returned (the blocks array replaces it) Every contentFormat adds paragraph stats at the top level (same keys as includeParagraphStats in list_episodes). Includes position, the episode number in story order (null in the stock).
noveland_get_episode
Gets a novel's details, including the total text length in characters across all its episodes, stock included (plainTextLength excludes whitespace; plainTextLengthIncludingWhitespace does not).
noveland_get_novel
Gets the details of a section (chapter). detail is returned as NoveLand Markdown.
noveland_get_section
Gets the full details of an object, including attribute values, nicknames and memo.
noveland_get_object
Lists the characters in a novel. Attribute values and memos are not included. Supports cursor pagination. query narrows the list to characters whose name, nickname or code contains the given text.
noveland_list_characters
Lists the attribute keys (custom fields) of a novel. usageCount is the number of distinct characters or objects (worldbuilding terms) that have a value for the key; 0 means the key is unused. Details: noveland_get_attribute_key_usage.
noveland_list_attribute_keys
Lists the relationship diagrams of a novel. Supports cursor pagination.
noveland_list_diagrams
Lists the documents of a novel (content is not included). Supports cursor pagination.
noveland_list_documents
Lists the episodes of a novel. Filter with sectionId or stockOnly. Supports cursor pagination. Order: by section, then by order within the section. Episodes in the stock (not in any section) come last. position: episode number in story order, counted across sections (drafts included; null in the stock). It shifts when episodes move; episode IDs stay the same. brief=true: only id, title and position per episode (lighter; up to 500 per page, otherwise 100). Without brief, each episode includes counts that help decide which episodes to work on first: - speakerCharacterCount: distinct characters who speak (have dialogue) - referencedCharacterCount: distinct characters referenced with :code: in the body text, by name or by nickname (passing mentions included) - referencedObjectCount: distinct objects (worldbuilding terms other than characters) referenced with :code: in the body text, by name or by nickname - isPublished: whether the episode is published (false for unpublished drafts) - scheduledPublishAt: the date and time the episode is scheduled to be published (ISO 8601), or null when it is not scheduled. A scheduled episode cannot be moved to the stock includeParagraphStats=true adds the following (costs more, because each episode's Lexical content is parsed): - totalParagraphCount: number of paragraphs (ParagraphBlock) - paragraphsWithSpeakerCount: number of paragraphs with at least one speaker
noveland_list_episodes
Lists the foreshadowing entries of a novel. episodes[].type is `setup` or `payoff`. A foreshadowing entry without a payoff is unresolved. episodes[].id matches the episode id.
noveland_list_foreshadowings
Lists the novels the user can access, including each novel's aiFeatureLevel (the level of AI features permitted for that novel). Supports cursor pagination.
noveland_list_novels
Lists the sections (chapters) of a novel. Supports cursor pagination.
noveland_list_sections
Lists the object types (term categories) of a novel in display order.
noveland_list_object_types
Lists the objects (worldbuilding terms: proper nouns such as places, items and organizations) in a novel. Attribute values and memos are not included. Supports cursor pagination. query narrows the list to objects whose name, nickname or code contains the given text.
noveland_list_objects
Removes references to characters or objects (worldbuilding terms) embedded in the body text, in a batch. The displayed text stays the same; only the reference is dropped. Without paragraphId, the whole episode is searched. targetText narrows the removal to references embedded with that text. **all-or-nothing**: if any item matches no reference, the whole call fails and nothing is changed. Items that match the same reference are also an error. **A character or object that is still embedded cannot be deleted.** Deleting it requires removing its references with this tool in every episode first, and removing its speaker assignments with assign_speaker.
noveland_remove_object_ref
Searches episodes by keyword (query, PGroonga full-text search), filters (sectionIds / characterIds / objectIds), or both. Search syntax: space-separated words are combined with AND, the OR keyword combines with OR, and "quoted words" match as a phrase. Text without spaces is searched as a phrase, not split into separate AND terms. Default sort: relevance (descending) with query; story order without. characterIds matches episodes where the character speaks or is referenced by name or nickname (linked mentions only). With query, each hit has termCounts (occurrences of each term in the body text; positionsUnavailable: some could not be counted), lineCount and lines ([{n, text}]; a paragraph is one line unless it has line breaks; long lines are shortened); hits="counts" omits lines. Without query, hits="lines" gives the lines that link those targets or that the characters speak (speaks: true). context: N lines before and after each hit line (context: true), like grep -C. Lines total at most about 15,000 characters per response; when cut, next gives the offset and lineOffset to continue. With characterIds / objectIds, matches[] covers only those targets: speaks (characters; from [speaker:code] markers) and referenced (from :code: links by name or nickname). references="all" lists every speaker and reference and the episode start instead of counts and lines. limit: up to 100; up to 50 with references="all" or sectionIds alone. Includes position, the episode number in story order (null in the stock).
noveland_search_episodes
Updates characters. Pass an array, even for a single character. memo is NoveLand Markdown (supports `:code:` embeds and `[[doc:id|label]]` links, where id is a UUID returned by list_documents). attributes sets values for attribute keys, which must already exist (created with `create_attribute_key`). In nicknames / firstPersonNames, an entry with id updates it and an entry without id creates one. Deletion uses delete*Ids. **all-or-nothing**: if any item fails, the whole batch is rolled back. On error, the response includes `failedIndex` (0-based) and `totalCount`; `failedIndex` is the position of the failed item.
noveland_update_character
NoveLand ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve NoveLand's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are NoveLand alternatives on ChatGPT?
As of 2026-11-02, NoveLand competes with Agentes de Roteiro, AISEO Plagiarism Checker, Akmon, Application Follow-up Draft, BluTranslate, BR PropMarketer, BTD|メール職人, Change.org: Start a Petition and 42 more in ChatGPT Writing & Copy Assistance, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.