MCP server for NarrativeNode, a narrative/story planning tool. Exposes tools for managing story elements (scenes, entities, relationships, knowledge) via the Model Context Protocol. Forwards tool calls through a WebSocket bridge to the frontend where Zustand state management handles execution.
NarrativeNode MCP server has critical definition quality gaps. Tool definitions lack proper input schemas for most tools, descriptions are present but inconsistent in depth, and parameter documentation is sparse. Only 2 of 9 tools have visible parameter schemas (get_tool_help, add_entity_to_scene). Most tools lack structured output schema documentation. Error handling and recovery guidance are absent. The server appears to proxy write operations through a session/token model (request_mcp_session, then use token with write tools), but this is not clearly documented in tool descriptions. Read-only tools have basic descriptions but lack specificity about return structure and fields. Write tools (create_scene, add_participants, set_entity_awareness) lack complete parameter documentation and output schema clarity.
Add one or more entities as participants to a scene. Requires an active MCP control session.
Add participant relationships. Requires an active MCP control session.
Create a new scene in the narrative. Requires an active MCP control session (write operation).
Retrieve a comprehensive summary of the current narrative project including all entities, scenes, relationships, and knowledge elements. Available without an active control session (read-only).
Get detailed help and usage information for specific MCP tools. Available without an active control session.
Retrieve workflow guidance and best practices for using NarrativeNode. Available without an active control session.
Critical: 7 of 9 tools lack visible input parameter schemas. Tools like create_scene, add_participants, set_entity_awareness, request_mcp_session have no discernible JSON Schema definitions in source code, making it impossible for LLMs to know what parameters to pass.
Critical: No return/output schemas documented for any tool. Descriptions mention what the tool returns in prose (e.g. 'Returns session state and activation token' for request_mcp_session) but never specify the structure: field names, types, or whether it's an object or array. LLMs cannot plan downstream tool calls without knowing the output shape.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
List all available narrative workflows and story patterns. Available without an active control session.
Request an MCP control session to enable write operations on the narrative project. Returns session state and activation token.
Set or update an entity's awareness of knowledge elements. Requires an active MCP control session.
High: Write operations reference an MCP control session model (request_mcp_session returns 'activation token') but tool descriptions do not explain how to use the token or pass it to write tools. How does create_scene know which session is active? Is the token a parameter? Is it implicit in the connection? This creates ambiguity for LLM reasoning.
High: Parameter descriptions are sparse or missing. add_entity_to_scene has only 2 params documented ('scene' and 'entities' with type and brief desc), but many other write tools (create_scene, add_participants, set_entity_awareness) lack any visible parameter documentation at all. LLMs cannot determine what parameters to pass or what format they expect.
High: No error handling or recovery guidance documented. Tools lack descriptions of failure modes, error codes, or what LLMs should do if a call fails. E.g., if create_scene fails because a scene name already exists, should the LLM retry with a different name, or call get_project_summary first to check? No guidance provided.
Medium: Tool descriptions conflate implementation details with user intent. 'Requires an active MCP control session (write operation)' tells LLMs about the server's internal session model, not what the tool accomplishes. Better: 'Creates a new scene with the specified name and settings in the narrative project. Requires write permission (obtain via request_mcp_session).'
Medium: Read-only tools lack specificity about what they return. get_project_summary says 'Retrieve a comprehensive summary... including all entities, scenes, relationships, and knowledge elements' but does not specify pagination, result count limits, or output structure. Is it a flat list or hierarchical? Can it be huge and timeout?