FICTURN — Short Fiction Inside ChatGPT
Server Details
Short, finished fiction to discover by mood, genre or reading time inside ChatGPT.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- thomasjudes-del/ficturn
- GitHub Stars
- 0
TDQS
Scored across 3 tools
browse_stories and start_story are described with nearly identical use cases (requests by genre, mood, or reading time), making it unclear which to call. Only next_fragment has a clearly distinct role.
browse_stories and start_story follow a clear verb_noun pattern, and all names use consistent snake_case. next_fragment deviates by lacking a verb, but the set is still readable and predictable overall.
Three tools is a reasonable, focused size for a fiction-reading server. However, the heavy overlap between browse_stories and start_story makes the effective surface feel closer to two tools.
The core flow of browse, start, and read-next is covered, so a user can complete a basic story-reading session. Missing operations like previous_fragment, restart, or close are notable gaps in a reading experience.
Available Tools
3 toolsbrowse_storiesBrowse FICTURN storiesARead-onlyInspect
Browse a library of short, finished, pre-authored fiction to read directly inside ChatGPT. Use for generic requests such as a short story, quick fiction, a five-minute read, romance, romantic suspense, eerie or uncanny horror, mystery, near-future science fiction, AI thriller, speculative fiction, or when the user wants to choose a story by mood, genre or reading time. The user does not need to know the name FICTURN.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context that content is pre-authored, finished, and readable inside ChatGPT, but it does not disclose the return shape or how selection flows to sibling tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the action and resource, then adds only purposeful routing details and a useful clarifier about brand familiarity. The genre list is slightly long but each item helps match common user requests.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only tool with no output schema, the description gives enough context about when to use it and what content it exposes. It does not describe the output format or relation to start_story and next_fragment, but those are minor gaps here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema offers no semantics; the description still clarifies that generic requests need no special arguments and that mood/genre/reading time are internal selection dimensions. This meets the baseline for a zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb, 'Browse', and a concrete resource, 'a library of short, finished, pre-authored fiction'. The genre list further defines the scope, and 'browse' clearly contrasts with sibling tools like start_story and next_fragment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use for generic requests such as...' and gives a clear decision rule for when the user wants to choose by mood, genre, or reading time. It does not name alternatives or state exclusions, but the context is strong enough for routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
next_fragmentContinue a FICTURN storyARead-onlyInspect
Return the requested next fragment of the fixed FICTURN story already open in the reader. Never invent, rewrite, summarise, or skip story fragments.
| Name | Required | Description | Default |
|---|---|---|---|
| part | Yes | Exact fragment number to display. | |
| storyId | No | Story currently being read. Defaults to the-safehouse-rule for legacy clients. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnlyHint=true, openWorldHint=false, destructiveHint=false). The description adds genuinely useful operational disclosure beyond that: the story is fixed/deterministic, and 'Never invent, rewrite, summarise, or skip' warns the agent that the tool must return exact content and will not tolerate creative expansion or skipping. No contradiction with annotations; the read-only hint aligns with 'Return the requested next fragment.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences totaling roughly 22 words. Sentence one front-loads the core action and precondition; sentence two delivers the hard constraints. Every word carries weight and there is zero filler or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a low-complexity tool: 2 parameters, 1 required, full schema descriptions, an enum on storyId, and safety annotations. The description covers what it does, when it applies, and its boundary constraints; the schema fully documents parameters; annotations document the safety profile. No material gap remains for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema with the 'Never ... skip story fragments' clause: although the schema permits part values from 2 to 5, the description constrains usage to the immediate next fragment, preventing an agent from naively requesting part=5 after part=2. This operational constraint is genuine value-add over the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Return) with a specific resource (next fragment of the fixed FICTURN story already open in the reader). The qualifier 'already open in the reader' and 'fixed' clearly distinguish it from the siblings browse_stories and start_story, and the prohibitions ('Never invent, rewrite, summarise, or skip') reinforce what the tool is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The precondition 'already open in the reader' gives clear context for when this tool applies, implying start_story must have been called first, and 'fixed FICTURN story' separates it from browse_stories' discovery role. However, the siblings are never named explicitly, so the agent must infer the workflow rather than being told 'use X for Y'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_storyStart a FICTURN storyARead-onlyInspect
Open one short, finished, pre-authored story directly inside ChatGPT in the FICTURN reader. Use when a user asks to read short fiction or requests a story by genre, mood or time: romance or romantic suspense, second chance, forced proximity, eerie or uncanny horror, mystery, near-future science fiction, AI thriller or speculative fiction. If no story is specified, open The Safehouse Rule. The user does not need to mention FICTURN by name.
| Name | Required | Description | Default |
|---|---|---|---|
| storyId | No | Story to open: the-safehouse-rule, room-713, or the-last-reply. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: stories are short, finished, pre-authored, open in the FICTURN reader, and a default story is used if none is specified. It also clarifies that the user need not explicitly name FICTURN, which is important for triggering behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and is reasonably concise. The genre list is somewhat long but earns its place by giving the agent concrete triggering signals. There is very little waste; the default behavior and the 'no need to mention FICTURN' note are both essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter, no output schema, and safety-controlling annotations, the description is nearly complete. It covers what happens, when to use it, and what to do when no story is specified. The only minor gap is not explicitly explaining how the genre examples map to the available storyId choices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single storyId parameter, so the baseline is 3. The description adds value by explaining the default story selection when storyId is absent, which directly informs parameter handling. It does not map genres to specific IDs, but the enum values are self-explanatory and the schema already names the choices.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Open one short, finished, pre-authored story directly inside ChatGPT in the FICTURN reader.' It clearly distinguishes this from siblings by emphasizing opening a single story directly in the reader, versus browsing or continuing fragments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: when a user asks to read short fiction or requests a story by genre, mood, or time, and it even lists concrete genres. It also specifies the default behavior when no story is specified. It does not discuss exclusions or alternatives, but the context is clear enough for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
browse_stories - First observed
next_fragment - First observed
start_story
Related MCP Connectors
A perpetual, crowd-written AI novel — fetch an assignment, write a chapter, submit it. CC0.
Book discovery using an AI-curated book catalog that eliminates hallucinations and surfaces lesser-known titles.
AI-native fiction platform. Any AI can register, read, search and co-author novels via MCP or REST.
AI story generator — create illustrated storybooks, AI songs, and short AI video films
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables AI agents to get book recommendations by topic or mood, discover serendipitous blind-date picks from first sentences, and access free public-domain classics with read-now availability, all with no API keys required.5MIT
- FlicenseBqualityDmaintenanceA lightweight ChatGPT app that converts your LLM into a Dungeon Master!352-
- FlicenseNot gradedqualityDmaintenanceProvides personalized book recommendations through OpenRouter and ChatGPT based on user preferences for genres, book length, and topics of interest.-

MyAITwin MCPofficial
FlicenseNot gradedqualityDmaintenancePersonal RAG database and semantic search built from inside your AI chat. Store knowledge, voice, and skills; Claude and ChatGPT create work that sounds like you.-
Glama MCP Gateway
Add one secure layer between your agents and this server.