Skip to main content
Glama
cordlesssteve

Document Organizer MCP Server

init_project_docs

Set up standardized documentation structure for projects by creating organized folders and templates based on project type and name.

Instructions

Initialize Universal Project Documentation Standard structure

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
directory_pathYesPath to project directory to initialize
project_nameYesName of the project for templates
project_typeNoType of project (e.g., 'web-app', 'api', 'library')

Implementation Reference

  • Handler for 'document_organizer__init_project_docs' tool (matches 'init_project_docs'): parses input, creates documentation directories (docs/plans/*, docs/progress), generates and writes template MD files (CURRENT_STATUS.md, ACTIVE_PLAN.md, .claude-instructions.md), skips existing files, returns JSON summary
    case "document_organizer__init_project_docs": {
      const { directory_path, project_name, project_type } = InitProjectDocsArgsSchema.parse(args);
      const validatedPath = validatePath(directory_path);
      
      // Create required directory structure
      const requiredDirs = [
        'docs',
        'docs/plans',
        'docs/plans/archived',
        'docs/plans/superseded',
        'docs/progress'
      ];
      
      for (const dir of requiredDirs) {
        await fs.mkdir(path.join(validatedPath, dir), { recursive: true });
      }
      
      // Generate templates
      const currentStatusContent = generateCurrentStatusTemplate(project_name, project_type);
      const activePlanContent = generateActivePlanTemplate(project_name);
      const claudeInstructionsContent = generateClaudeInstructionsTemplate(project_name, project_type);
      
      // Write required files
      const filesToCreate = [
        { path: 'CURRENT_STATUS.md', content: currentStatusContent },
        { path: 'ACTIVE_PLAN.md', content: activePlanContent },
        { path: '.claude-instructions.md', content: claudeInstructionsContent }
      ];
      
      const createdFiles = [];
      const skippedFiles = [];
      
      for (const file of filesToCreate) {
        const fullPath = path.join(validatedPath, file.path);
        try {
          // Check if file already exists
          await fs.access(fullPath);
          skippedFiles.push(file.path);
        } catch {
          // File doesn't exist, create it
          await fs.writeFile(fullPath, file.content, 'utf-8');
          createdFiles.push(file.path);
        }
      }
      
      return {
        content: [
          {
            type: "text",
            text: JSON.stringify({
              project_initialized: true,
              project_path: validatedPath,
              directories_created: requiredDirs,
              files_created: createdFiles,
              files_skipped: skippedFiles,
              message: `Project documentation standard initialized for ${project_name}`
            }, null, 2)
          }
        ]
      };
    }
  • Zod input schema validation for init_project_docs tool parameters: directory_path (required), project_name (required), project_type (optional)
    const InitProjectDocsArgsSchema = z.object({
      directory_path: z.string().describe("Path to project directory to initialize with documentation standard"),
      project_name: z.string().describe("Name of the project for templates"),
      project_type: z.string().optional().describe("Type of project (e.g., 'web-app', 'api', 'library')")
    });
  • src/index.ts:1331-1334 (registration)
    MCP tool registration entry for 'document_organizer__init_project_docs' (init_project_docs), with description and schema reference
      name: "document_organizer__init_project_docs",
      description: "πŸ“‹ INITIALIZE PROJECT DOCUMENTATION - Create Universal Project Documentation Standard structure with required files (CURRENT_STATUS.md, ACTIVE_PLAN.md, .claude-instructions.md) and directory structure. Generates templates customized for the specific project type and creates docs/plans/archived, docs/progress directories for proper documentation management.",
      inputSchema: zodToJsonSchema(InitProjectDocsArgsSchema) as ToolInput,
    },
  • Helper function generating content template for CURRENT_STATUS.md file used by the tool handler
    function generateCurrentStatusTemplate(projectName: string, projectType?: string): string {
      const currentDate = new Date().toISOString().split('T')[0];
      return `# ${projectName} - Current Project Status
    **Last Updated:** ${currentDate}  
    **Active Plan:** [ACTIVE_PLAN.md](./ACTIVE_PLAN.md)  
    **Current Branch:** main  
    **Project Focus:** ${projectType || 'Development project'}  
    
    ## What's Actually Done βœ…
    - [ ] Initial project setup
    
    ## In Progress 🟑
    - [ ] Document project requirements
    - [ ] Set up development environment
    
    ## Blocked/Issues ❌
    - [ ] No current blockers identified
    
    ## Next Priority Actions
    1. Define project scope and requirements
    2. Set up development environment
    3. Create initial architecture
    
    ## Component/Feature Status Matrix
    | Component | Design | Backend | Frontend | Testing | Status |
    |-----------|--------|---------|----------|---------|--------|
    | Core Setup | 🟑 | ❌ | ❌ | ❌ | 25% Complete |
    
    ## Recent Key Decisions
    - **${currentDate}:** Implemented Universal Project Documentation Standard
    
    ## Development Environment Status
    - **Development Setup:** 🟑 In Progress
    `;
  • Helper function generating content template for ACTIVE_PLAN.md file used by the tool handler
    function generateActivePlanTemplate(projectName: string): string {
      const currentDate = new Date().toISOString().split('T')[0];
      return `# ${projectName} Active Development Plan
    **Status:** ACTIVE  
    **Created:** ${currentDate}  
    **Last Updated:** ${currentDate}  
    **Supersedes:** N/A (Initial plan)  
    
    ## Current Focus: Initial Project Setup
    
    ## Immediate Priorities (Next 1-2 Weeks)
    
    ### 1. Project Foundation (High Priority)
    **Status:** 0% Complete  
    **Remaining Work:**
    - [ ] Define project scope and objectives
    - [ ] Set up development environment
    - [ ] Create initial architecture documentation
    - [ ] Establish development workflow
    
    **Files to Work On:**
    - \`README.md\` - Project overview and setup instructions
    - \`.gitignore\` - Version control configuration
    - \`package.json\` or equivalent - Project dependencies
    
    ### 2. Documentation Setup (Medium Priority)
    **Status:** 50% Complete  
    **Remaining Work:**
    - [ ] Complete project documentation structure
    - [ ] Create development guidelines
    - [ ] Set up automated documentation
    
    ## Success Criteria
    - [ ] Development environment is fully functional
    - [ ] Project structure is established
    - [ ] Initial documentation is complete
    - [ ] Development workflow is defined
    
    ## Weekly Milestones
    ### Week 1 (${currentDate})
    - [ ] Complete project setup
    - [ ] Establish documentation standard
    - [ ] Define initial architecture
    
    ## Risk Mitigation
    ### High-Risk Items
    1. **Scope Creep:** Project requirements may expand
       - *Mitigation:* Define clear boundaries and priorities
       - *Fallback:* Phase development approach
    
    ## Contact Points
    ### Immediate Next Actions (This Week)
    1. **Priority 1:** Define project scope and requirements
    2. **Priority 2:** Set up development environment
    3. **Priority 3:** Create initial architecture documentation
    `;
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool initializes a structure but doesn't explain what that entailsβ€”e.g., whether it creates files, modifies existing ones, requires specific permissions, or has side effects. This leaves critical behavioral traits unspecified, making it inadequate for a mutation tool.

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, efficient sentence that directly states the tool's purpose without any fluff. It's appropriately sized and front-loaded, making it easy to parse quickly, which earns the highest score for conciseness.

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 initializing a project structure (a mutation operation), the lack of annotations and output schema means the description should provide more context. It fails to cover behavioral aspects, return values, or error handling, making it incomplete for effective tool selection and invocation.

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 100% description coverage, clearly documenting all three parameters. The description adds no additional meaning beyond the schema, such as explaining how parameters interact or providing examples. Thus, it meets the baseline score where the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('Initialize') and the resource ('Universal Project Documentation Standard structure'), making the purpose understandable. However, it doesn't differentiate this tool from its siblings like 'organize_structure' or 'full_workflow', which might have overlapping functionality, so it doesn't reach the highest score.

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. It doesn't mention prerequisites, context, or exclusions, leaving the agent to guess based on the name alone. This lack of explicit or implied usage instructions results in a low score.

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

Install Server

Other Tools

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/cordlesssteve/document-organizer-mcp'

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