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
- URL
- Repository
- thomasjudes-del/ficturn
- GitHub Stars
- 0
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. Dates show when Glama detected each change.
3 tool updates
- First observed
browse_stories - First observed
next_fragment - First observed
start_story
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
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.
TDQS
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.