Skip to main content
Glama
story-architect-mcp

story-architect-mcp

by PTCuong-1102

Analyze Sentiment & Tone

story_analyze_sentiment

Analyze chapter or arc sentiment, tone, and emotional arc to detect tone drift and keep narrative voice consistent against a style guide.

Instructions

Phân tích cảm xúc (sentiment), giọng văn (tone), và emotional arc của chương/arc. Phát hiện tone drift giữa các chương.

Input Schema

NameRequiredDescriptionDefault
arcYesArc ID cần phân tích (ví dụ: arc_01)
chapterNoChương cụ thể (bỏ qua để phân tích toàn bộ Arc)
windowSizeNoSố từ mỗi sliding window cho emotional arc (default 200)
compareToStyleGuideNoSo sánh với style_guide.json nếu có

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.0

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It never states that this is a read-only analysis (likely LLM-backed, potentially slow or costly), whether compareToStyleGuide causes file reads with side effects, or what happens on a missing arc/chapter. For a tool with zero annotation coverage, this is a significant gap.

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?

Two short sentences with no filler, and the core capability is front-loaded. It is arguably over-terse for an analysis tool, but nothing is wasted.

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?

There is no output schema and no annotations, yet the description says nothing about what the analysis returns (sentiment scores, tone labels, drift report, emotional arc series) or where results land. For a four-parameter analysis tool, an agent cannot predict the response shape or cost from this definition alone.

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 description coverage is 100%, so all four parameters are already documented in the schema. The description only reinforces scope (chapter vs. whole arc), adding marginal meaning beyond the schema's own 'bỏ qua để phân tích toàn bộ Arc' note. Baseline 3 is appropriate when the schema does the heavy lifting.

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 names a specific verb (analyze) and three concrete resources (sentiment, tone, emotional arc), plus a secondary capability (tone drift detection across chapters), and clarifies the scope is a chapter or an arc. It does not differentiate itself from close siblings like story_analyze_voice, story_analyze_pacing, or story_track_emotion, which an agent could easily confuse with this tool.

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?

Usage is only implied: mentioning 'chương/arc' suggests choosing chapter-level versus arc-level analysis, and 'tone drift giữa các chương' hints at multi-chapter comparisons. There is no explicit when-to-use, when-not-to-use, or named alternative among the many analysis siblings (voice, pacing, emotion tracking).

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