get_project_status
Retrieve a Markdown table showing the current status of each chapter, including editor verdicts and third-pass completion, to track progress through the writing pipeline.
Instructions
Markdown table of chapters, statuses, editor verdicts, third-pass completion.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- src/storywright_mcp/workflow.py:141-155 (handler)Core implementation of get_project_status. Requires a loaded project, then builds a Markdown table with columns for chapter number, title, target words, status, editor verdict, and third-pass completions. Returns a string for the MCP tool.
def get_project_status() -> str: proj, _ = require_project() lines = [f"# {proj.name}\n", f"Genre: {proj.genre}\n\n"] if not proj.chapters: lines.append("No chapters — use add_chapter.\n") return "".join(lines) lines.append("| # | Title | Words | Status | Editor verdict | Third passes |\n") lines.append("|---:|---|---:|---|---|---|\n") for ch in sorted(proj.chapters, key=lambda c: c.num): tp = ", ".join(ch.third_pass_completed) or "—" lines.append( f"| {ch.num} | {ch.title} | {ch.target_words} | {ch.status.value} | " f"{ch.editor_verdict or '—'} | {tp} |\n" ) return "".join(lines) - src/storywright_mcp/app.py:56-59 (registration)Registers the get_project_status FastMCP tool using the @mcp.tool() decorator. The async function delegates to workflow.get_project_status().
@mcp.tool() async def get_project_status() -> str: """Markdown table of chapters, statuses, editor verdicts, third-pass completion.""" return workflow.get_project_status()