UNO-MCP
UNO-MCP (Unified Narrative Operator) is a narrative enhancement server that transforms story text through analysis and expansion techniques.
Analyze Text (
analyze_text): Performs deep analysis of story content, generating a report covering narrative position (beginning, middle, climax, resolution), character focus, scene type, mood/tone, repetition patterns, and enhancement recommendations.Enhance Text (
enhance_text): Automatically expands and improves text by applying all five enhancement techniques simultaneously, with a configurable expansion target (100%–500%, default: 200%).Custom Enhance Text (
custom_enhance_text): Selectively apply specific techniques with a custom expansion target (100%–500%):Golden Shadow Enhancement: Develops underdeveloped characters, unexplored plot elements, and subtext.
Environmental Expansion: Enriches settings with vivid sensory details and atmosphere.
Action Scene Enhancement: Intensifies action sequences with dynamic pacing and heightened sensory detail.
Prose Smoothing: Improves flow, transitions, and sentence rhythm.
Repetition Elimination: Reduces unintentional repetition while preserving the author's voice.
Use cases include creative writing assistance, novel expansion, game narrative development, and writing coaching.
Runs as a Node.js application, enabling server-side execution of the narrative enhancement tools.
Built with TypeScript, allowing for type-safe development and integration with the MCP server.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@UNO-MCPenhance this fantasy battle scene to make it more intense"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🪄 UNO: Unified Narrative Operator
✨ Overview
UNO (Unified Narrative Operator) is a magical text enhancement tool that transforms ordinary story content into rich, detailed narratives. Using advanced literary techniques and heuristic analysis, UNO can double the length of your text while preserving the original voice and intent.
Think of UNO as your personal narrative assistant, capable of:
📊 Analyzing your text to understand its strengths and weaknesses
🌱 Growing underdeveloped story elements
🎨 Enriching environmental descriptions
⚡ Intensifying action sequences
🌊 Smoothing prose flow and rhythm
🔄 Eliminating repetitive language
Related MCP server: Clear Thought 1.5
🛠️ Features
UNO provides three powerful MCP tools:
1. 🔍 analyze_text
Performs deep analysis of your story pages and generates a comprehensive report including:
📝 Narrative position assessment (beginning, middle, climax, resolution)
👤 Character focus identification
🎭 Scene type classification
🌡️ Mood and tone evaluation
📈 Enhancement recommendations for each technique
🔄 Repetition pattern detection
2. ✨ enhance_text
Transforms your text by applying all five enhancement techniques:
Automatically expands text to meet target length (default: 200%)
Intelligently applies techniques based on what your text needs most
Balances expansions across the entire text
3. ⚙️ custom_enhance_text
Gives you complete control over the enhancement process:
Choose which enhancement techniques to apply
Set custom expansion targets (100%-500%)
Focus on specific aspects of your narrative
🌟 Enhancement Techniques
1. 👻 Golden Shadow Enhancement
Identifies underdeveloped elements in your story and expands them:
Develops mentioned but undeveloped characters
Explores implied but unexplained plot elements
Surfaces subtext and hidden meanings
2. 🏞️ Environmental Expansion
Enriches your settings with immersive details:
Adds vivid sensory experiences (visual, auditory, tactile, olfactory)
Creates memorable focus on insignificant objects
Deepens the atmosphere and mood
3. ⚡ Action Scene Enhancement
Transforms action sequences into dynamic, high-intensity experiences:
Manipulates perceived time (slowing crucial moments)
Intensifies sensory details during action
Creates rhythmic alternation between explosive action and momentary stillness
Makes environments active participants in the action
4. 🌊 Prose Smoothing
Improves the flow and rhythm of your writing:
Enhances transitions between paragraphs
Varies sentence structure for better readability
Creates a natural rhythm that pulls readers through the text
5. 🔄 Repetition Elimination
Reduces unintentional repetition while preserving style:
Identifies and replaces repeated words with meaningful alternatives
Maintains the author's voice and intent
Distinguishes between intentional and unintentional repetition
📋 Installation
Installing via Smithery
To install Unified Narrative Operator for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @MushroomFleet/uno-mcp --client claudePrerequisites
Node.js (v14 or higher)
NPM (v6 or higher)
Step-by-Step Installation
Clone or download the repository
git clone https://github.com/your-username/uno-mcp.git cd uno-mcpInstall dependencies
npm installBuild the TypeScript files
npm run buildMake the server executable (skip on Windows)
chmod +x dist/index.jsTest the server
node test-run.jsThis will run the server on a sample story and generate three files:
test-analysis.md: Sample analysis reporttest-enhanced.txt: Sample enhanced text (200%)test-custom-enhanced.txt: Sample custom enhancement (150%)
🔌 MCP Integration
Claude Desktop Integration
Edit Claude configuration file
Windows:
C:\Users\[username]\AppData\Roaming\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Add UNO to the MCP servers section
{ "mcpServers": { "uno": { "command": "node", "args": ["/absolute/path/to/uno-mcp/dist/index.js"], "disabled": false, "autoApprove": [] } } }Be sure to use the absolute path to your UNO installation.
Restart Claude After saving the configuration, restart Claude to activate the UNO MCP server.
VS Code Integration
Edit VS Code Claude extension configuration
Windows:
c:\Users\[username]\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.jsonmacOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Add the same configuration as shown above for Claude Desktop.
Restart VS Code or reload the window.
🚀 Usage Examples
Analyzing a Story
<use_mcp_tool>
<server_name>uno</server_name>
<tool_name>analyze_text</tool_name>
<arguments>
{
"text": "As Sarah walked into the garden, she noticed the old statue in the corner. It was covered in moss and vines, almost hidden from view. She felt drawn to it somehow."
}
</arguments>
</use_mcp_tool>This will return a detailed analysis report with insights about the narrative position, character focus, enhancement opportunities, and more.
Enhancing a Story (200% Expansion)
<use_mcp_tool>
<server_name>uno</server_name>
<tool_name>enhance_text</tool_name>
<arguments>
{
"text": "As Sarah walked into the garden, she noticed the old statue in the corner. It was covered in moss and vines, almost hidden from view. She felt drawn to it somehow."
}
</arguments>
</use_mcp_tool>This will return a version of your text that's approximately double the original length, with all five enhancement techniques applied.
Custom Enhancement
<use_mcp_tool>
<server_name>uno</server_name>
<tool_name>custom_enhance_text</tool_name>
<arguments>
{
"text": "As Sarah walked into the garden, she noticed the old statue in the corner. It was covered in moss and vines, almost hidden from view. She felt drawn to it somehow.",
"expansionTarget": 150,
"enableGoldenShadow": true,
"enableEnvironmental": true,
"enableActionScene": false,
"enableProseSmoother": true,
"enableRepetitionElimination": false
}
</arguments>
</use_mcp_tool>This example applies only Golden Shadow Enhancement, Environmental Expansion, and Prose Smoothing, targeting a 150% expansion.
⚡ Integration Use Cases
📝 Creative Writing Assistant
Can you enhance this scene with more environmental details?
<use_mcp_tool>
<server_name>uno</server_name>
<tool_name>custom_enhance_text</tool_name>
<arguments>
{
"text": "Jack entered the abandoned warehouse, searching for clues.",
"expansionTarget": 300,
"enableEnvironmental": true,
"enableGoldenShadow": false,
"enableActionScene": false,
"enableProseSmoother": false,
"enableRepetitionElimination": false
}
</arguments>
</use_mcp_tool>📚 Writing Coach
Let me analyze this paragraph to give you feedback:
<use_mcp_tool>
<server_name>uno</server_name>
<tool_name>analyze_text</tool_name>
<arguments>
{
"text": "[student's writing sample]"
}
</arguments>
</use_mcp_tool>
Based on the analysis, I recommend focusing on developing your character motivations more clearly.🎮 Game Narrative Development
Here's a more intense version of your action scene:
<use_mcp_tool>
<server_name>uno</server_name>
<tool_name>custom_enhance_text</tool_name>
<arguments>
{
"text": "[original action scene]",
"enableActionScene": true,
"enableEnvironmental": true,
"enableGoldenShadow": false,
"enableProseSmoother": true,
"enableRepetitionElimination": true
}
</arguments>
</use_mcp_tool>📔 Novel Expansion
Let me help you expand this chapter:
<use_mcp_tool>
<server_name>uno</server_name>
<tool_name>enhance_text</tool_name>
<arguments>
{
"text": "[chapter excerpt]",
"expansionTarget": 180
}
</arguments>
</use_mcp_tool>💡 Tips & Tricks
🔍 Always start with
analyze_textto understand what your text needs🎯 For subtle enhancements, use
custom_enhance_textwith a lower expansion target (120-150%)🧩 Break longer texts into smaller sections for processing, then combine the results
🔄 Apply Repetition Elimination as the final step when enhancing longer works
⚡ Use
enableActionScene: trueonly for scenes that contain action elements
📄 License
ISC
🙏 Acknowledgements
UNO is based on advanced literary enhancement techniques and narrative theory. Special thanks to the storytellers, writers, and narrative theorists whose work inspired this project.
⭐ Made with love by the UNO team ⭐
See Also
TranscriptionTools-MCP — Transcript processing
DeepLucid3D-MCP — Cognitive processing
UNO-MCP — Narrative enhancement
gitea-mcp — Gitea integration
zero-vector-MCP — Procedural generation
Available Tools
3 toolsanalyze_textC
Analyzes a story page and generates a report with insights
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The story page text to analyze or enhance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions analysis and report generation but lacks details on what 'insights' entail, whether the operation is read-only or has side effects, performance characteristics, or error handling. This is a significant gap for a tool with no annotation coverage.
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 a single, efficient sentence that front-loads the core functionality ('Analyzes a story page') and adds the outcome ('generates a report with insights') without any wasted words. It is appropriately sized for the tool's apparent complexity.
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?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the 'report' or 'insights' look like, potential limitations, or how it differs from sibling tools. For a tool with no structured behavioral or output information, more context is needed to guide effective use.
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?
The schema description coverage is 100%, with the single parameter 'text' documented as 'The story page text to analyze or enhance'. The description adds no additional parameter semantics beyond what the schema provides, so the baseline score of 3 is appropriate as the schema handles the documentation adequately.
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 clearly states the tool's purpose with a specific verb ('analyzes') and resource ('a story page'), and specifies the output ('generates a report with insights'). However, it doesn't explicitly differentiate from sibling tools like 'custom_enhance_text' or 'enhance_text', which appear to have related but potentially different functions.
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 provides no guidance on when to use this tool versus its siblings ('custom_enhance_text' and 'enhance_text'), nor does it mention any prerequisites, alternatives, or exclusions. It only states what the tool does without contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
custom_enhance_textC
Enhances a story page using selected techniques
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The story page text to enhance | |
| expansionTarget | No | Target expansion percentage (default: 200) | |
| enableGoldenShadow | No | Enable Golden Shadow enhancement | |
| enableEnvironmental | No | Enable Environmental expansion | |
| enableActionScene | No | Enable Action Scene enhancement | |
| enableProseSmoother | No | Enable Prose Smoothing | |
| enableRepetitionElimination | No | Enable Repetition Elimination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'enhances' text, implying a transformation, but doesn't describe the nature of the enhancement, potential side effects, rate limits, or output format. This is a significant gap for a tool with multiple parameters and no output schema.
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 a single, efficient sentence that front-loads the core action ('enhances a story page'). It avoids unnecessary words, but could be more informative given the tool's complexity, making it slightly under-specified rather than perfectly concise.
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?
Given the tool's complexity (7 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what 'enhance' entails, how techniques interact, or what the output looks like, leaving critical gaps for an agent to understand and use the tool effectively.
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 description coverage is 100%, so the schema fully documents all 7 parameters. The description mentions 'selected techniques' but doesn't add meaning beyond the schema, which already details each enhancement technique and parameter. The baseline score of 3 reflects adequate coverage by the schema alone.
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 states the tool 'enhances a story page using selected techniques,' which provides a general purpose but lacks specificity. It mentions the resource ('story page') and verb ('enhances'), but doesn't clarify what 'enhance' means or how it differs from sibling tools like 'enhance_text' and 'analyze_text', leaving the purpose somewhat vague.
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 offers no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'enhance_text' or 'analyze_text', nor does it specify prerequisites, contexts, or exclusions for usage, leaving the agent without clear direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enhance_textC
Enhances a story page using all techniques to meet expansion target
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The story page text to enhance | |
| expansionTarget | No | Target expansion percentage (default: 200) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'using all techniques' but doesn't explain what these techniques are, whether the enhancement is reversible, what permissions or rate limits apply, or what the output looks like. For a tool with no annotations and an implied mutation ('enhances'), this leaves critical behavioral traits undisclosed.
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 a single, efficient sentence that front-loads the core action. It avoids unnecessary words and gets straight to the point. However, it could be slightly more structured by explicitly separating purpose from constraints, but overall it's appropriately concise for the tool's complexity.
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?
Given the tool's implied complexity (enhancing text with multiple techniques) and lack of annotations and output schema, the description is incomplete. It doesn't explain what 'enhance' entails, what techniques are used, or what the result looks like. For a tool that likely modifies content, more context is needed to guide the agent effectively.
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?
The schema description coverage is 100%, with clear descriptions for both parameters ('text' and 'expansionTarget'). The description adds no additional meaning beyond what the schema provides, such as examples or contextual usage. However, since the schema adequately documents the parameters, a baseline score of 3 is appropriate as the description doesn't detract from the schema's clarity.
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 states the tool 'enhances a story page using all techniques to meet expansion target', which provides a vague purpose. It specifies the resource ('story page') and goal ('meet expansion target'), but the verb 'enhances' is generic and doesn't clearly differentiate from sibling tools like 'analyze_text' or 'custom_enhance_text'. The description lacks specificity about what 'enhance' means operationally.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'analyze_text' or 'custom_enhance_text', nor does it specify contexts, prerequisites, or exclusions for usage. The agent must infer usage based on the tool name alone, which is insufficient for informed selection.
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
analyze_text - First observed
custom_enhance_text - First observed
enhance_text
TDQS
Scored across 3 tools
The tools 'custom_enhance_text' and 'enhance_text' have overlapping purposes, both focused on enhancing story pages, with only a vague distinction based on technique selection versus using all techniques. This creates ambiguity where an agent might struggle to choose between them for a given enhancement task. The 'analyze_text' tool is more distinct but the enhancement tools lack clear boundaries.
All tools follow a consistent snake_case naming pattern with a verb_noun structure (e.g., analyze_text, enhance_text). The naming is predictable and readable, with only minor deviation in 'custom_enhance_text' where the adjective 'custom' adds some variation but maintains the overall convention.
With only 3 tools, the server feels thin for a domain like story analysis and enhancement, potentially lacking coverage for broader operations. While it covers basic analyze and enhance functions, the low count may limit agent capabilities in handling more complex workflows or additional CRUD-like actions.
The tool set is severely incomplete for a story analysis and enhancement domain, as it only includes analysis and enhancement without any CRUD operations (e.g., create, update, delete story pages) or lifecycle management. This creates significant gaps that will likely cause agent failures when trying to perform full workflows beyond simple text processing.
Maintenance
Related MCP Connectors
Generate full stories, chapters, characters & cover art from a premise (planner-writer pipeline).
Fan out deep research across multiple AI providers, synthesize into one unified report.
Exactly 50 data transformation and live web verification tools for AI agents.
Make videos and docs with your AI agent — describe what you need, every output stays editable.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables iterative deep research by integrating AI agents with search engines, web scraping, and large language models for efficient data gathering and comprehensive reporting.4 npm323MIT
- AlicenseNot gradedqualityFmaintenanceProvides 30+ unified reasoning operations including systematic thinking, mental models, debugging approaches, statistical analysis, interactive notebooks, and advanced problem-solving frameworks for enhanced decision-making and complex reasoning tasks.96 npm53MIT
- AlicenseBqualityDmaintenanceEnables AI-guided hierarchical fiction writing through structured XML documents. Supports step-by-step narrative expansion from book-level planning down to individual paragraphs, with custom Roo Code modes for collaborative story development.19MIT
- AlicenseBqualityDmaintenanceCombines structured sequential thinking with batch operation execution, enabling step-by-step reasoning with revision/branching capabilities and chained operations with variable piping between steps.151MIT