MCP server for scaffolding Next.js & Expo/React Native projects with Atomic Design, React Query, and TypeScript
FrontForge has 7 tools with clear naming (verb_noun pattern) and reasonable descriptions (avg ~150 chars). All tools have input schemas with types and descriptions. However, output schemas are not documented, LLMs cannot predict what fields to expect from tool results. Error handling is absent; tools do not guide recovery or categorize failures. Parameter descriptions lack format constraints (e.g., 'PascalCase' is stated but not validated). No tool annotations (readOnlyHint/destructiveHint) despite 6 of 7 being destructive WRITE operations. Composition is sound, tools chain well (project_info → scaffold_project → create_feature), but missing idempotency guarantees and confirmation patterns for irreversible operations.
Create a component inside a feature layer (atoms/molecules/organisms/templates) with proper barrel exports. For mobile, also creates styles.ts with Expo CSS.
Create a new feature directory with Atomic Design structure (atoms/, molecules/, organisms/, templates/, hooks/, api/, types/). Each layer gets a barrel index.ts.
Create a React Query hook for a resource inside a feature. Generates query keys, list hook, and detail hook.
Create or update a styles.ts file for a mobile (Expo) component using Expo CSS. Only for Expo projects.
Detect project type (Next.js or Expo), folder structure, and current state. Run this first to understand the project before making changes.
Set up the base folder structure for a frontend project: features/, providers, query client, theme/utils. Works for both Next.js and Expo.
No output schemas documented. LLMs cannot predict what fields (e.g., file paths, status, errors) tools return, forcing them to guess or make follow-up calls.
No error handling or recovery guidance. Tools do not return actionable error messages (e.g., 'Directory already exists. Use overwrite=true to replace.' or 'Invalid PascalCase: got "landing-page", expected "LandingPage"'). Agents cannot self-correct.
6 of 7 tools are destructive (WRITE) but lack tool annotations (destructiveHint=true). LLMs cannot distinguish safe read-only tools from risky write operations without explicit hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Create QueryProvider and wire it into the root layout. Also creates utility files (cn() for web, theme.ts for mobile).
No confirmation or dry-run pattern for irreversible operations. scaffold_project and create_feature overwrite directories without user confirmation, risking data loss.
Parameter descriptions state constraints informally ('PascalCase', 'kebab-case') but do not enforce them via regex patterns or validation. LLMs may pass invalid values (e.g., 'landing-page' instead of 'LandingPage') without immediate feedback.