Skip to main content
Glama
xiaolai
by xiaolai

generate_progress_report

Create progress dashboards for writing projects by tracking word counts, analyzing manuscript directories, and monitoring completion against goals.

Instructions

Create progress dashboard

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_pathNoPath to manuscript directory (defaults to current directory)
target_word_countNoTarget word count goal
scopeNoFile scope pattern
include_todosNoInclude TODO count

Implementation Reference

  • The core handler function implementing generate_progress_report tool logic. Fetches writing stats and TODOs, computes progress percentage against optional target word count, and returns a summary report.
    private async generateProgressReport(args: Record<string, unknown>) {
      const targetWordCount = args.target_word_count as number | undefined;
      const scope = args.scope as string | undefined;
      const includeTodos = (args.include_todos as boolean) ?? true;
    
      const stats = await this.writersAid.getStats({ scope });
      const todos = includeTodos ? await this.writersAid.findTodos({}) : [];
    
      const progress = targetWordCount
        ? (stats.totalWords / targetWordCount) * 100
        : 0;
    
      return {
        totalWords: stats.totalWords,
        targetWordCount,
        progress: Math.round(progress),
        todosRemaining: includeTodos ? todos.length : undefined,
        filesCount: stats.totalFiles,
      };
    }
  • The JSON schema definition for the generate_progress_report tool, specifying input parameters like target_word_count, scope, and include_todos.
    {
      name: "generate_progress_report",
      description: "Create progress dashboard",
      inputSchema: {
        type: "object",
        properties: {
          project_path: { type: "string", description: "Path to manuscript directory (defaults to current directory)" },
          target_word_count: { type: "number", description: "Target word count goal" },
          scope: { type: "string", description: "File scope pattern" },
          include_todos: { type: "boolean", description: "Include TODO count", default: true },
        },
      },
    },
  • The dispatch case in WriterToolHandlers.handleTool() method that registers and routes calls to the generateProgressReport handler.
    case "generate_progress_report":
      return this.generateProgressReport(args);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xiaolai/claude-writers-aid-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server