Skip to main content
Glama

mcp-ikaos-story

Stdio MCP server for creating and modifying iKAOS Story prototype content with Codex or Claude Code.

The MCP talks to the authenticated iKAOS Story API. Users do not need to clone ikaos-content-studio-v2026 or configure a local repository path. Story content/layout JSON lives in Supabase, while fixed workflow documents and source metadata remain read-only behind the API.

Boundaries

  • get_story_context returns the current content revision and authoritative docsLink.

  • start_story updates the confirmed type, compatible template, source receipt, and start status through the authenticated API; completed Stories are protected.

  • save_story_content writes only content_data; source, docs, Story identity, and other production metadata cannot be changed.

  • bulk_update_story_status previews and confirms a status-only update for typed Stories. The API writes only status: awaiting_review.

  • reset_story always requires a preview token. Confirm archives the complete production row atomically, preserves Story/Sheet/DOCX identity, and clears generated type, template, content, images, route, and revision.

  • A Story whose Sheet type/template is set, or whose production is completed/deployed, also requires the exact RESET <story_id> confirmation returned by preview.

  • Every content write and reset confirmation is revision-protected. A stale operation returns a conflict instead of overwriting newer content.

  • Image generation is out of scope. Designers can upload and replace supplied image files through DF Asset Hub.

  • Asset Hub does not currently expose list or delete APIs. Removing an image URL from Story content does not remove its R2 object.

  • No Supabase service key is distributed to MCP users.

Related MCP server: eDocs AAuth Codex plugin

Install

npm install
npm run build

Configure the Story API:

export IKAOS_STORY_API_URL=https://ikaos-content-studio-v2026.vercel.app
export IKAOS_STORY_API_TOKEN=your-project-scoped-api-token

Image uploads use these defaults, so users do not need a df-login token:

export DF_ASSET_UPLOAD_URL=https://df-asset-hub.vercel.app/api/review/figma-images/upload
export DF_ASSET_PROJECT_ID=ikaos-story-2026

Both DF_ASSET_* values are optional overrides. Preview links use IKAOS_STORY_API_URL as their origin. Never commit the Story API token.

Codex

codex mcp add ikaos-story \
  --env IKAOS_STORY_API_URL=https://ikaos-content-studio-v2026.vercel.app \
  --env IKAOS_STORY_API_TOKEN=your-project-scoped-api-token \
  -- node /absolute/path/to/mcp-ikaos-story/dist/src/index.js

The default Asset Hub endpoint and project namespace need no extra Codex env values. Verify with codex mcp list or /mcp.

Claude Code

claude mcp add --transport stdio \
  --env IKAOS_STORY_API_URL=https://ikaos-content-studio-v2026.vercel.app \
  --env IKAOS_STORY_API_TOKEN=your-project-scoped-api-token \
  ikaos-story -- node /absolute/path/to/mcp-ikaos-story/dist/src/index.js

The default Asset Hub endpoint and project namespace need no extra Claude env values. Verify with claude mcp list or /mcp.

Tools

Tool

Effect

list_stories

List Supabase-backed Story status, content revision, preview route, and docs link.

get_story_context

Read identity, authoritative document link, current content JSON, and revision.

get_story_rules

Read fixed workflow, semantic, Quote, catalog, or producer rules through the API.

start_story

Start or refresh production after the user confirms a compatible Story type/template pair; locks the authoritative DOCX checksum.

bulk_update_story_status

Preview or confirm moving every typed Story to awaiting_review; all non-status fields are preserved.

reset_story

Preview or confirm an archived, revision-protected reset to 제작 전; protected Stories require the returned exact confirmation string.

save_story_content

Create or modify content/layout JSON with optimistic revision protection.

validate_story

Validate the current Story identity and required content arrays.

upload_story_image

Upload a local PNG/JPG/WebP file, up to 20MB.

update_story_image

Replace the file using the scoped image ID returned by upload.

Content workflow

  1. Call get_story_context.

  2. Open docsLink and read the required fixed rules with get_story_rules.

  3. After the user confirms the type and matching template (basicB-*, immersiveI-*, narrativeN-*), call start_story with both type and template_id. Do not request a local Content Studio checkout.

  4. Modify only the returned currentData.data content/layout object. Read-only fields may be omitted, but any supplied values must remain unchanged.

  5. Call save_story_content with the unchanged Story ID and the latest currentData.revision. Use null only when the Story has no content yet.

  6. Call validate_story, then check the returned preview URL at 390px and 1280px.

If another client saved first, fetch the latest context and merge intentionally. Do not retry with a replaced revision without reviewing the newer content.

Reset workflow

  1. Call reset_story with mode: "preview" and the Story ID.

  2. Review current, preserved, cleared, protectionReasons, and result.

  3. Call reset_story again with mode: "confirm" and the unexpired preview_token.

  4. If protected is true, also pass the exact requiredConfirmation string as confirmation.

  5. A changed revision or production state invalidates the token. Preview again; never bypass the conflict.

Confirm creates an immutable archive before clearing generated fields in the same database transaction. It does not modify the Sheet or authoritative DOCX receipt and does not delete Asset Hub files.

Image workflow

  1. Choose a valid imageSlots[].slotId from the Story content.

  2. Call upload_story_image with an absolute local image path.

  3. Use the returned imageUrl in the Story content and save it with save_story_content.

  4. Call update_story_image with the returned imageId to replace that Asset Hub image. Keep the same file format to reuse the exact R2 key.

  5. To stop using an image, remove its URL from Story content and save the new revision. The R2 object remains until Asset Hub adds a delete API.

Omit viewport for one responsive source. Pass the exact same viewport object to update when using separate mobile or desktop files.

Available Tools

7 tools
get_story_contextA

Read one Story identity, authoritative document receipt, current data, revision, and preview URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
story_idYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the burden of behavioral disclosure. It clearly signals a read operation via 'Read' and lists expected data, but it does not explain response shape, error behavior, authentication requirements, or any side-effect-free guarantee beyond the verb.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or redundant content. Every phrase contributes meaning by naming the operation and the returned context fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read tool with no output schema or annotations, the description covers the main purpose and return elements sufficiently. It lacks explicit usage guidance and response-format details, but the low complexity makes this acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter, story_id, with no description coverage. The description's phrase 'one Story identity' relates to story_id, and the parameter name is self-explanatory, but the description does not explicitly define story_id format or semantics beyond that implied connection.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Read one Story') and the exact resource/scope ('one Story'), while enumerating the returned context: 'identity, authoritative document receipt, current data, revision, and preview URL.' This differentiates it from sibling tools like list_stories or get_story_rules.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when a single Story's full context is needed, but it does not explicitly state when not to use it or name alternatives such as list_stories for multiple stories. No exclusions or competing-tool guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_story_rulesA

Read one immutable Story workflow, semantic, Quote, catalog, or producer rule file.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description alone must convey behavioral traits. It states the file is 'immutable,' implying no modifications and a safe read-only operation, which is helpful. However, it does not disclose what happens if the rule does not exist, the return format, or any potential errors. For a read operation, this is minimal but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with zero wasted words. It front-loads the action and resource, making it easy to scan and parse. It is appropriately concise for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one required parameter, no output schema), the description is adequate but not rich. It does not specify return value structure or error handling. However, for a read-only retrieval of a rule file, this may suffice, especially with sibling tools providing context. It is minimally complete but could benefit from mentioning the output type.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has a single 'rule' parameter with an enum of 9 values, but the description covers only a subset ('workflow, semantic, Quote, catalog, or producer'). It adds the context that these are rule files, which partially compensates for the 0% schema description coverage. It does not explain each enum value or the difference between 'pipeline' and 'basic,' leaving room for ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Read') and clearly identifies the resource as 'one immutable Story workflow, semantic, Quote, catalog, or producer rule file.' This distinguishes it from sibling tools like save_story_content or update_story_image, which imply write operations. The scope is precise and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for reading rule files but does not explicitly state when to use it versus alternatives. No exclusions or context like 'use this instead of get_story_context when you need the raw rule file' is provided. It is clear enough for a simple read operation but lacks explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_storiesA

List iKAOS Story IDs and their read-only delivery status.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It states the tool is read-only ('read-only delivery status'), which is a key behavioral trait. However, it does not disclose details like whether it returns all stories or pagination, or any rate limits. The read-only hint is useful but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that conveys the purpose and key trait (read-only). No wasted words, front-loaded with the action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter, no output schema), the description is adequate but not rich. It does not mention what the output looks like (e.g., a list of IDs with statuses), but the description implies that. It could benefit from noting that it returns a list, but it's not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one optional parameter 'status' with an enum of 'ready' and 'waiting'. The description does not explain the parameter's meaning beyond the schema, but the schema itself is self-explanatory with the enum. Since schema coverage is 0%, the description could have added context, but the parameter is simple and the enum values are clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists iKAOS Story IDs and their read-only delivery status, which is a specific verb+resource combination. It distinguishes from siblings like update_story_image or save_story_content, which imply mutations, while this is a read-only listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving story IDs and statuses, but does not explicitly state when to use this tool versus alternatives like get_story_context or get_story_rules. It lacks explicit exclusions or alternative guidance, but the read-only nature is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_story_contentA

Create or modify Story content/layout JSON with optimistic revision protection. Fixed docs and source metadata cannot be changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
story_idYes
expected_revisionYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses optimistic revision protection (so a stale expected_revision should be rejected) and immutable fields, but it does not cover side effects, authorization, error behavior on revision conflict, or the result/return value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with front-loaded purpose: the first sentence states the action and object, and the second adds the key immutability constraint. Every word earns its place; there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, output schema, or per-parameter docs, the description provides core context but is incomplete: it does not explain what happens when the revision does not match, whether creation and modification differ in behavior, or what a successful save returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. 'Story content/layout JSON' semantically maps to the content property and 'optimistic revision protection' gives meaning to expected_revision, but story_id is not described and no parameter is explicitly named with its role.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb phrase ('Create or modify') and identifies the resource and payload ('Story content/layout JSON'). It clearly distinguishes this save-content tool from the image-focused siblings (update_story_image, upload_story_image) and read-only siblings (get_story_context, get_story_rules, list_stories).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied by 'Create or modify Story content/layout JSON', but the description does not explicitly state when to choose this tool over alternatives or when not to use it. The constraint that fixed docs and source metadata cannot be changed is a partial exclusion, but no sibling tools are referenced.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_story_imageB

Replace an Asset Hub image file using the scoped image ID returned by upload_story_image.

ParametersJSON Schema
NameRequiredDescriptionDefault
slot_idYes
image_idYes
story_idYes
viewportNo
image_pathYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations available, the description carries the full burden of behavioral disclosure. It states it replaces an image, implying a destructive or mutating operation, but does not disclose side effects (e.g., whether old image is deleted), permission requirements, reversibility, or error behavior. For a mutation tool, this minimal detail is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that delivers the core purpose without unnecessary filler. It is efficient, but its brevity comes at the cost of missing crucial context, so it is not exemplary but still appropriately concise relative to the minimal content provided.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, nested object, no annotations, no output schema), the description is sorely lacking. It does not explain how the parameters relate (story_id, slot_id, image_path), the role of the viewport object, or what happens after replacement. The description is far from complete for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no descriptions (0% coverage), so the description must compensate. It only clarifies the meaning of image_id (scoped ID from upload_story_image). The other parameters (story_id, slot_id, image_path, viewport) are left unexplained, and the nested viewport object has no documentation. This is a significant gap for a tool with 5 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (replace), the resource (Asset Hub image file), and the key input (scoped image ID from upload_story_image). It distinguishes itself from upload_story_image and other sibling tools by specifying an update operation, making the purpose explicit and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the prerequisite of using the image ID from upload_story_image, implying this tool is for replacing existing images after a prior upload. It does not explicitly list when not to use it or name alternative tools, but the context from the sibling list and the verb 'replace' provide adequate guidance for an agent to decide when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_story_imageC

Upload a local PNG, JPG, JPEG, or WebP file to Asset Hub after verifying the Story image slot.

ParametersJSON Schema
NameRequiredDescriptionDefault
slot_idYes
story_idYes
viewportNo
image_pathYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions verification and upload but does not explain what verification entails, potential side effects (e.g., overwriting), error handling, or authentication requirements. The description is too sparse to inform the agent of safety or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently states the primary action and scope. No redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity—four parameters including a nested object, no output schema, and no annotations—this description is grossly inadequate. It omits critical information about parameters, verification logic, return values, and errors, making it nearly useless for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, but it does not explain any of the four parameters (story_id, slot_id, image_path, viewport). It only lists accepted file types, which is unrelated to the parameters. The nested viewport object is completely undocumented, leaving the agent without guidance on its meaning or usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (upload) and the target (Asset Hub) with specific file formats (PNG, JPG, JPEG, WebP) and a verification step. It distinguishes from sibling 'update_story_image' by implying an initial upload, but does not explicitly contrast with alternatives like 'save_story_content' or 'update_story_image'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'after verifying the Story image slot' implies a specific use case for uploading images to slots, but it does not explicitly state when to use this tool versus alternatives, nor when not to use it. There is no mention of prerequisites or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_storyC

Validate the current Supabase Story content structure and identity.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNostatic
story_idYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility for behavioral disclosure. It states only that it validates, without clarifying side effects, return format, or potential errors. This is a significant gap for a validation tool that might have mutating or blocking behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no redundancy. It immediately states the verb and object, making it appropriately front-loaded and free of unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the simple schema, the description is incomplete for an agent to use effectively. It does not explain what validation returns, how it relates to other story tools, or whether it modifies state. This could lead to incorrect invocation expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention 'story_id' or 'mode'. The required 'story_id' is left uninterpretable beyond its name, and 'mode' with const 'static' is entirely unexplained. The description offers no additional meaning than the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Validate' and the resource 'Supabase Story content structure and identity'. It distinguishes from siblings like save_story_content and get_story_context by focusing on validation, which is a distinct operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of contexts, prerequisites, or scenarios where validation applies. The description merely states what it does without explaining when it should be called.

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.

  1. 7 tool updatesv0.1.0
    • First observedget_story_context
    • First observedget_story_rules
    • First observedlist_stories
    • First observedsave_story_content
    • First observedupdate_story_image
    • First observedupload_story_image
    • First observedvalidate_story

TDQS

A3.7/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct resource or action: listing vs. single-story context, reading rules vs. content, saving vs. validating, and uploading vs. updating images. Even the two image tools are clearly separated by their roles in the upload/replace workflow.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern, such as list_stories, get_story_context, save_story_content, and validate_story. No mixed casings or stylistic deviations appear.

Tool Count5/5

Seven tools is a well-scoped set for a story management server. Each tool covers a meaningful part of the workflow without redundancy or excessive granularity.

Completeness4/5

The set covers listing, reading, creating/updating content, validating, and managing images, which handles the core story lifecycle. The main gap is the absence of an explicit delete operation for stories or images, though this may be intentional given the immutable/revision-oriented design.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Stdio MCP server for sandboxed file access — read files, search content, safely edit with checksums, and manage file structure.
    12
    ISC
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides a local stdio MCP server proxy enabling Codex to interact with a remote AAuth-protected eDocs Streamable HTTP MCP server, handling authentication, consent elicitation, and token exchange.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    A local STDIO MCP server that bridges MCP clients to the Codex CLI by sending instructions to a configured workspace, exposing task run, status, and result tools with a read-only sandbox and no remote transport.
    124
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Read-oriented MCP server for Taranis AI, exposing the list_stories tool over stdio or Streamable HTTP for desktop AI assistants and developer tools.
    1
    -