Skip to main content
Glama
agilesix

VA Form Generation MCP Server

by agilesix

generate_orchestration_prompt

Create orchestration prompts to launch agents for auditing and fixing VA forms according to VA.gov standards and best practices.

Instructions

Generate the full orchestration prompt to launch all 4 agents

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
form_numberYesVA form number
workspace_pathYesPath to vets-website workspace
pdf_pathNoPath to PDF file

Implementation Reference

  • The handler function for 'generate_orchestration_prompt' which constructs the agent execution orchestration guide.
        case 'generate_orchestration_prompt': {
          const { form_number, workspace_path, pdf_path } = args;
          const formPath = path.join(workspace_path, 'src/applications/simple-forms', form_number);
    
          const orchestrationPrompt = `# VA Form ${form_number} - Orchestration Prompt
    
    Execute the 4-agent plan to audit and fix this form following 21P-601 best practices.
    
    ## Form Information
    - **Form Number:** ${form_number}
    - **Form Path:** ${formPath}
    - **PDF Path:** ${pdf_path || 'Auto-detect from form directory'}
    - **Reference:** src/applications/simple-forms/21p-601/
    
    ## Agent Execution Plan
    
    ### Phase 1: Launch 3 Agents in PARALLEL
    
    Use a **single message with 3 Task tool calls** to launch these agents simultaneously:
    
    #### Agent 1: Component Pattern Auditor
    - **Type:** Explore agent
    - **Thoroughness:** medium
    - **Task:** Search all files in ${formPath}/pages/ for:
      - Complex yesNoUI patterns (should be simple form)
      - Old import paths (should be 'platform/forms-system/src/js/web-component-patterns')
      - Uncalled radioSchema (should be radioSchema([...]))
      - Duplicate imports
    - **Deliverable:** List of files to fix with specific issues
    
    #### Agent 2: Architecture Compliance
    - **Type:** General-Purpose agent
    - **Task:** Audit and rewrite core architecture files:
      - containers/IntroductionPage.jsx (content structure, OMB info from PDF)
      - containers/ConfirmationPage.jsx (use ConfirmationView component)
      - config/submit-transformer.js (21P-601 pattern with helpers)
      - config/prefill-transformer.js (access user profile from state)
      - config/form.js (add prefillEnabled, savedFormMessages, fullNamePath)
    - **Deliverable:** Rewritten files following 21P-601 patterns
    
    #### Agent 3: Plain Language & PDF Accuracy
    - **Type:** General-Purpose agent
    - **Task:**
      - Read PDF at ${pdf_path || formPath + '/*.pdf'} to understand form purpose
      - Verify all field labels match PDF exactly
      - Check VA.gov plain language standards (conversational tone, you/we pronouns)
      - Fix person-centered title (e.g., "Verify your..." not "Report for VA")
      - Fix apostrophe syntax (use double quotes)
    - **Deliverable:** Updated content following VA.gov standards
    
    ### Phase 2: Wait for Agents 1-3 to Complete
    
    ### Phase 3: Launch Agent 4 SEQUENTIALLY
    
    After agents 1-3 finish, launch Agent 4:
    
    #### Agent 4: Integration Validator
    - **Type:** General-Purpose agent
    - **Task:**
      - Run schema validation (grep for uncalled radioSchema)
      - Check apostrophe syntax
      - Verify form loads without errors
      - Validate conditional logic matches PDF
      - Report any remaining issues
    - **Deliverable:** Validation report with any outstanding issues
    
    ## Expected Results
    
    After completion, the form should have:
    - ✅ No schema validation errors
    - ✅ All components use 21P-601 patterns
    - ✅ IntroductionPage with proper structure and OMB info
    - ✅ ConfirmationPage using ConfirmationView
    - ✅ Transformers following 21P-601 pattern
    - ✅ form.js with fullNamePath (enables signature)
    - ✅ All content follows VA plain language
    - ✅ Field labels match PDF exactly
    - ✅ No apostrophe syntax errors
    
    ## Begin Execution
    
    Launch agents 1, 2, 3 in parallel now (single message with 3 Task calls).
    `;
    
          return {
            content: [
              {
                type: 'text',
                text: orchestrationPrompt,
              },
            ],
          };
        }
  • index.js:135-155 (registration)
    Registration block for the 'generate_orchestration_prompt' tool in the MCP server.
      name: 'generate_orchestration_prompt',
      description: 'Generate the full orchestration prompt to launch all 4 agents',
      inputSchema: {
        type: 'object',
        properties: {
          form_number: {
            type: 'string',
            description: 'VA form number',
          },
          workspace_path: {
            type: 'string',
            description: 'Path to vets-website workspace',
          },
          pdf_path: {
            type: 'string',
            description: 'Path to PDF file',
          },
        },
        required: ['form_number', 'workspace_path'],
      },
    },
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 mentions generating a prompt but doesn't explain what the prompt does, how it's used, or any side effects like permissions needed, rate limits, or output format. This leaves significant gaps for a tool that likely orchestrates complex agent workflows.

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 wasted words. It is appropriately sized and front-loaded, making it easy to understand at a glance.

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 implied by orchestrating multiple agents and the lack of annotations or output schema, the description is insufficient. It doesn't explain what the generated prompt contains, how it's structured, or what happens after generation, leaving critical context gaps for effective tool use.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters (form_number, workspace_path, pdf_path) with descriptions. The tool description adds no additional meaning or context about these parameters beyond what the schema provides, meeting the baseline for high coverage.

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 tool's purpose: 'Generate the full orchestration prompt to launch all 4 agents.' It specifies the action ('generate') and the resource ('orchestration prompt'), though it doesn't explicitly differentiate from sibling tools like 'get_agent_prompt' or 'audit_form'.

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. The description lacks context about prerequisites, timing, or comparisons to sibling tools such as 'get_agent_prompt' or 'validate_form', leaving usage unclear.

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/agilesix/va-form-generation-mcp'

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