Skip to main content
Glama

Storywright MCP

Cursor, Claude Desktop, OpenCode 또는 stdio를 통해 MCP를 지원하는 모든 호스트를 위한 다중 에이전트 도서 집필 MCP 서버입니다. 가드된 챕터 파이프라인(작가 → 편집자 → 구성 가능한 3차 검토 → 승인), 디스크상의 JSON/Markdown 프로젝트, 도서 바이블 계획, 연속성 추적, 원고 검색, 마커 스캔, 이전 챕터 컨텍스트 예산 관리, 내보내기/diff 도우미 기능을 결합했습니다.

골든 패스 (첫 1시간)

  1. 설치 (이 저장소에서):

    cd C:\Apps\claude_plugins\storywright-mcp
    uv sync --extra dev
  2. API 키 설정 (사용자 환경 변수 또는 MCP env 블록):

    • ANTHROPIC_API_KEY 및/또는 ANTHROPIC_AUTH_TOKEN — 작가/편집자/3차 검토 에이전트에 필요합니다 (MiniMax는 보통 Bearer + ANTHROPIC_BASE_URL 사용).

  3. Cursor에 MCP 등록 — mcp.json 생성 또는 편집:

    범위

    경로 (Windows)

    사용자 (모든 워크스페이스)

    %USERPROFILE%\.cursor\mcp.json

    현재 저장소만

    <repo>\.cursor\mcp.json

    파일에 이미 다른 서버가 있는 경우 storywright를 기존 "mcpServers" 객체에 병합하세요.

    Anthropic API 키 (Windows 환경 변수를 통한 보안 설정 — 사용자 환경 변수 설정 후 참조):

    {
      "mcpServers": {
        "storywright": {
          "command": "uv",
          "args": ["run", "--directory", "C:/Apps/claude_plugins/storywright-mcp", "storywright-mcp"],
          "env": {
            "ANTHROPIC_API_KEY": "${env:ANTHROPIC_API_KEY}",
            "STORYWRIGHT_PROJECTS_ROOT": "C:/Users/you/Documents/writing",
            "STORYWRIGHT_ANTHROPIC_MODEL": "claude-sonnet-4-20250514"
          }
        }
      }
    }

    MiniMax (작업 중인 셸과 동일 — Bearer + 기본 URL + 모델):

    {
      "mcpServers": {
        "storywright": {
          "command": "uv",
          "args": ["run", "--directory", "C:/Apps/claude_plugins/storywright-mcp", "storywright-mcp"],
          "env": {
            "ANTHROPIC_BASE_URL": "https://api.minimax.io/anthropic",
            "ANTHROPIC_AUTH_TOKEN": "${env:ANTHROPIC_AUTH_TOKEN}",
            "STORYWRIGHT_ANTHROPIC_MODEL": "MiniMax-M2.7",
            "STORYWRIGHT_PROJECTS_ROOT": "C:/Users/you/Documents/writing"
          }
        }
      }
    }

    Windows 환경 변수(사용자)에 ANTHROPIC_AUTH_TOKEN을 설정하거나, 디스크에 저장되는 위험을 감수할 경우에만 값을 일시적으로 포함하세요. book_projects/가 위치할 곳으로 **STORYWRIGHT_PROJECTS_ROOT**를 편집하세요.

    MCP 다시 로드: 명령 팔레트 → “Cursor: Reload MCP Servers” (또는 Cursor 재시작). Cursor가 서버를 생성하는 터미널의 PATH에 uv가 있어야 합니다.

  4. 채팅에서 도구를 순서대로 실행:

    • check_environment — 키 + 모델 + 버전 확인.

    • `create_book_project(project_name="my-novel", book_title="My Novel", third_agents=["comedy","pacing"])

    • plan_book() … 단계별 진행(선택 사항) 또는 챕터로 건너뛰기.

    • 필요에 따라 add_chapter / add_character 실행.

    • get_pipeline_status — 챕터별 정확한 다음 도구 표시.

    • 챕터별: start_chapter → run_writer_agent → run_editor_review → 각 run_third_agent → approve_chapter.

  5. 알아두어야 할 아티팩트:

    • briefs/revision_queue.json — request_revision의 메모 (작가 프롬프트가 이를 읽음).

    • reports/chapter-NN-editor-meta.json — 편집자의 파싱된 판정 + 메타 블록.

    • manuscript/chapter-NN-draft.prev.md — 작가 덮어쓰기 전 백업; diff_chapter 사용.

    • EXPORT-manuscript.md — export_manuscript의 선택적 출력.

Related MCP server: noveletary

기능

  • 엄격한 워크플로우: 편집자 이후에만 3차 검토 가능; force=true가 아닌 경우 모든 구성된 3차 검토 에이전트의 승인이 필요합니다.

  • 파이프라인 힌트: get_pipeline_status는 챕터별 다음 도구 호출을 나열합니다.

  • API 준비 상태: check_environment는 세션을 소모하기 전에 Anthropic 자격 증명(ANTHROPIC_API_KEY 및/또는 ANTHROPIC_AUTH_TOKEN)을 검증합니다.

  • 이전 산문 예산: 작가는 구성 가능한 단어/챕터 제한까지 최근 승인된 챕터 텍스트를 포함합니다 (전체 도서를 덤프하는 것보다 컨텍스트 절약).

  • 재시도: 일시적인 Anthropic 오류(429/5xx, 타임아웃)는 백오프와 함께 재시도됩니다 (STORYWRIGHT_ANTHROPIC_MAX_RETRIES).

  • 구조화된 편집자 메타: 편집자 보고서는 ---STORYWRIGHT_META_START--- … END---로 끝나야 하며, 마크다운 보고서 옆에 JSON이 파싱됩니다.

  • 내보내기 / diff: export_manuscript, diff_chapter (초안 vs .prev.md).

  • 리소스: storywright://project/*, storywright://meta/version.

설치

cd storywright-mcp
uv sync --extra dev

환경 변수

변수

목적

ANTHROPIC_API_KEY

아래 Bearer를 사용하지 않는 경우 선택 사항 — 작가/편집자/3차 검토 호출

ANTHROPIC_AUTH_TOKEN

선택 사항 — Bearer 토큰 (Claude Code와 동일한 패턴; MiniMax는 종종 API_KEY 대신 이를 사용)

ANTHROPIC_BASE_URL

선택 사항 — 예: MiniMax의 Anthropic 호환 API용 https://api.minimax.io/anthropic

STORYWRIGHT_ANTHROPIC_MODEL

모델 ID (예: MiniMax 사용 시 MiniMax-M2.7)

STORYWRIGHT_PROJECTS_ROOT

상위 디렉토리; 프로젝트는 {root}/book_projects/<slug>/로 이동

STORYWRIGHT_STATE_DIR

load_last_book_project를 위한 last_project.json (기본값 ~/.storywright)

STORYWRIGHT_PRIOR_CHAPTERS_MAX_WORDS

작가에게 주입되는 이전 승인된 산문의 최대 단어 수 (기본값 약 12000)

STORYWRIGHT_PRIOR_CHAPTERS_MAX_COUNT

고려되는 이전 챕터의 최대 개수 (기본값 약 8)

STORYWRIGHT_ANTHROPIC_MAX_RETRIES

일시적인 API 실패에 대한 재시도 횟수 (기본값 약 2)

STORYWRIGHT_ANTHROPIC_RETRY_DELAY_SECONDS

재시도 간 기본 지연 시간 (기본값 약 2.0)

MiniMax (Anthropic 호환 게이트웨이)

Storywright는 공식 anthropic Python SDK를 사용하며, 이는 Claude Code와 동일한 방식으로 ANTHROPIC_BASE_URL 및 **ANTHROPIC_AUTH_TOKEN**을 읽습니다. ~/.claude/settings.json의 env를 Cursor(또는 셸)의 Storywright MCP env 블록에 미러링하세요. 예:

  • ANTHROPIC_BASE_URL = https://api.minimax.io/anthropic

  • ANTHROPIC_AUTH_TOKEN = 귀하의 MiniMax 토큰 (Bearer)

  • STORYWRIGHT_ANTHROPIC_MODEL = MiniMax-M2.7 (또는 제공업체가 기대하는 모델 ID)

API 키를 커밋하지 마세요. OS 환경 변수나 Cursor 보안 설정을 사용하는 것이 좋습니다.

실행 (stdio)

uv run storywright-mcp
uv run python -m storywright_mcp

Claude Desktop / OpenCode

앱이 MCP stdio 서버를 지원하는 경우 Cursor와 동일한 command / args를 사용하세요.

일반적인 워크플로우

  1. create_book_project(..., third_agents=[...]) 또는 load_book_project("C:/absolute/.../book_projects/my-book")

  2. plan_book() … (선택 사항)

  3. start_chapter(1) → run_writer_agent(1) → run_editor_review(1) → run_third_agent(1, …) → approve_chapter(1)

진행 상황을 놓칠 때마다 **get_pipeline_status**를 사용하세요.

CLI

uv run storywright-mcp agents           # list third-pass agents
uv run storywright-mcp smoke             # ping Anthropic/MiniMax (tiny token use)
uv run storywright-mcp smoke --with-book # temp folder + new project + chapter 1 writer (full pipeline chunk)

run_editor_review(1)과 같은 이름은 MCP 도구(Cursor/채팅에서 사용)이며 셸 명령어가 아닙니다. PowerShell에서는 load_book_project 이후 동일한 로직을 호출할 수 있습니다:

uv run python -c "from storywright_mcp import workflow; workflow.load_book_project(r'C:/path/to/book_projects/your-book'); print(workflow.run_editor_review(1))"

MiniMax (또는 Anthropic 호환 프록시) 테스트

PowerShell에서 ~/.claude/settings.json과 동일한 변수를 설정한 후 저장소에서 **smoke**를 실행하세요 (자격 증명은 셸에만 유지됨):

$env:ANTHROPIC_BASE_URL = "https://api.minimax.io/anthropic"
$env:ANTHROPIC_AUTH_TOKEN = "<your-token>"
$env:STORYWRIGHT_ANTHROPIC_MODEL = "MiniMax-M2.7"
cd C:\Apps\claude_plugins\storywright-mcp
uv run storywright-mcp smoke

출력에 **STORYWRIGHT_SMOKE_OK**가 표시되면 라우팅 및 인증이 작동하는 것입니다. **smoke --with-book**을 사용하여 실시간 추론에 대해 **create_book_project → run_writer_agent**가 작동하는지 확인하세요 (토큰 비용 발생; 파일은 임시 storywright-smoke-* 디렉토리에 저장됨).

CI

GitHub Actions는 푸시/PR 시 ruff + pytest를 실행합니다 (.github/workflows/ci.yml).

라이선스

MIT

Available Tools

35 tools
add_chapterC

Register a chapter outline.

ParametersJSON Schema
NameRequiredDescriptionDefault
chapter_numYes
titleYes
target_wordsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior. It indicates creation ('register') but lacks details on side effects, idempotency, state requirements, or whether it updates existing outlines. The absence of such information impairs an agent's ability to assess consequences.

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

Conciseness3/5

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

The description is a single sentence, which is concise and front-loaded. However, it is too terse and lacks substance, earning a middle score. It is not verbose, but it sacrifices adequacy for brevity.

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 that the tool has 3 parameters and an output schema, the description is insufficiently complete. It does not explain what a chapter outline entails, how it integrates with the book project, or what the output contains. More context is needed for an agent to use it effectively.

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 input schema has 0% description coverage, and the tool description adds no explanations for parameters like chapter_num, title, or target_words. While parameter names are somewhat self-explanatory, the description fails to provide any additional context, such as units for target_words or constraints on chapter_num.

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 'Register a chapter outline' uses a specific verb and resource, clearly indicating the action and object. It distinguishes from sibling tools like add_character and add_location, which deal with different entities. However, 'register' could be slightly ambiguous without context.

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. Sibling tools exist for adding other elements, but there is no comparative advice or prerequisites mentioned. The description is silent on context of use.

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

add_characterC

Add a character and continuity entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
roleYes
descriptionNo
voice_notesNo
comedy_hookNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior1/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether the tool is read-only, requires permissions, or has side effects. The word 'Add' implies mutation, but no further detail is given.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure. It does not use bullet points or separate key information, making it minimally informative despite efficiency.

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 has five parameters (two required) and an output schema (not visible), the description is severely incomplete. It fails to specify what the tool returns or how parameters affect behavior, requiring the agent to guess.

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?

The description adds no meaning beyond the input schema. Schema description coverage is 0%, meaning the schema has no descriptions, and the tool description does not explain any parameters. This leaves all five parameters—including required ones—completely undocumented.

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 says 'Add a character and continuity entry,' which clearly identifies the tool's main action and resource. However, it fails to clarify what a 'continuity entry' is or how it relates to the character, slightly limiting clarity.

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 its siblings (e.g., add_established_fact, add_running_gag). The description lacks context for appropriate usage, forcing the agent to infer.

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

add_deathC

Schedule a canonical death.

ParametersJSON Schema
NameRequiredDescriptionDefault
characterYes
chapterYes
circumstancesYes
death_styleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. 'Schedule' implies non-immediate action, but no details on side effects, permissions, or what happens after scheduling. The output schema exists but is not referenced.

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

Conciseness2/5

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

The description is extremely short, consisting of three words. While concise, it omits crucial details and does not earn its place by providing meaning beyond the name.

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 four parameters, an output schema, and no annotations, the description fails to provide enough context for correct invocation. The agent has no guidance on parameter formatting, purpose of death_style, or what the output contains.

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 adds no information about the four parameters (character, chapter, circumstances, death_style). The agent must rely only on parameter names, which are insufficient.

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 'Schedule a canonical death' clearly states the action (schedule) and what it acts upon (death). It distinguishes from sibling tools like 'mark_character_dead' by implying a scheduled versus immediate event, though it could be more explicit.

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 on when to use this tool versus alternatives like 'mark_character_dead' or 'add_established_fact'. No conditions for use or exclusions are provided, leaving the agent to infer usage context.

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

add_established_factD
ParametersJSON Schema
NameRequiredDescriptionDefault
factYes
chapterYes
sourceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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?

Tool has no description.

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?

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

add_inventory_itemD

Track an inventory item.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
initial_holderYes
descriptionNo
acquired_chapterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.3/5.0
Behavior1/5

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

With no annotations, the description carries full burden for behavioral disclosure. It fails to mention any side effects, permissions needed, or whether it creates or updates an item. The single word 'Track' is uninformative.

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

Conciseness2/5

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

The description is extremely short but not effectively concise—it sacrifices clarity for brevity. It provides no structured information such as usage examples or parameter hints.

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 has 4 parameters (2 required) and an output schema, the description is grossly incomplete. It fails to explain the tool's purpose or return value, leaving the agent to guess.

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?

The schema has 0% description coverage for parameters, and the tool description does not clarify any parameter meanings. For example, 'initial_holder' and 'acquired_chapter' are left undefined.

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

Purpose2/5

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

The description 'Track an inventory item' is vague and ambiguous. 'Track' could imply monitoring rather than adding, which contradicts the tool name 'add_inventory_item'. It does not clearly state that the tool creates a new inventory record.

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

Usage Guidelines1/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 siblings like 'transfer_item' or 'get_inventory'. There is no mention of prerequisites or context.

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

add_locationD
ParametersJSON Schema
NameRequiredDescriptionDefault
chapterYes
locationYes
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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?

Tool has no description.

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?

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

add_running_gagD

Register a running gag.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
ownerYes
setup_chapterYes
descriptionNo
escalation_patternNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.6/5.0
Behavior1/5

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

With no annotations provided, the description must disclose behavioral traits. 'Register' implies creation, but it does not specify whether the operation is safe, requires permissions, or has any side effects. The description is wholly inadequate for understanding the tool's behavior beyond the name.

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

Conciseness2/5

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

At just five words, the description is extremely concise but to the point of being uninformative. It front-loads the verb and object, but every word is present; however, the brevity sacrifices essential information about parameters and usage.

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 has five parameters, no schema descriptions, no annotations, and only an output schema (which is not described), the one-sentence description fails to cover essential details like what constitutes a running gag, how to fill parameters, or what the output contains. The description is completely insufficient for an LLM to use this tool correctly.

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?

The input schema has zero description coverage for its five parameters, and the tool description adds no meaning to any of them. The agent receives no hints about what 'name', 'owner', 'setup_chapter', etc., represent, making correct invocation unlikely.

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

Purpose3/5

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

The description 'Register a running gag.' uses a specific verb and resource, making the core purpose clear. However, it lacks any additional detail that would help an agent distinguish this tool from siblings like 'fire_gag' or 'get_running_gags', which is a missed opportunity.

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

Usage Guidelines1/5

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 such as 'add_established_fact' or 'add_chapter'. There is no mention of prerequisites, context, or exclusions, leaving the agent to guess.

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

approve_chapterA

Approve chapter; updates continuity. Requires all configured third passes unless force=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
chapter_numYes
forceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It mentions 'updates continuity', indicating a mutation, but lacks details on what continuity entails, side effects, or whether the operation is destructive. Adequate but not rich.

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 sentences: first states action and effect, second gives usage condition. No redundant words; every sentence earns its place.

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?

Given low complexity (2 params, no annotations, output schema exists), description covers core action and key condition. Could explain 'continuity' further, but output schema likely handles return values. Fairly complete.

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

Parameters4/5

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

Schema coverage is 0%, so description must explain parameters. It explains the 'force' parameter as bypassing the third-pass requirement, adding meaning beyond the schema. However, 'chapter_num' is not described, leaving its meaning implicit.

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?

Description clearly states verb 'approve' and resource 'chapter', with added context of updating continuity. However, it does not differentiate from sibling tools like 'diff_chapter' or 'get_chapter_status', which have different purposes.

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?

Explicitly states prerequisite: requires all configured third passes unless force=true. This gives clear context on when to use the tool (after third passes) and the optional bypass. No explicit when-not-to-use, but the condition is informative.

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

check_environmentA

Verify ANTHROPIC_API_KEY and show model / prior-chapter budget / Storywright version.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits. It mentions verification and display but lacks details on side effects, permissions, or error conditions (e.g., missing key).

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 extremely concise (one sentence) with no wasted words; every part is necessary.

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?

Given no parameters and an output schema exists, the description is fairly complete for a simple check tool. It mentions all key outputs, though it could add more about behavior when the key is missing.

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

Parameters5/5

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

With zero parameters, the baseline is 4. The description adds clear meaning by specifying what is checked and displayed, going beyond the empty schema.

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 tool's purpose: verify ANTHROPIC_API_KEY and show model/budget/version. It uses specific verbs and resources, and it's distinct from sibling tools which are all about book/writing operations.

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 context (environment check before other actions) but does not explicitly state when to use vs alternatives or any exclusions.

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

create_book_projectC

Create a new book project under book_projects/ (or STORYWRIGHT_PROJECTS_ROOT). Loads the new project.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYes
book_titleYes
genreNo
authorsNo
projects_rootNo
third_agentsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only mentions creating and loading the project, but omits side effects, permissions, or error handling.

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 two short sentences, front-loaded with purpose, and contains no unnecessary words. It earns its place.

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?

With 6 parameters and no parameter explanations, the description is insufficient for a creation tool. It fails to clarify key fields like project_name vs book_title or the role of optional parameters.

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 tool description does not explain any parameters. The agent receives no meaning beyond parameter names and types.

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 'Create a new book project' with a specific verb and resource, and hints at the directory structure. It is clearly distinct from sibling tools like load_book_project.

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?

The description provides no guidance on when to use this tool versus alternatives (e.g., load_book_project). It lacks context for prerequisites or exclusions.

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

diff_chapterC

Diff current draft vs .prev.md snapshot from last writer overwrite.

ParametersJSON Schema
NameRequiredDescriptionDefault
chapter_numYes
max_linesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 bears full disclosure burden but only mentions the snapshot source; it omits whether the tool is read-only, side effects, performance, or required permissions, providing minimal behavioral insight.

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 of 11 words with no fluff, earning every word's place.

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 having an output schema, the description does not provide enough context about the diff output format, the role of .prev.md, or limits like max_lines behavior, leaving gaps for effective agent 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%; the description fails to explain what chapter_num or max_lines mean, leaving the agent to infer their purpose from the tool name alone, despite having two 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 tool diffs the current draft against a .prev.md snapshot, using a specific verb 'diff' and resource, distinguishing it from sibling tools like get_chapter_status.

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 explicit guidance on when to use this tool versus alternatives; the description only implies usage for comparing drafts without stating when not to use or suggesting other tools.

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

export_manuscriptC

Concatenate approved chapters into one markdown file at project root.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_filenameNoEXPORT-manuscript.md

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states the basic action; lacks disclosure of side effects (overwrite/append), behavior if no approved chapters, or any constraints beyond the schema.

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?

Single sentence, front-loaded with verb and resource, no wasted words. Could be considered too minimal but effective 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?

For a tool with 1 parameter and output schema, the description is adequate but omits important context like handling of existing files or empty chapter list. Acceptable for a straightforward export, but not exhaustive.

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%. The description does not mention the parameter 'output_filename' or its default value, leaving the agent to infer from the schema alone.

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?

Clearly states verb 'concatenate', resource 'approved chapters', output 'one markdown file', and location 'at project root'. Distinguishes from siblings like approve_chapter or scan_manuscript_markers.

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 explicit guidance on when to use this tool versus alternatives, no prerequisites mentioned (e.g., chapters must be approved), and no warning about overwriting existing files.

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

fire_gagD
ParametersJSON Schema
NameRequiredDescriptionDefault
gag_nameYes
chapterYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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?

Tool has no description.

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?

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

get_book_bibleD

Readable bible markdown.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.8/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden. It does not disclose any behavioral traits (e.g., read-only, data source, rate limits). The single phrase offers no insight into how the tool behaves.

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

Conciseness2/5

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

Extremely concise at three words, but under-specific. Conciseness should not sacrifice clarity. The description fails to provide essential context about what the tool does.

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 zero parameters and no annotations, the description should at least clarify the tool's role (e.g., retrieving a project bible). It is incomplete; even though an output schema exists, the purpose remains unclear.

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 input schema has zero parameters and 100% coverage. Baseline is 3. The description adds nothing beyond the schema, but no additional parameter info is needed. However, it could hint at output format or context.

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

Purpose2/5

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

The description 'Readable bible markdown.' is vague and lacks a verb. It doesn't clearly state that the tool retrieves or returns a book bible in markdown format. Compared to sibling tools with clear action verbs, this is insufficient.

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

Usage Guidelines1/5

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

No guidance on when to use this tool versus alternatives like get_project_status or get_continuity_log. The description provides no context about the tool's purpose or appropriate use cases.

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

get_chapter_statusC

Inspect one chapter.

ParametersJSON Schema
NameRequiredDescriptionDefault
chapter_numYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavioral traits, but it does not. It doesn't state whether this is a read-only operation, what happens if the chapter number is invalid, or what output format is expected. The phrase 'Inspect one chapter' implies a safe read, but the agent cannot infer permissions 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.

Conciseness2/5

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

At three words, the description is maximally concise but underspecified. Conciseness should not come at the cost of completeness; every sentence should earn its place, but this description provides no substantive information beyond what the tool name already conveys. It fails to front-load essential usage or behavioral details.

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 has one required parameter, no annotations, and an output schema (which may document return values), the description is still incomplete. It does not explain what 'status' means (e.g., drafted, reviewed, approved) or any prerequisites (e.g., the chapter must exist). The agent cannot safely invoke this tool without additional knowledge.

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?

The schema defines a single parameter 'chapter_num' with no description, and the tool description does not explain its meaning, format, or constraints (e.g., must be a positive integer, corresponds to a chapter currently in the project). With 0% schema description coverage, the description adds zero value for understanding parameters, leaving the agent to guess.

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 'Inspect one chapter' is a clear verb+resource pairing, but it fails to distinguish from sibling tools like get_pipeline_status or check_environment, which also inspect aspects of the book project. The name 'get_chapter_status' adds specificity, but the description doesn't reinforce what makes this tool unique.

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?

The description provides no guidance on when to use this tool vs alternatives. For example, it doesn't indicate that it only retrieves status for a single chapter by number, or that other tools like get_project_status or get_pipeline_status might be more appropriate for other contexts. There is no when-to-use, when-not-to-use, or mention of sibling tools.

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

get_continuity_logC

JSON continuity log.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are present, so the description must bear full burden. It does not explicitly state this is a read-only operation, though the name 'get' implies it. No side effects or safety information is disclosed.

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

Conciseness3/5

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

The description is one short sentence, which is concise but overly brief. It could be expanded with a verb and slight elaboration without becoming verbose.

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 simplicity and the presence of an output schema, the description does not need to detail the return value. However, it lacks context about what a continuity log is or when to call this tool instead of sibling tools like 'get_book_bible' or 'get_inventory'.

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

Parameters4/5

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

There are no parameters, so the baseline is 4. The description adds the value of specifying the output format (JSON), which is not inferred from the schema alone. Since schema coverage is 100%, no further information is needed.

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

Purpose3/5

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

The description 'JSON continuity log' combined with the tool name clarifies that it retrieves a continuity log in JSON format. However, it lacks an explicit verb like 'retrieve' or 'get', making it slightly ambiguous as a standalone statement. It does not differentiate from siblings like 'get_book_bible'.

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

Usage Guidelines1/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 are multiple get_* tools on the server, but the description gives no context for selection.

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

get_inventoryD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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?

Tool has no description.

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?

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

get_living_charactersD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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?

Tool has no description.

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?

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

get_pipeline_statusB

Next MCP tool to call per chapter (guarded pipeline hints).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only, side effects, or auth needs. 'Guarded' hints at some constraint but 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 sentence, concise and front-loaded, but it sacrifices clarity for brevity.

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 complexity of sibling pipeline tools and the presence of an output schema, the description lacks detail on return values, pipeline context, and how it differs from tools like get_chapter_status.

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

Parameters4/5

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

The tool has zero parameters, so the description does not need to add parameter info. Baseline 4 applies as schema coverage is trivial.

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

Purpose3/5

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

The description states the tool is the 'next MCP tool to call per chapter' and provides 'guarded pipeline hints', indicating a role in a sequence but not explicitly stating what it does (e.g., retrieve status). The phrase 'guarded pipeline hints' is ambiguous.

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 per chapter and as a next step in a pipeline, but lacks explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned among many sibling tools.

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

get_project_statusB

Markdown table of chapters, statuses, editor verdicts, third-pass completion.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description should disclose side effects, permissions, or if the operation is read-only. It simply states it returns data, implying it's safe but not explicitly. Fails to add value beyond the obvious.

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?

A single, straightforward sentence. It is concise and to the point, though it could be more structured (e.g., bullet list of contents) without loss of clarity.

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 zero parameters and an output schema, the description is minimally complete. However, it doesn't explain the Markdown format or any edge cases (e.g., empty project). Could be more informative.

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

Parameters4/5

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

No parameters exist, so the description needs no additional parameter explanation. Schema coverage is 100% (empty), so baseline is 4. Nothing to deduct.

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 specifies that the tool returns a Markdown table containing chapters, statuses, editor verdicts, and third-pass completion. It distinguishes from siblings like 'get_pipeline_status' by focusing on per-chapter editorial details.

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 on when to use this tool versus alternatives (e.g., 'get_chapter_status' or 'get_pipeline_status'). The description only states what it returns without context about its appropriate use cases.

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

get_running_gagsD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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?

Tool has no description.

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?

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

list_third_agentsA

List built-in third-pass agents.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries full behavioral transparency burden. It states the tool lists agents, which implies a read operation, but does not explicitly mention non-destructiveness, read-only nature, or any constraints. For a simple list tool, this is adequate but not exemplary.

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 no extraneous words. It is front-loaded with the verb and object, making it immediately understandable.

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?

Given the tool has no parameters and an output schema exists, the description is sufficient for its purpose. It clearly states what the tool does, though it could provide more context about what constitutes a 'built-in third-pass agent'.

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

Parameters4/5

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

The tool has no parameters (schema coverage 100%), so the baseline score is 4 as per guidelines. The description adds no parameter-specific information, but none is needed since no parameters exist.

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 'List built-in third-pass agents' is a specific verb+resource combination that clearly communicates the tool's action and target. It distinguishes itself from sibling tools like 'run_third_agent' by focusing on listing rather than running.

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?

The description provides no guidance on when to use this tool versus alternatives such as 'run_third_agent' or other list tools. It lacks exclusions or context for optimal usage, forcing the agent to infer intent.

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

load_book_projectB

Load an existing project from disk (prefer absolute paths).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. It only says 'load...from disk' without mentioning side effects (e.g., does it set the current project?), permissions, or error conditions. This 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.

Conciseness5/5

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

Single sentence with essential advice. No redundant text.

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?

Although an output schema exists, the description omits critical context: what happens upon loading (e.g., does it overwrite current state?), what is returned, and prerequisites. Incomplete for a state-changing operation.

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?

Single parameter 'project_path' with no schema description. The description adds 'prefer absolute paths' but does not explain expected format, supported path types, or behavior if path is invalid.

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 'Load an existing project from disk', providing a specific verb and resource. It distinguishes from sibling tools like create_book_project and load_last_book_project.

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 on when to use this tool versus alternatives such as load_last_book_project or create_book_project. The preference for absolute paths is a minor hint but not sufficient.

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

load_last_book_projectA

Load the last successfully opened project from ~/.storywright/last_project.json if valid.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 burden. It mentions validity condition ('if valid') but does not disclose what happens on failure, side effects, or access permissions. This is insufficient for a tool with no annotation support.

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 focused sentence with no extraneous words. It is perfectly concise and 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 has no parameters and an output schema exists, the description captures the essential purpose. However, it lacks detail on edge cases (e.g., file not found) and behavioral traits, making it only moderately complete.

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

Parameters4/5

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

There are zero parameters, so schema coverage is trivially 100%. The description adds meaning about the file source and validity check, which is valuable beyond the empty schema. Baseline 4 is appropriate given no 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 verb 'load' and the resource 'last successfully opened project', with a specific file path. It distinguishes from sibling tools like load_book_project which likely load by name, making the purpose very clear.

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 when to use (to resume the last project) but does not explicitly state when not to use or provide alternatives. The context hints at a convenience function, but explicit guidance is missing.

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

mark_character_deadD
ParametersJSON Schema
NameRequiredDescriptionDefault
character_nameYes
chapterYes
causeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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?

Tool has no description.

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?

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

plan_bookC

Phased book bible planning (identity→…→tone); completes with sync to project config.

ParametersJSON Schema
NameRequiredDescriptionDefault
phaseNo
dataNo
resetNo
statusNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so description bears full burden. It mentions 'completes with sync to project config' but does not disclose whether it overwrites, reversibility, or side effects of partial phases.

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

Conciseness3/5

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

One sentence, but the 'identity→…→tone' is cryptic and not fully informative. Could be clearer with minimal extra 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?

With 0% schema descriptions and no annotations, the description is too brief to compensate. Output schema exists but unknown; parameters are unexplained.

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% and the description does not explain any of the four parameters (phase, data, reset, status). It only hints at phases in the purpose but not parameter mapping.

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 tool does phased book bible planning from identity to tone, and distinguishes it from retrieval (get_book_bible) and creation (create_book_project) siblings.

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?

Implies usage for phased planning but lacks explicit guidance on when to use or avoid this tool versus other planning or update tools in the sibling list.

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

request_revisionC

Send chapter back to writer with notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
chapter_numYes
notesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations and a minimal description, the tool provides no details on behavioral traits like whether the chapter is blocked pending revision, if the action is reversible, or what state changes occur. The description merely states the action without context.

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, well-structured sentence that wastes no words. However, it is excessively terse, lacking important context that could be included without significantly increasing length.

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 presence of sibling tools suggesting a pipeline, the description fails to mention that a chapter must exist and be in a state that allows revision. It also does not reference the output schema (which exists), leaving the agent without expected return value information.

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?

Schema description coverage is 0%, and the description adds no meaning to the parameters. Parameter names 'chapter_num' and 'notes' are self-explanatory, but the description does not clarify expected formats (e.g., what constitutes valid notes) or constraints (e.g., chapter_num range).

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 'Send chapter back to writer with notes' clearly states the action (send back), the resource (chapter), the target (writer), and the content (notes). It effectively distinguishes from sibling tools like 'approve_chapter' (which approves) and 'add_chapter' (which creates).

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 such as 'approve_chapter' or 'run_editor_review'. There is no mention of prerequisites (e.g., chapter must exist) or exclusions, leaving the agent to infer usage from the tool name and context.

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

run_editor_reviewC

Editor pass after writer.

ParametersJSON Schema
NameRequiredDescriptionDefault
chapter_numYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations, the description provides minimal behavioral context—does not disclose whether the tool is destructive, asynchronous, or what side effects occur. Output schema exists but is not referenced in the description.

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

Conciseness2/5

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

The description is extremely short (4 words) but does not effectively convey necessary information, making it under-specified rather than concise.

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?

For a tool with one parameter and no annotations, the description lacks essential details about the review process, expected output, and relation to sibling tools, creating potential for misuse.

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 only parameter (chapter_num) has no description in the schema (0% coverage) and the tool description does not explain its meaning or format, leaving the agent to infer from the parameter name alone.

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

Purpose3/5

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

The description 'Editor pass after writer' vaguely indicates the tool performs an editorial review on a chapter after the writer's pass, but lacks a clear action verb and does not differentiate from sibling tools like 'approve_chapter' or 'request_revision'.

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 on when to use this tool versus alternatives. The phrase 'after writer' implies a condition but does not explicitly state prerequisites or exclusions.

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

run_third_agentB

Third-pass reviewer (comedy, pacing, …). Repeat until all project.third_agents covered.

ParametersJSON Schema
NameRequiredDescriptionDefault
chapter_numYes
agent_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It describes the tool as a reviewer but does not indicate whether it modifies state, requires specific permissions, or is read-only. This is a significant gap for a mutation-related tool.

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 concise, with one sentence and a repetition instruction. It is front-loaded with the purpose, but it sacrifices necessary detail for brevity.

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 existence of an output schema (not shown), the description does not explain what the tool returns or the scope of 'comedy, pacing, …'. The tool's overall behavior remains vague, and the iteration condition is noted but incomplete.

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?

The input schema has two parameters (chapter_num and agent_type) with 0% schema description coverage. The description provides no explanation of what these parameters mean or how they affect the review, leaving the agent to guess.

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 it is a third-pass reviewer for comedy and pacing, distinguishing it from sibling tools like 'run_editor_review' and 'run_writer_agent' which likely serve different review stages or aspects.

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 explicitly instructs to repeat until all project.third_agents are covered, providing clear iteration guidance. However, it lacks explicit 'when not to use' or alternatives beyond this condition.

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

run_writer_agentA

Draft chapter via Claude (DRAW → AWAITING_EDITOR). Requires ANTHROPIC_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
chapter_numYes
chapter_briefNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Without annotations, the description carries full burden. It discloses the state transition and API key requirement, but does not mention side effects, idempotency, or whether it creates/updates existing data. The term 'Draft' implies writing but lacks depth on behavioral traits.

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 extremely concise and front-loaded, containing only essential information in two short clauses. Every part earns its place with no redundant text.

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 has two parameters, an output schema (not described), and many siblings, the description is adequate but lacks details on prerequisites (beyond API key), workflow integration, and what the output represents. It covers the core action but omits operational context.

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 input schema has 0% description coverage, and the description adds no details about the parameters (chapter_num, chapter_brief). Agents must rely solely on parameter names, which are somewhat self-explanatory but lack the context that a good description could provide.

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 tool drafts a chapter using Claude, with a specific verb 'Draft' and resource 'chapter'. The state transition 'DRAW → AWAITING_EDITOR' adds further specificity, distinguishing it from generic drafting tools.

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 mentions the requirement for ANTHROPIC_API_KEY, but provides no explicit guidance on when to use this tool versus sibling tools like run_editor_review or run_third_agent. Usage is implied (when you want to draft a chapter) but not contrasted with alternatives.

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

scan_manuscript_markersA

Find TODO/FIXME/DRAFT/TBD/XXX markers in manuscript markdown.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/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 full burden for behavioral disclosure. It only states the tool finds markers but does not indicate whether it modifies anything, requires specific permissions, or has side effects. The name 'scan' suggests read-only, but this is not explicit.

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 is front-loaded with the core action. Every word carries meaning, and there is no wasted text. It is appropriately sized for the tool's simplicity.

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?

Given the tool has no parameters and an output schema exists, the description is reasonably complete. It specifies the markers it scans for. However, it could briefly mention what happens when no markers are found or that it returns a list, but this is not critical for such a simple tool.

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

Parameters4/5

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

The tool has zero parameters with 100% schema coverage (empty schema). According to guidelines, 0 parameters baseline is 4. The description adds no additional parameter information, which is acceptable since there are no parameters to document.

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 tool's purpose: finding TODO/FIXME/DRAFT/TBD/XXX markers in manuscript markdown. It uses a specific verb ('Find') and resource ('markers'), and the list of markers distinguishes it from sibling tools that serve different manuscript-related functions.

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 does not explicitly state when to use this tool versus alternatives. While it's implied that it's for scanning markers, there is no guidance on context or exclusions. The tool's simplicity mitigates the need for extensive guidelines, but it remains a gap.

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

search_manuscriptC

Substring search across manuscript/*.md.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
file_globNo*.md

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states 'substring search', missing details on case sensitivity, regex support, or side effects. Does not explicitly confirm read-only behavior, though it can be inferred.

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?

Extremely concise single sentence. No wasted words, but could benefit from slight expansion for clarity. Structure is minimal yet functional.

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 having an output schema, the description does not mention what the tool returns (e.g., matching files, lines). It omits essential context about the search behavior and the parameters, leaving significant gaps for the agent.

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%. No parameter explanations in the description. The query and file_glob parameters are not described at all, so the description adds no meaning beyond the schema defaults.

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?

Description clearly states it performs substring search on manuscript/*.md files, with a specific verb and resource. No explicit sibling differentiation, but among many manuscript tools, the search function stands out.

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?

No explicit when-to-use or alternative suggestions. The context implies it is for finding text within manuscript files, but lacks guidance on when not to use it or what other tools might be preferable for similar tasks.

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

start_chapterB

Open drafting for a chapter (NOT_STARTED → DRAFT).

ParametersJSON Schema
NameRequiredDescriptionDefault
chapter_numYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. Only states the state transition; does not disclose side effects, permissions, idempotency, or behavior if chapter is already in DRAFT state.

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?

Single sentence that is front-loaded with the action and includes the key state transition. No unnecessary words.

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 simple nature of the tool (one param, state transition), the description is minimally adequate. However, it lacks details about the output schema (though present), error conditions, and idempotency, which would be helpful for an agent.

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%, but the single parameter 'chapter_num' is self-explanatory due to the context 'a chapter'. Description adds no extra semantics (e.g., valid range or format) beyond what 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?

Description clearly states the action ('Open drafting') and the specific resource ('a chapter'), and explicitly defines the state transition (NOT_STARTED → DRAFT). This distinguishes it from sibling tools like 'approve_chapter' or 'diff_chapter'.

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 on when to use this tool versus alternatives, such as 'approve_chapter' or 'request_revision'. No mention of preconditions (e.g., chapter must be in NOT_STARTED state) or exclusions.

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

transfer_itemD
ParametersJSON Schema
NameRequiredDescriptionDefault
item_nameYes
new_holderYes
chapterYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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?

Tool has no description.

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?

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

update_planC

Patch book_bible.json; may sync characters/deaths/gags into project.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionNoall
changesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided; description only vaguely mentions 'may sync' without specifying side effects, permissions, or behavior beyond patching.

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

Conciseness3/5

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

Single sentence is concise but lacks necessary details; not overly verbose but incomplete.

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 low schema coverage and no annotations, description fails to provide enough context for a tool with multiple parameters and complex sibling tools.

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%, and description does not explain what 'section' or 'changes' mean, leaving parameters meaningless.

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?

Description clearly states it patches book_bible.json and may sync characters/deaths/gags, distinguishing it from sibling tools that add individual entities.

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 on when to use this tool versus alternatives like add_character or plan_book; lacks context for 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.

  1. 35 tool updatesv0.2.0
    • First observedadd_chapter
    • First observedadd_character
    • First observedadd_death
    • First observedadd_established_fact
    • First observedadd_inventory_item
    • First observedadd_location
    • First observedadd_running_gag
    • First observedapprove_chapter
    • First observedcheck_environment
    • First observedcreate_book_project
    • First observeddiff_chapter
    • First observedexport_manuscript
    • First observedfire_gag
    • First observedget_book_bible
    • First observedget_chapter_status
    • First observedget_continuity_log
    • First observedget_inventory
    • First observedget_living_characters
    • First observedget_pipeline_status
    • First observedget_project_status
    • First observedget_running_gags
    • First observedlist_third_agents
    • First observedload_book_project
    • First observedload_last_book_project
    • First observedmark_character_dead
    • First observedplan_book
    • First observedrequest_revision
    • First observedrun_editor_review
    • First observedrun_third_agent
    • First observedrun_writer_agent
    • First observedscan_manuscript_markers
    • First observedsearch_manuscript
    • First observedstart_chapter
    • First observedtransfer_item
    • First observedupdate_plan

TDQS

C2/5.0

Scored across 35 tools

Disambiguation2/5

Many tool descriptions are blank or minimal (e.g., add_location, fire_gag, get_inventory), and several tools have overlapping purposes (e.g., add_death vs mark_character_dead, add_running_gag vs fire_gag). This makes it difficult for an agent to distinguish between tools.

Naming Consistency3/5

Tool names follow a verb_noun pattern but use a wide variety of verbs (add, approve, check, create, diff, export, fire, get, list, load, mark, plan, request, run, scan, search, start, transfer, update). This variety, while not chaotic, lacks a strong consistent theme.

Tool Count2/5

35 tools is far above the recommended range of 3-15 for a well-scoped set, and significantly exceeds the 25+ threshold. The high count suggests over-specialization or redundant functionality.

Completeness3/5

The tool set covers many aspects of story writing (chapters, characters, inventory, gags, planning, etc.) but lacks basic CRUD operations such as delete or update for most resources, and has redundant tools (e.g., add_death and mark_character_dead). Some obvious gaps in lifecycle management are present.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A local MCP server for maintaining internal consistency in fiction writing, with constraint-based fact checking, branching, and author-oracle conflict resolution.
    27
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for Nyxdoc, a document system where humans and external agents collaborate on documents with version history, agent to-dos, and workspace permissions.
    MIT