VA Form Generation MCP Server
# VA Form Generation MCP Server
**External MCP server for VA form generation automation** - completely separate from the VA codebase, works with any vets-website workspace.
## šÆ Purpose
This MCP server provides tools and resources for auditing and fixing scaffolded VA forms to ensure they follow 21P-601 best practices and VA.gov content standards.
**Key Benefits:**
- ā
**External** - Lives outside VA repo, no code review needed
- ā
**Reusable** - Works with ANY vets-website workspace
- ā
**Team-friendly** - Share across your entire team
- ā
**Version controlled** - Track improvements separately
---
## š Quick Start
### 1. Install
```bash
cd ~/va-form-generation-mcp
npm install
```
### 2. Configure Your Claude Environment
Choose the platform(s) you use:
#### š„ļø Claude Desktop
Add to your `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"va-form-generation": {
"command": "node",
"args": [
"/Users/YOUR_USERNAME/va-form-generation-mcp/index.js"
]
}
}
}
```
**Replace `YOUR_USERNAME`** with your actual username!
**Then restart Claude Desktop** - the MCP server will automatically connect.
---
#### š» Claude Code (VS Code Extension)
Create or update `.mcp.json` in your **vets-website workspace root**:
```json
{
"mcpServers": {
"va-form-generation": {
"command": "node",
"args": ["/Users/YOUR_USERNAME/va-form-generation-mcp/index.js"]
}
}
}
```
**Also update** `.claude/settings.local.json` to enable the MCP server:
```json
{
"permissions": {
"allow": [
"Read(//Users/YOUR_USERNAME/va-form-generation-mcp/**)"
]
},
"enableAllProjectMcpServers": true
}
```
**Then reload your VS Code window** - Claude Code will detect and load the MCP server.
---
#### š Cursor (Claude Code in Cursor)
Same as Claude Code above - create `.mcp.json` in your workspace root and update `.claude/settings.local.json`.
**Then reload Cursor** to activate the MCP server.
---
#### š¬ ChatGPT
ChatGPT does not currently support MCP servers. However, you can:
1. Copy the templates from `~/va-form-generation-mcp/templates/`
2. Paste them directly into ChatGPT conversations
3. Or use GPT Actions (requires custom GPT with API access)
---
### 3. Verify Setup
In Claude Desktop, Claude Code, or Cursor:
```
Show me all available tools from the va-form-generation MCP server
```
You should see 5 tools listed.
### 4. Use It!
```
Use the va-form-generation MCP server to audit form 21p-0516 in /Users/aponce/Workspaces/vets-website
```
---
## š ļø Available Tools
### `audit_form`
Generate comprehensive audit report for a scaffolded form.
**Usage:**
```
Audit form 21p-0516 using the MCP server
Workspace: /Users/aponce/Workspaces/vets-website
```
**Returns:**
- Form information
- Agent execution plan
- Expected fixes
- Quick start commands
---
### `get_agent_prompt`
Get customized prompt for a specific agent (1-4).
**Usage:**
```
Get Agent 2 prompt for form 21p-0516
```
**Returns:**
- Specialized prompt for that agent
- Customized with form-specific paths
- Ready to execute
---
### `validate_form`
Run validation checks (schema, syntax, apostrophes, imports).
**Usage:**
```
Validate form at /path/to/form checking schema and apostrophes
```
**Returns:**
- Bash commands to run validation
- Expected issues to find
---
### `get_fix_reference`
Get quick reference for common fixes.
**Usage:**
```
Show me the yesNoUI fix reference
```
**Options:**
- `yesNoUI` - How to fix yesNoUI patterns
- `radioSchema` - How to fix radioSchema calls
- `apostrophes` - How to fix apostrophe syntax
- `transformers` - How to fix submit/prefill transformers
- `fullNamePath` - How to add fullNamePath (critical!)
- `all` - Show all fixes
---
### `generate_orchestration_prompt`
Generate the complete orchestration prompt to launch all 4 agents.
**Usage:**
```
Generate orchestration prompt for form 21p-0516
```
**Returns:**
- Complete prompt to launch all 4 agents
- Phase-by-phase execution plan
- Expected results
---
## š Available Resources
### `checklist://master`
Complete master checklist for form generation.
### `template://agent-1` through `template://agent-4`
Specialized prompts for each of the 4 agents.
### `reference://fixes`
Before/after examples for all 16 fixes.
---
## šÆ Typical Workflow
### Option 1: Full Automation
```
Use the va-form-generation MCP server to:
1. Audit form 21p-0516 in /Users/aponce/Workspaces/vets-website
2. Generate the orchestration prompt
3. Execute all 4 agents
```
### Option 2: Step by Step
```
1. Audit form 21p-0516 using MCP server
2. Get Agent 1 prompt from MCP server
3. Get Agent 2 prompt from MCP server
4. Get Agent 3 prompt from MCP server
5. Get Agent 4 prompt from MCP server
```
### Option 3: Validation Only
```
Use MCP server to validate form 21p-0516 for all check types
```
---
## šļø Architecture
```
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Claude Desktop / Claude Code ā
āāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāā
ā MCP Protocol
āāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāā
ā VA Form Generation MCP Server ā
ā (External - ~/va-form-generation) ā
ā ā
ā Tools: ā
ā ā audit_form ā
ā ā get_agent_prompt ā
ā ā validate_form ā
ā ā get_fix_reference ā
ā ā generate_orchestration_prompt ā
ā ā
ā Resources: ā
ā ā Master checklist ā
ā ā Agent prompts (1-4) ā
ā ā Fix references ā
āāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāā
ā File System Access
āāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāā
ā vets-website Workspace ā
ā /Users/aponce/Workspaces/... ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
```
---
## š¦ What Gets Fixed
### Component Patterns (6 fixes)
ā
yesNoUI simplified to `yesNoUI('question')`
ā
Import paths corrected
ā
radioSchema called with enum values
ā
Duplicate imports removed
### Architecture (5 fixes)
ā
IntroductionPage rewritten
ā
ConfirmationPage uses ConfirmationView
ā
submit-transformer follows 21P-601
ā
prefill-transformer accesses profile
ā
form.js has fullNamePath
### Content (3 fixes)
ā
Plain language (you/we, contractions)
ā
Person-centered titles
ā
PDF-accurate labels
### Syntax (2 fixes)
ā
Apostrophe errors
ā
Schema validation
**Total: 16+ automated fixes**
---
## š§ Development
### Run in Dev Mode
```bash
npm run dev
```
### Add New Tools
Edit `index.js` and add to the `tools` array in `ListToolsRequestSchema` handler.
### Add New Resources
Edit `index.js` and add to the `resources` array in `ListResourcesRequestSchema` handler.
### Update Templates
Edit files in `templates/` directory.
---
## š Examples
### Example 1: Quick Audit
```
I'm working on form 21p-0516. Use the MCP server to audit it and tell me what needs to be fixed.
Workspace: /Users/aponce/Workspaces/vets-website
```
### Example 2: Get Specific Fix
```
Use the MCP server to show me how to fix the radioSchema pattern
```
### Example 3: Full Automation
```
Use the MCP server to:
1. Audit form 21p-527ez
2. Generate the orchestration prompt
3. Launch all 4 agents in the correct order
Workspace: /Users/aponce/Workspaces/vets-website
```
### Example 4: Validation
```
Use the MCP server to validate form 21p-0516 for schema errors and apostrophe syntax
Form path: /Users/aponce/Workspaces/vets-website/src/applications/simple-forms/21p-0516
```
---
## š Learn More
- **Master Checklist:** `templates/master-checklist.md`
- **Agent Prompts:** `templates/agent-{1-4}-prompt.md`
- **MCP Protocol:** https://modelcontextprotocol.io/
---
## š¢ Sharing with Team
### Method 1: Git Repository
```bash
cd ~/va-form-generation-mcp
git init
git add .
git commit -m "Initial MCP server"
git remote add origin YOUR_REPO_URL
git push -u origin main
```
Team members clone and configure:
```bash
git clone YOUR_REPO_URL ~/va-form-generation-mcp
cd ~/va-form-generation-mcp
npm install
# Add to claude_desktop_config.json
```
### Method 2: npm Package (Private Registry)
```bash
npm publish --registry YOUR_PRIVATE_REGISTRY
```
Team members install:
```bash
npm install -g va-form-generation-mcp --registry YOUR_PRIVATE_REGISTRY
```
---
## ā FAQ
### Q: Does this modify the vets-website repo?
**A:** No! The MCP server lives completely outside the VA repo. It only provides tools and prompts - Claude does the actual modifications.
### Q: Can multiple people use this?
**A:** Yes! Each team member installs it separately and points it to their own vets-website workspace.
### Q: What if the VA changes their patterns?
**A:** Update the templates in this repo. Everyone pulls the updates. No VA PR needed!
### Q: Can I customize it?
**A:** Absolutely! Edit the templates or add new tools specific to your needs.
### Q: Does it work with Claude Code in VS Code?
**A:** Yes! As long as Claude Code supports MCP servers, it will work.
---
## š License
MIT
---
**Questions?** Open an issue or ask Claude: "Explain the va-form-generation MCP server"
TDQS
Scored across 5 tools
Most tools have distinct purposes: audit_form and validate_form both check forms but focus on different aspects (comprehensive fixes vs. basic validation), while the other three tools handle orchestration and reference tasks. There is some potential overlap between audit_form and validate_form, but their descriptions clarify different scopes, preventing major confusion.
Tool names follow a consistent verb_noun pattern (e.g., audit_form, validate_form, get_agent_prompt), with all using snake_case. The only minor deviation is generate_orchestration_prompt, which is longer but still fits the pattern, maintaining overall readability and predictability.
With 5 tools, this server is well-scoped for VA form generation, covering key tasks like auditing, validation, orchestration, and reference retrieval. Each tool appears to earn its place without redundancy or excessive complexity, making it manageable and focused.
The toolset covers validation and auditing well but lacks obvious CRUD operations for forms, such as creating or updating forms. While orchestration and reference tools support the workflow, the absence of core form manipulation tools leaves notable gaps in the domain coverage, which agents might need to work around.