@forgespace/ui-mcp
OfficialGenerates UI components and full applications using Angular with Tailwind CSS support.
Reads Figma files, extracts design tokens, maps to Tailwind, and pushes variables back to Figma.
Generates UI components using Headless UI for React, Vue, Svelte, and HTML.
Generates UI components using Material-UI (MUI) for React applications.
Scaffolds full Next.js applications with Tailwind CSS.
Generates UI components using PrimeNG for Angular applications.
Generates UI components using PrimeVue for Vue applications.
Generates UI components, forms, page templates, and full applications for React with various component libraries.
Optional error reporting integration for uncaught exceptions and unhandled rejections.
Generates UI components using shadcn/ui for React and Vue.
Generates UI components and applications for Svelte with Tailwind CSS.
Default styling layer used across all generated frameworks with brand identity integration.
Generates UI components using Vuetify for Vue applications.
Provides Zod validation schemas for form generation and payment refund parameters.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@forgespace/ui-mcpgenerate a login form in React with validation"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Part of the Forge Space ecosystem.

Architecture
@forgespace/ui-mcp is a thin protocol adapter. All AI/generation logic lives
in @forgespace/siza-gen:
@forgespace/ui-mcp (~355 KB) @forgespace/siza-gen (~1.8 MB)
├── src/index.ts (MCP server) ├── ml/ (embeddings, quality, training)
├── tools/ (22 tool defs) ├── generators/ (react, vue, angular, svelte, html)
├── services/ (figma, analysis) ├── registry/ (502 snippets, compositions, packs)
├── resources/ (MCP resources) ├── feedback/ (self-learning, pattern promotion)
└── lib/ (browser, image) └── quality/ (anti-generic rules, diversity)Related MCP server: @21st-dev/magic
Quick Start
# NPX (instant)
npx -y @forgespace/ui-mcp@latest
# Global install
npm install -g @forgespace/ui-mcp && forgespace-ui-mcp
# Docker
docker build -t forgespace-ui-mcp . && docker run --rm -i forgespace-ui-mcpIDE Integration
Add to your MCP configuration (Claude Code, Windsurf, Cursor, VS Code):
{
"mcpServers": {
"forgespace-ui-mcp": {
"command": "npx",
"args": ["-y", "@forgespace/ui-mcp@latest"],
"env": {
"FIGMA_ACCESS_TOKEN": "your_token_here"
}
}
}
}Tools
Tool | Category | Description |
| Code | Full project boilerplate (React/Next.js/Vue/Angular/HTML + Tailwind) |
| Code | UI components with style audit, supports shadcn/ui, Radix, Headless UI, Material, PrimeVue |
| Code | Production forms with Zod/Yup validation, multi-step flows, accessible markup |
| Code | Pre-built pages (landing, dashboard, auth, pricing, CRUD) |
| Design | Interactive HTML prototypes with navigation |
| Design | SVG/PNG mockups of UI screens |
| Code | Screenshot/wireframe to framework-specific component |
| Code | Improve components via natural language feedback |
| Backend | API routes with validation, auth, and error handling |
| Backend | Full feature modules with routes, services, middleware |
| Backend | Complete backend projects with auth, DB, monitoring |
| Code | Multi-page apps from curated packs (SaaS, Landing, AI Chat) |
| Context | Read Figma files, extract tokens, map to Tailwind |
| Design | Write design tokens back to Figma |
| Context | Extract visual metadata from URLs |
| Context | Analyze design references, detect patterns |
| ML | Analyze design images for training data |
| Context | Analyze component library patterns |
| Quality | WCAG 2.1 audit with fix suggestions |
| Quality | Submit feedback to improve future output |
| Backend | Request payment refund with Zod-validated params (payment_id, amount, reason, currency) |
| ML | Training data ingestion and fine-tuning |
Framework & Library Support
Library | React | Vue | Angular | Svelte | HTML |
shadcn/ui | shadcn/ui | shadcn-vue | Tailwind | bits-ui | Tailwind |
Radix | @radix-ui/react | @radix-ui/vue | Tailwind | @radix-ui/svelte | Tailwind |
Headless UI | @headlessui/react | @headlessui/vue | Tailwind | @headlessui/svelte | Tailwind |
Material | @mui/material | Vuetify | @angular/material | @smui/material | Tailwind |
PrimeVue | Headless UI | primevue | primeng | Tailwind | Tailwind |
none | Tailwind CSS | Tailwind CSS | Tailwind CSS | Tailwind CSS | Tailwind CSS |
Brand Identity Integration
All generation tools accept an optional brand_identity parameter — a JSON
string from branding-mcp's
generate_brand_identity tool. When provided, brand colors, typography, and
spacing are injected into the design context.
Environment Variables
Variable | Required | Description |
| Only for Figma tools | Token from Figma Settings |
| Optional | Sentry DSN for error reporting (uncaught exceptions and unhandled rejections) |
Distribution
npm — published as
@forgespace/ui-mcpMCP Registry metadata — repository includes
server.jsonandmcpNamemetadata for registry submissionTag release automation — pushing
v*runs npm publish with provenance, then publishes the same version to the MCP Registry via GitHub OIDCWeekly registry ops —
.github/workflows/mcp-registry-status.ymlrefreshes one issue with npm and MCP Registry drift, visibility, and next actionsGitHub — source, issues, releases, and Discussions live under Forge Space
Development
npm install && npm run build
npm test # 437 tests, 35 suites
npm run validate # lint + format + typecheck + testCommunity
GitHub Workflow
This repository follows the shared Forge Space GitHub work-management baseline:
Discussions for ideas, RFCs, Q&A, and announcements
Issues for actionable delivery work
Projects for roadmap visibility and cross-repo reporting
See
Forge-Space/.github GOVERNANCE.md
for the org-wide contract.
Scheduled monitoring runs that execute CodeQL require job-scoped
security-events: write permission for SARIF upload.
The scheduled Security Monitoring workflow intentionally skips Codecov upload
and relies on local coverage summary generation to reduce false alerting from
third-party action download instability.
License
MIT
Available Tools
38 toolsanalyze_component_libraryA
Analyze component source code to detect which library is used, identify patterns, and get migration suggestions.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Component source code to analyze | |
| filePath | No | File path for context (e.g., src/components/Button.tsx) | |
| detectLibrary | No | Detect which component library is being used | |
| analyzePatterns | No | Analyze component patterns and structure | |
| suggestMigration | No | Suggest migration path to a target library | |
| targetLibrary | No | Target library for migration suggestions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose any behavioral traits such as side effects, performance implications, or behavior when code belongs to no known library or multiple libraries. Agent cannot infer safe operation or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that efficiently conveys the tool's purpose without redundancy. Every phrase earns its place, and the structure is front-loaded with the main action and key outputs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description covers high-level purpose but lacks details on how boolean flags interact (e.g., relationship between detectLibrary, analyzePatterns, suggestMigration) and does not describe return format or output structure. Given no output schema, more context would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description itself does not add beyond the schema; it rephrases what parameters do. No additional meaning or usage context is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'analyze', resource 'component source code', and three specific outcomes: detect library, identify patterns, get migration suggestions. Unambiguously distinguishes from sibling tools like generate_component_library or assess_legacy_codebase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like assess_legacy_codebase or audit_accessibility. The purpose implies it's for component library analysis, but context for prerequisites or exclusions is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_design_image_for_trainingA
Analyze a UI design image to extract patterns, styles, and components for ML training. Does NOT store images - only extracts structured design data (colors, typography, components, layout). Privacy-friendly and zero-cost.
| Name | Required | Description | Default |
|---|---|---|---|
| image_data | Yes | Base64-encoded image data of the UI design reference to analyze for ML training | |
| image_mime_type | No | MIME type of the image | image/png |
| description | No | Optional description of the design (e.g., "Modern SaaS dashboard with glassmorphism effects") | |
| component_name | No | Optional name for the design reference (auto-generated if omitted) | |
| framework | No | Framework context for code generation during analysis | react |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that images are not stored and that it's privacy-friendly and zero-cost, which are key behavioral traits. However, it does not explicitly state whether the operation is read-only or non-destructive beyond the storage claim.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence states the core purpose, the second adds critical behavioral context. Information is front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description provides a reasonable summary of what is extracted. Given the tool's complexity (5 parameters) and sibling tools, the description is adequate but could be slightly more detailed about return format or error cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by summarizing the output (colors, typography, components, layout) and privacy aspects, which are not in the schema. This helps the agent understand the purpose of the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Analyze' and the resource 'UI design image', with specific extraction goals for ML training. It also distinguishes from siblings by noting that it does not store images.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for extracting design data but does not explicitly address when to use this tool versus alternatives like analyze_design_references or image_to_component. No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_design_referencesA
Analyze design references from URLs (browser automation + screenshots) and/or attached images. Extracts colors, typography, layout patterns, and UI components. When multiple references are provided, identifies common patterns across all sources to prioritize consistent design decisions for UI/UX generation.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | No | URLs of websites to scrape for design references (screenshots + computed styles) | |
| images | No | Attached images to analyze as design references | |
| viewport | No | Browser viewport size for URL scraping | |
| update_context | No | Whether to update the global design context with detected patterns |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses browser automation and screenshot behavior for URLs, and lists extraction outputs. However, it omits potential costs (e.g., processing time), return format, and full lifecycle implications (e.g., global context update). Partial but adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that are front-loaded: first defines core function, second adds cross-reference analysis. No redundancy, every word adds value. Excellent structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters (all optional), nested objects, and no output schema, the description covers core extraction and cross-reference logic. Missing output format and global context behavior, but still mostly complete given the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context (e.g., 'browser automation + screenshots' for URLs) but does not significantly enhance understanding beyond individual parameter descriptions. No extra syntax or format details provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes design references from URLs and/or images, extracting specific design elements (colors, typography, layout patterns, UI components). It also mentions identifying common patterns across multiple references, providing a specific verb and resource that distinguishes it from sibling tools like analyze_component_library or fetch_design_inspiration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use cases (analyzing design references) but does not explicitly state when to use this tool versus alternatives. It lacks exclusions or sister tool references, leaving the agent to infer context despite sibling tools existing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_legacy_codebaseA
Assess a legacy codebase for migration readiness. Analyzes dependencies, architecture, security, quality, and migration readiness. Returns health score (0-100), grade (A-F), migration strategy, and detailed findings.
| Name | Required | Description | Default |
|---|---|---|---|
| project_dir | Yes | Absolute path to the project directory to assess |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It lists what is analyzed and returned, but does not disclose side effects, permissions, performance implications, or non-destructive nature. For a read-like tool, more explicit behavioral context would help.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences efficiently convey the purpose, analysis domains, and return values. No unnecessary words or repetition. Front-loaded with verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and one input parameter, the description covers purpose, input, and output fairly completely. Could mention prerequisites or output format details, but for a simple tool it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter project_dir is described as 'Absolute path to the project directory to assess', which aligns well with the tool's purpose. Schema description coverage is 100%, and the tool description adds context about it being a legacy codebase.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool assesses legacy codebase for migration readiness, with specific analysis areas and returns. It distinguishes from sibling tools like forge_assess and analyze_component_library by focusing exclusively on legacy codebase migration assessment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among sibling tools. Use is implied for assessing legacy codebase migration readiness, but no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_accessibilityA
Audit a component for WCAG 2.1 accessibility violations. Checks color contrast hints, ARIA attributes, keyboard navigation, semantic HTML, form labels, focus management, and more. Returns issues with severity, suggestions, and WCAG criteria references.
| Name | Required | Description | Default |
|---|---|---|---|
| component_code | Yes | Component source code to audit for accessibility | |
| framework | Yes | Framework of the component | |
| strict | No | Enable strict mode for additional WCAG AAA checks |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully relies on text to convey behavior. It clearly states the tool performs an audit (non-destructive) and returns issues with severity, suggestions, and WCAG references. However, it does not mention potential side effects (e.g., network calls for criteria references) or resource usage, which would push it to a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences: first states the core purpose, second lists specific checks, third explains the output. Every sentence adds distinct value without redundancy. The structure is clean and front-loaded, making it easy for an AI agent to quickly grasp the tool's functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the tool's inputs (component code, framework, strict mode) and outputs (issues with severity and references). It lists a broad set of checks but includes 'and more,' which is vague. No output schema exists, but the description compensates by outlining the return format. For a tool with no output schema, this is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with well-defined parameter descriptions (e.g., component_code, framework, strict). The description adds no additional semantic value beyond the schema; it rephrases the overall audit scope without detailing specific parameter usage or interdependencies. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool's purpose: auditing a component for WCAG 2.1 accessibility violations. It lists specific checks (e.g., color contrast, ARIA attributes) and describes the output format (issues with severity, suggestions, criteria references). This distinguishes it from sibling tools like analyze_component_library or assess_legacy_codebase, which serve different analytical functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used for accessibility audits but provides no explicit guidance on when to use it versus alternatives like analyze_component_library or image_to_component. No exclusions or use cases are mentioned, leaving the agent to infer the appropriate context based on the tool's name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_design_inspirationC
Extract visual metadata (colors, typography, layout hints) from any URL to inform design decisions
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to extract design inspiration from | |
| extract_colors | No | Extract color palette from the page | |
| extract_typography | No | Extract typography information |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It only states extraction of visual metadata but does not mention error handling, rate limits, or state modification (likely read-only but not explicit).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise and front-loaded with key information. No redundancy, but could be improved by separating into multiple sentences for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should mention return format; it does not. However, for a simple extraction tool with 3 params and no nested objects, the description is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 3 parameters with descriptions. Description adds context by listing extracted types (colors, typography, layout hints), which maps to boolean parameters but does not explain interactions or defaults beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it extracts visual metadata (colors, typography, layout hints) from any URL, specifying verb and resource. It distinguishes from siblings like analyze_component_library and analyze_design_references by focusing on URL-based extraction, though it does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, no prerequisites or limitations mentioned. Agent must infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
figma_context_parserB
Read Figma file nodes, extract design tokens, and map them to Tailwind CSS utilities. Updates the shared design context.
| Name | Required | Description | Default |
|---|---|---|---|
| file_key | Yes | Figma file key (from the URL: figma.com/file/<file_key>/...) | |
| node_ids | No | Specific node IDs to parse. If omitted, parses the entire file. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'updates the shared design context' which suggests a side effect, but does not clarify the nature of the update (e.g., destructive, reversible), authentication requirements, or rate limits. The behavior is only partially disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 16 words with no wasted content. It is front-loaded with the primary action 'Read' and efficiently conveys all key aspects of the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the description covers the main purpose but omits important details such as the return value (since no output schema exists) and the exact implications of 'updates the shared design context'. An AI agent would need to infer what is returned or how the update affects state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, providing clear definitions for both parameters. The tool description does not add additional meaning beyond what the schema already provides, so it meets the baseline for a well-documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads Figma file nodes, extracts design tokens, and maps them to Tailwind CSS utilities, with an update to shared design context. The verb 'Read' and resource 'Figma file nodes' are specific, but it does not explicitly differentiate from sibling tools like analyze_component_library, which may have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for extracting design tokens from Figma and mapping to Tailwind, but it provides no explicit guidance on when to use this versus alternatives like analyze_component_library or figma_push_variables. There is no mention of when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
figma_push_variablesA
Write design tokens back to Figma as Variables via the Figma REST API. Creates or updates variable collections.
| Name | Required | Description | Default |
|---|---|---|---|
| file_key | Yes | Figma file key to push variables to | |
| variables | Yes | Array of variables to create or update |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'Creates or updates variable collections,' which gives some behavioral insight, but lacks details on whether the operation is destructive, required authentication, rate limits, or effects on existing data. The description is clear but minimally transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's action and scope. There is no extraneous information, and every word serves a purpose. It is front-loaded with the key verb and noun.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity of pushing variables and the absence of an output schema, the description could be more complete. It does not mention the return value, error conditions, or any prerequisites like authentication. While it covers the core action, it lacks additional context that would help an agent use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already describes each parameter adequately (file_key and variables with their types and formats). The description does not add additional semantic meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: writing design tokens back to Figma as variables. It uses a specific verb ('Write') and resource ('design tokens... as Variables') and distinguishes from siblings like figma_context_parser, which reads context rather than modifies. There is no confusion about what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for pushing design tokens to Figma, but it does not explicitly state when to use this tool versus alternatives (e.g., when to use figma_context_parser instead). There is no guidance on prerequisites or exclusions, relying on the user's context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forge_assessB
Run a full project health assessment across 5 categories (dependencies, architecture, security, quality, migration-readiness). Returns scores, grades, migration readiness, and prioritized findings.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Absolute path to the project directory | |
| max_files | No | Maximum files to scan (default: 500) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It fails to mention whether the tool is read-only, requires specific permissions, or has any side effects. The term 'assessment' implies safety but is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that immediately state the action, categories, and output. Every word adds value, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two parameters, no output schema, no annotations), the description adequately covers purpose and output. It could mention that the directory must exist, but the schema's required field and description handle that partially.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters ('directory' as absolute path, 'max_files' with default). The tool description adds no additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a full project health assessment across 5 specific categories and returns scores, grades, migration readiness, and prioritized findings. This distinguishes it from sibling tools like assess_legacy_codebase or forge_scan by specifying the comprehensive scope and output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 does not mention prerequisites, exclusions, or context-specific recommendations, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forge_diffA
Analyze quality delta between two git refs. Shows score change, new findings introduced, and resolved findings. Useful for PR quality checks.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Absolute path to the git repository | |
| base | No | Base branch or commit to compare against (default: main) | |
| head | No | Head branch or commit (default: HEAD) | |
| staged | No | Analyze staged changes only |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, description carries full burden. It discloses outputs (score change, findings) but does not state side effects (likely read-only), error conditions, or required access. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose, second gives use case. No wasted words, front-loaded with most important information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should clarify return structure. It mentions what is shown but not format. Lacks details on error handling or performance. Adequate for simple use but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The tool description adds no additional parameter-level detail beyond what is in the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it analyzes quality delta between two git refs and shows score changes and findings. It distinguishes from siblings like forge_assess and forge_scan by focusing on delta, but could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions 'useful for PR quality checks' but provides no when-not-to-use guidance or alternatives. Does not specify prerequisites like needing quality data in the repository.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forge_gateB
Run a quality gate check on a project. Returns pass/fail status, score, grade, and blocking violations. Configurable threshold and governance phase.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Absolute path to the project directory | |
| threshold | No | Minimum score to pass (overrides .forgerc.json) | |
| phase | No | Governance phase: bootstrap, stabilization, production, or enterprise |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It indicates the tool runs a check and returns results, but does not mention side effects, authentication requirements, or whether it modifies state. The description implies a read-only operation but does not confirm safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences front-loading the core purpose. Every word adds value, and there is no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what the tool does and what it returns (status, score, grade, violations), which is adequate given moderate complexity. However, it lacks details on error conditions, required permissions, or output format, and no output schema is provided to fill the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already provides meaningful descriptions for each parameter (e.g., threshold overrides config, phase lists allowed values). The description adds 'Configurable threshold and governance phase' but does not provide additional semantic enrichment beyond restating the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a quality gate check on a project and specifies the return values (pass/fail, score, grade, blocking violations). It is specific about the resource ('project') and action, and while it does not explicitly differentiate from siblings like forge_assess, the function is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus alternatives like forge_assess or forge_scan. The description mentions configurability (threshold, phase) but does not state when it is appropriate to invoke or when to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forge_migrateB
Generate a full migration plan for a legacy project. Combines health assessment with strategy recommendation, strangler boundaries, TypeScript migration plan, dependency risks, and a phased roadmap with quality gates.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Absolute path to the project directory | |
| max_files | No | Maximum files to scan (default: 500) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must fully disclose behavior. It states it generates a plan combining multiple assessments but does not clarify if the tool is read-only, what side effects exist, or required permissions. The absence of behavioral context is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core purpose. While it is efficient and clear, it could benefit from slight restructuring for readability, but overall it is well-prioritized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (generating a migration plan with multiple components), the description omits return format details and prerequisites. No output schema exists, so the description should explain what the agent can expect as output. This incompleteness limits the agent's ability to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters ('directory' and 'max_files') are self-explanatory from their schema descriptions. The tool description adds no additional semantic meaning beyond what the schema provides, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb ('Generate') and resource ('full migration plan'), and lists specific components (health assessment, strategy recommendation, etc.), distinguishing it from sibling tools like forge_assess and generate_migration_plan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., forge_assess, generate_migration_plan). The description lacks context for selection, leaving the agent without direction on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forge_scanA
Scan a project for code quality issues using forge-ai-init governance rules (25 rules, 10 categories). Returns score, grade, findings by category, and hotspot files.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Absolute path to the project directory to scan | |
| max_files | No | Maximum number of files to scan (default: 500) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions the tool returns results but does not confirm it is read-only or disclose any side effects, performance characteristics, or authorization needs. With no annotations, the description leaves behavioral aspects ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that immediately conveys the tool's purpose and output. There is no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description covers purpose and output adequately but lacks usage guidance and behavioral details. Given the complexity (2 parameters, no nested objects), it is minimally viable but could better differentiate from similar siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides adequate descriptions for both parameters, so the description adds no new parameter-specific information. It does contribute context about the rules and output, but this is tangential to parameter semantics. Schema coverage is 100%, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scans a project for code quality issues using specific governance rules, and lists output elements. However, it does not distinguish this tool from sibling tools like forge_assess, which may have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (when code quality scanning is needed) but provides no explicit guidance on when not to use or alternatives. No comparison with sibling tools is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_api_routeB
Generate a production-ready API route with validation, authentication, and error handling based on best-practice backend patterns.
| Name | Required | Description | Default |
|---|---|---|---|
| route_type | Yes | Type of API route to generate | |
| resource_name | Yes | Name of the resource (e.g., users, products) | |
| framework | No | Target framework | nextjs |
| features | No | Additional features: validation, auth, rate-limiting, caching |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry burden. Mentions 'production-ready' and includes validation, authentication, error handling, but lacks details on side effects, permissions, or output behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with key purpose and features. No redundant or unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a tool with full schema coverage and no output schema. However, it could be more complete by describing what is generated (e.g., file structure, code snippets) or prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. Description adds general context but does not enhance individual parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Generate a production-ready API route' with specific features (validation, authentication, error handling). However, it does not differentiate from sibling tools like generate_backend_module or scaffold_backend.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Does not mention context, prerequisites, or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_backend_moduleB
Generate a complete backend feature module with routes, service layer, repository, types, and middleware following clean architecture patterns.
| Name | Required | Description | Default |
|---|---|---|---|
| module_name | Yes | Name of the module (e.g., users, billing) | |
| operations | Yes | CRUD operations: list, create, update, delete, get | |
| framework | No | Target framework | nextjs |
| patterns | No | Architecture patterns: clean-architecture, repository, service-layer | |
| middleware | No | Middleware: auth, validation, rate-limiting, caching |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It mentions generating various components but does not address potential side effects such as file overwriting, required permissions, or whether it creates or updates resources. The description is too vague for a generation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core purpose. It is concise but could be slightly more streamlined. No wasted words, but it does not earn extra points for structure beyond being clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no output schema, no annotations), the description does not fully equip an agent. It lacks details on expected output, parameter interdependencies, and when to choose different framework or patterns. Incomplete for a generation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds minimal value beyond the schema; it lists what is generated but does not elaborate on parameter choices or constraints. The schema already defines the parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a complete backend feature module with multiple specific components (routes, service layer, etc.) following clean architecture patterns. This distinguishes it from siblings like generate_api_route or generate_ui_component.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives like scaffold_backend or generate_api_route. No explicit when-to-use or when-not-to-use information is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_component_libraryC
Generate components from shadcn, radix, headlessui, or material UI libraries. Supports themes, custom props, test/story generation, and framework-specific output.
| Name | Required | Description | Default |
|---|---|---|---|
| componentType | Yes | Type of component to generate (e.g., button, card, input) | |
| library | Yes | Component library to use | |
| framework | Yes | Target framework | |
| customizations | No | Custom component properties and styling | |
| outputPath | No | Output directory for generated files | |
| includeTests | No | Generate test files | |
| includeStories | No | Generate Storybook stories | |
| theme | No | Theme configuration |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It states 'Generate components' but does not clarify side effects like file creation, overwriting behavior, required permissions, or whether the tool is idempotent. The description lacks essential safety and impact information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 22-word sentence that efficiently conveys the tool's main purpose and capabilities. It is front-loaded and contains no unnecessary words or repetition. Every clause adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters (with 3 required) and no output schema or annotations, the description is too brief. It does not explain the output format, file structure, or the role of the nested 'customizations' object. For a tool generating multiple files, the description should provide more context about the generation process and expected results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description mentions themes, custom props, test/story generation, and framework output, which map to parameters (theme, customizations, includeTests, includeStories, framework). However, it does not add significant new meaning beyond the schema's own descriptions; it merely summarizes a subset of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool generates components from specific libraries (shadcn, radix, headlessui, material) and lists key features (themes, custom props, tests, stories, framework output). It distinguishes the tool from siblings like generate_ui_component by specifying the library sources, though it could explicitly contrast with similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives, such as generate_ui_component or generate_form. It does not provide any prerequisites, limitations, or exclusions (e.g., when not to use it). The usage context is only implied by the library-specific focus.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_design_imageB
Generate SVG or PNG mockup images of UI screens and components. Supports wireframe, mockup, and component preview modes.
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | What to render in the image (e.g., "Landing page with hero section and CTA") | |
| type | Yes | Type of image to generate | |
| width | No | Image width in pixels | |
| height | No | Image height in pixels | |
| design_context | No | Optional design context override | |
| output_format | No | Output image format | svg |
| brand_identity | No | JSON string from branding-mcp generate_brand_identity. Overrides design context with brand tokens. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, description provides minimal behavioral context. It does not disclose rate limits, cost, output format details (e.g., URL vs base64), or error handling. The lack of annotations places full burden on description, which is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and resource, followed by a list of supported modes. Every word contributes meaning; no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema and the description does not explain what is returned (e.g., image URL, binary data, base64). With 7 parameters and no output details, the agent needs more context to fully understand the tool's behavior and integrate it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds no parameter-specific information beyond the schema, which already includes clear descriptions for each parameter. No further semantic clarification is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates SVG or PNG mockup images of UI screens and components, identifying specific modes (wireframe, mockup, component_preview). This effectively distinguishes it from sibling tools like generate_ui_component which likely produce code rather than images.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as generate_ui_component or image_to_component. The description does not mention scenarios where image generation is preferred over code generation, nor does it indicate prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_formA
Generate production-ready forms with validation schemas, accessible markup, error handling, and multi-step support. Includes preset form types (login, signup, contact, checkout) or fully custom field definitions.
| Name | Required | Description | Default |
|---|---|---|---|
| form_type | Yes | Type of form to generate | |
| framework | Yes | Target framework | |
| fields | No | Custom field definitions. Required for "custom" type, optional override for presets. | |
| validation_library | No | Validation library for schema generation | zod |
| component_library | No | Component library styling | none |
| multi_step | No | Split into multi-step form with progress | |
| dark_mode | No | Include dark mode classes | |
| brand_identity | No | JSON from branding-mcp generate_brand_identity. Overrides design context with brand tokens. | |
| mood | No | Design mood | |
| industry | No | Target industry | |
| visual_style | No | Visual style |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions generation features but does not disclose behavioral details like file creation, idempotency, or side effects. It is moderately transparent but could be more explicit about what happens when the tool is invoked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences (about 30 words), concise and front-loaded with the core purpose. Every sentence adds value with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 11 parameters and no output schema, the description adequately covers the main capability and key differentiators (presets vs custom). It could explain the output format (e.g., code generation, file creation), but for a high-level tool, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds minimal value by referencing preset form types and custom fields, but it does not elaborate on most parameters (e.g., validation_library, multi_step). The schema descriptions themselves are sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates production-ready forms with specific features like validation and multi-step support, and it distinguishes itself by offering preset form types or custom field definitions. There is no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., generate_ui_component). It does not mention prerequisites, limitations, or context where this tool is not appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_from_template_packC
Generate a full multi-page application from a template pack
| Name | Required | Description | Default |
|---|---|---|---|
| pack_id | Yes | Template pack ID (e.g., saas-dashboard, startup-landing) | |
| framework | Yes | Target framework | |
| project_name | Yes | Project name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully convey behavioral traits. It does not disclose any side effects, constraints, or what happens during generation (e.g., file creation, overwriting, time cost). This is a critical gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the action. It is front-loaded and efficient, though it could benefit from additional context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool generating a full multi-page application, the description is too minimal. It does not explain what a template pack is, how to choose one, or what the output entails. Given many sibling tools, more context on when to use this is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The tool description does not add parameter details beyond schema, but schema already provides adequate descriptions for pack_id, framework, and project_name. No extra value from description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 a full multi-page application from a template pack. The verb 'generate' and resource 'multi-page application' are specific, and it distinguishes from siblings like generate_ui_component or generate_page_template.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like generate_page_template or scaffolder methods. There are no usage context, exclusions, or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_migration_planB
Generate a phased migration plan for a legacy codebase. Runs assessment, detects strategy, and produces a roadmap with quality gates (40% -> 60% -> 80%).
| Name | Required | Description | Default |
|---|---|---|---|
| project_dir | Yes | Absolute path to the project directory | |
| target_framework | No | Target framework to migrate to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose all behavioral traits. It mentions the multi-step process but does not state whether the tool is read-only, how long it may take, what side effects occur, or what the output format is. The mention of quality gates lacks detail on what triggers them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. It is concise with no wasted words, though a more structured format (e.g., bullet points) could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multi-step analysis without output schema), the description lacks important details: output format, duration, prerequisites, and whether it modifies the codebase. It does not reference sibling tools that might be prerequisites or alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add meaningful extra semantics beyond the schema; 'target_framework' is briefly mentioned but not elaborated, and no examples or constraints are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: generating a phased migration plan. It specifies the steps (runs assessment, detects strategy, produces roadmap with quality gates), which clearly distinguishes it from sibling tools like 'assess_legacy_codebase' or 'forge_migrate'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 does not mention prerequisites, such as whether 'assess_legacy_codebase' should be run first, or when to prefer 'forge_migrate' over this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_page_templateB
Generate pre-built page templates for common UI patterns: landing pages, dashboards, auth flows, pricing, settings, CRUD tables, blog listings, onboarding wizards, error pages, and ecommerce storefronts (PLP, PDP, cart, checkout). Supports all frameworks and component libraries.
| Name | Required | Description | Default |
|---|---|---|---|
| template | Yes | Type of page template to generate | |
| framework | Yes | Target framework | |
| component_library | No | Component library to use | none |
| dark_mode | No | Include dark mode variant classes | |
| project_name | No | Project/app name to use in the template (defaults to "MyApp") | |
| mood | No | Design mood/personality | |
| industry | No | Target industry for tailored design | |
| visual_style | No | Visual style layer to apply | |
| brand_identity | No | JSON string from branding-mcp generate_brand_identity. Overrides design context with brand tokens. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only states the function but does not disclose behavioral traits such as whether the tool creates files, overwrites existing content, requires authentication, or has rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first clearly states the action and lists many template types, the second notes broad support. It is front-loaded and efficient, though the lengthy list could be considered slightly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters and no output schema, the description is adequate but not thorough. It does not explain the generated output's format, how to integrate it, or provide examples. However, it covers the core purpose and supported options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds minimal value beyond listing template types already in the 'template' enum. It does not explain the effect of combining parameters like mood, industry, and visual_style.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Generate' and clearly states the resource 'pre-built page templates for common UI patterns'. It lists many template types and distinguishes from sibling tools like generate_ui_component and generate_form.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for generating page templates but provides no guidance on when to use this tool versus alternatives like generate_from_template_pack or generate_ui_component. No when-not-to-use or access prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_prototypeB
Create interactive HTML prototypes with screen flows, navigation, and transitions. Output is a standalone HTML file.
| Name | Required | Description | Default |
|---|---|---|---|
| screens | Yes | Array of screens with their elements | |
| navigation_flow | Yes | Navigation flow between screens | |
| design_context | No | Optional design context override | |
| output_format | No | Output format | html |
| brand_identity | No | JSON string from branding-mcp generate_brand_identity. Overrides design context with brand tokens. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It states output is a standalone HTML file but does not mention side effects, auth requirements, rate limits, or what happens to existing data. Lacks transparency typical for a generation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. First sentence states core action and scope, second sentence specifies output format. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested objects, recursive schema, 5 parameters) and no output schema, the description is too sparse. It omits how return values are structured, error handling, or usage patterns beyond the basic output format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add additional parameter meanings beyond the schema, but the schema already provides sufficient detail for parameters like screens, navigation_flow, etc.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create') and resource ('interactive HTML prototypes') with clear context ('screen flows, navigation, and transitions'). It differentiates from siblings like generate_ui_component or generate_page_template by focusing on full prototypes with navigation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like generate_component_library or generate_form. The description does not state prerequisites, when not to use, or recommend alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_ui_componentB
Create or iterate UI components with style audit and design context awareness. Supports React, Next.js, Vue, Angular, Svelte, and HTML. Component library integration available: shadcn/ui, Radix UI, Headless UI, PrimeVue, Material UI.
| Name | Required | Description | Default |
|---|---|---|---|
| component_type | Yes | Type of component to generate (e.g., "button", "card", "form", "navbar", "sidebar", "modal", "table", "hero") | |
| framework | Yes | Target framework | |
| props | No | Component props as key-value pairs | |
| component_library | No | Component library to use in generated code | none |
| design_reference_url | No | URL to extract design inspiration from | |
| existing_tailwind_config | No | Existing tailwind.config.js content for style audit | |
| existing_css_variables | No | Existing CSS variables for style audit | |
| variant | No | Component variant (e.g., "outline", "ghost", "gradient", "glass", "destructive", "loading", "icon") | |
| mood | No | Design mood/personality | |
| industry | No | Target industry for tailored design | |
| visual_style | No | Visual style layer to apply | |
| skip_ml | No | Skip ML enhancement and scoring for pure generation | |
| brand_identity | No | JSON string from branding-mcp generate_brand_identity. Overrides design context with brand tokens. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions style audit and design context awareness but does not explain what these entail behaviorally (e.g., does it modify files? require API calls?). No side effects, authentication needs, or rate limits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences, front-loading the core purpose. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (13 parameters, no output schema), the description lacks details about return values, the style audit process, and how design context is used. More information is needed for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 each parameter. The description adds some context about supported frameworks and libraries, but does not significantly enhance understanding beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates or iterates UI components with style audit and design context awareness, listing supported frameworks and libraries. This distinguishes it from similar sibling tools like refine_component or image_to_component.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating or iterating components but does not explicitly state when to use this tool over alternatives like refine_component or when not to use it. No exclusion criteria or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_available_componentsB
List all available components for a given component library (shadcn, radix, headlessui, material).
| Name | Required | Description | Default |
|---|---|---|---|
| library | Yes | Component library |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only states it 'list all available components' with no disclosure of behavioral traits like idempotency, rate limits, or return format. While the action is simple and non-destructive, the description lacks explicit transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is concise and front-loaded with the key action and resource. No unnecessary words. Every part of the description adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple list tool with one parameter, but it lacks information about what the output looks like (e.g., list of component names or IDs). Given there is no output schema, completeness is moderate. The description does not specify any constraints or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a description for the 'library' parameter. The tool description adds no additional per-parameter semantics beyond what the schema provides, so baseline 3 applies. The description reinforces the parameter's purpose but does not add new detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (list), resource (available components), and scope (for a given component library). It specifies the supported libraries (shadcn, radix, headlessui, material) which distinguishes it from sibling tools like get_available_libraries that list libraries themselves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It implies usage for listing components but does not state prerequisites, limitations, or when to use other tools like setup_component_library or validate_component_library_setup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_available_librariesA
List all available component libraries with their component counts and descriptions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description implies a read-only operation but does not explicitly state behavioral traits such as side effects, authentication needs, or performance implications. Adequate for a simple list, but could be more explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 10 words, no redundancy. Every word is necessary and informative. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description is minimal. It does not specify output format, ordering, or what 'available' means. Could be improved by mentioning that results are static or filtered by context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description adds value by explaining that results include component counts and descriptions, beyond what the empty schema provides. Baseline 4 applies for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list', resource 'component libraries', and specifies that component counts and descriptions are included. It distinguishes from siblings like 'get_available_components' by focusing on libraries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'get_available_components' or 'analyze_component_library'. The description lacks context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_component_library_statusC
Get the current component library setup status for a project directory.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Absolute path to the project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose whether the tool is read-only, what the return value looks like, or any side effects. The simple verb 'get' implies read-only, but this is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the tool's purpose. It is front-loaded with the key information, though additional context could be added without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a minimal description, the agent has limited understanding of what 'setup status' entails (e.g., installed libraries, configuration checks). The description does not complete the picture for a tool that likely returns structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single parameter 'projectPath', so the schema already defines it well. The description adds no additional meaning beyond the schema, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('get') and the resource ('component library setup status'), matching the tool name. However, it does not distinguish this tool from siblings like 'analyze_component_library' or 'validate_component_library_setup', which may have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as 'setup_component_library' or 'validate_component_library_setup'. The description does not mention preconditions, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_contextA
Returns the full context document for a UIForge project from the centralized store. This is the absolute source of truth for project architecture, status, requirements, and roadmap. Pass the project slug (e.g. "forge-patterns"). Use list_projects to discover available projects.
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | Project slug to retrieve context for (e.g. forge-patterns, uiforge-webapp, uiforge-mcp, mcp-gateway) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries full burden. Describes return as full context document and source of truth, but does not detail side effects, authentication, or potential limitations like size or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences plus a third for guidance, no redundant information. Every sentence provides value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description adequately explains purpose and usage. Could detail the contents of the context document, but the 'source of truth' phrasing implies comprehensiveness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes parameter with examples; description reinforces with additional examples (e.g., forge-patterns), adding clarity beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it returns the full context document for a UIForge project, specific verb 'returns' and resource 'context document'. Distinguished from siblings like list_projects and update_project_context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states it is the source of truth and instructs to pass the project slug. Mentions using list_projects to discover available projects, providing an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_to_componentA
Convert a screenshot, mockup, or wireframe image into framework-specific component code. Supports React, Next.js, Vue, Angular, Svelte, and HTML. Optionally uses shadcn/ui, Radix, Headless UI, PrimeVue, or Material UI.
| Name | Required | Description | Default |
|---|---|---|---|
| image_data | Yes | Base64-encoded image data of the screenshot, mockup, or wireframe to convert into a component | |
| image_mime_type | No | MIME type of the image | image/png |
| framework | Yes | Target framework for generated code | |
| component_name | No | Optional name for the generated component (auto-detected if omitted) | |
| component_library | No | Component library to use in generated code | none |
| description | No | Optional textual description of the UI in the image to guide code generation (e.g., "A pricing page with 3 tiers and a toggle for monthly/annual billing") | |
| dark_mode | No | Generate dark mode variant |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It describes the core transformation but omits important details such as data handling policies (is the image stored or discarded?), rate limits, required permissions, or whether the operation is idempotent. This lack of transparency could lead to misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two sentences. The first sentence front-loads the main purpose with a strong verb ('Convert'), and the second complements with supported options. Every word earns its place, and no redundant information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 7 parameters, full schema coverage, and no output schema, the description adequately explains the input requirements and outputs (component code). It covers framework and library options. However, it lacks behavioral context (e.g., error handling, limitations on image size) that would make it fully complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for all 7 parameters, so the description does not need to add much. It does clarify the optional nature of component_library and mentions supported frameworks, but these are already present in the schema enums. The description adds marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it converts images into framework-specific component code, listing supported frameworks and optional UI libraries. It distinguishes itself from sibling tools like analyze_design_image_for_training (which analyzes images for training) and generate_ui_component (which likely does not take image input).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use the tool (when you have a screenshot, mockup, or wireframe to convert). However, it does not explicitly state when not to use it or mention alternatives among the many sibling tools, such as generate_ui_component for text-based generation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsA
Lists all projects registered in the centralized UIForge context store, with their slugs, titles, descriptions, and last-updated timestamps.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states it is a read operation (lists), but with no annotations, it does not disclose potential side effects, auth requirements, or behavior under large datasets (e.g., pagination). It is adequate but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, well-structured sentence with no extraneous information. Every word contributes to clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description is fairly complete. It could mention ordering or auth requirements, but for a simple list operation, it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema coverage is 100%. The description adds value by specifying the output fields, which is beyond what the schema provides. With zero parameters, this dimension is fully satisfied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Lists all projects'), the data source ('centralized UIForge context store'), and the returned fields ('slugs, titles, descriptions, and last-updated timestamps'). This distinguishes it from sibling tools like get_project_context, which likely retrieves a single project's details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for getting an overview of all projects, but it does not explicitly state when to use alternatives like get_project_context for specific projects. The usage is straightforward, but lacked explicit differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_trainingB
Manage ML training jobs for the UIForge sidecar model. Actions: check_readiness (verify training prerequisites), start_training (begin LoRA fine-tuning), get_status (check job progress), cancel_training (stop running job), list_adapters (show available adapters), get_summary (get training statistics).
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform on the training system | |
| adapter_name | No | Name of the adapter: quality-scorer, prompt-enhancer, or style-recommender |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It briefly describes each action in parentheses but fails to mention side effects, prerequisites, or consequences of mutating actions like start_training or cancel_training.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the main purpose and concisely lists actions. It is appropriately sized but could be structured as a list for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple actions) and lack of output schema, the description provides a high-level overview but lacks detail on each action's behavior, required inputs, and results. It is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add new information about parameters beyond what the schema provides; action values are listed but schema already includes enum descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose ('Manage ML training jobs for the UIForge sidecar model') and lists specific actions. It is distinct from all sibling tools, none of which mention training.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by listing actions but does not provide explicit guidelines on when to use this tool versus alternatives or when to use each action. No when-not guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payments_refundA
Request a refund for a payment. Validates payment_id, amount (positive integer minor units), optional reason and currency. Returns a structured confirmation (stub).
| Name | Required | Description | Default |
|---|---|---|---|
| payment_id | Yes | ID of the payment to refund | |
| amount | Yes | Refund amount in minor units (e.g. cents) | |
| reason | No | Optional reason for the refund | |
| currency | No | ISO 4217 currency code (default: BRL) | BRL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose side effects. It mentions validation and a 'stub' confirmation, but does not clarify if the refund is actually executed or if it has destructive consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences conveying all necessary information without unnecessary words. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Mentions return type (stub) but lacks details on error scenarios, idempotency, or validation failure handling. Adequate but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds meaningful context: 'positive integer minor units' clarifies the amount format, and lists optional parameters (reason, currency) beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool requests a refund for a payment, specifying verb and resource. Distinguishes itself from sibling tools, which are unrelated to payments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Does not mention prerequisites, limitations, or when to avoid using it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refine_componentA
Iteratively improve an existing component based on natural language feedback. Apply accessibility fixes, dark mode, responsive improvements, component library upgrades, and design context alignment. Supports all frameworks.
| Name | Required | Description | Default |
|---|---|---|---|
| component_code | Yes | The existing component source code to refine | |
| feedback | Yes | Natural language description of desired improvements (e.g., "make it more responsive", "add dark mode support", "improve accessibility", "use shadcn Button instead of raw button") | |
| framework | Yes | Framework of the existing component | |
| dark_mode | No | Apply dark mode classes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool applies fixes and upgrades, and mentions 'Iteratively improve', implying multiple rounds. However, it does not explain the output format, whether changes are saved directly, or any side effects like code overwriting. The behavioral disclosure is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each adding value: first sentence states purpose, second lists capabilities, third asserts framework support. No redundancy, front-loaded purpose. Ideal length for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the tool's purpose and capabilities well. Missing details: return value description, constraints (e.g., code size limits), and clarification of 'iteratively' (whether multiple calls are needed). Still, it's largely complete for a refinement tool with well-named parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds limited extra meaning beyond the schema: it groups feedback examples and mentions 'supports all frameworks' which aligns with the framework enum. It does not offer deep parameter semantics or usage tips beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Iteratively improve an existing component' using a strong verb and specific resource. It lists concrete improvement types (accessibility, dark mode, responsive, library upgrades) and notes framework support, differentiating from sibling tools like generate_ui_component which create new components.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides examples of when to use (feedback like 'make it more responsive') and states it supports all frameworks. However, it does not explicitly mention when not to use this tool or suggest alternatives like generate_ui_component for creating new components from scratch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scaffold_backendA
Generate a complete production-ready backend project scaffold. Supports Express and Next.js with configurable features: auth (JWT/OAuth/Session), database (Prisma/Drizzle), API docs (Swagger), monitoring (Sentry), caching (Redis), and more. Includes TypeScript, testing, and CI/CD setup.
| Name | Required | Description | Default |
|---|---|---|---|
| projectName | Yes | Project name (e.g., "my-api", "ecommerce-backend") | |
| framework | Yes | Backend framework | |
| features | Yes | Features to include in the scaffold | |
| database | No | Database ORM (required if "database" feature is selected) | |
| auth | No | Authentication strategy (required if "auth" feature is selected) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It mentions 'production-ready' and configurable features but omits side effects (e.g., file creation, dependency installation), prerequisites (e.g., Node.js), and potential overwrites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that front-loads the purpose. It includes key details without verbosity, but could benefit from a more structured format (e.g., bullet points for features).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters and no output schema, the description covers purpose and options but lacks usage guidelines, prerequisites, and what happens after generation. It is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes all parameters. The description adds context about features like auth, database, and API docs but does not significantly enhance meaning beyond the schema's enum descriptions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Generate') and resource ('complete production-ready backend project scaffold'), and lists supported frameworks and features, clearly distinguishing it from sibling tools like generate_backend_module or generate_api_route.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. While it implies use for new projects, it lacks guidance on prerequisites, when not to use it, or how it compares to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scaffold_full_applicationB
Generate full project boilerplate with ML-composed pages for React, Next.js, Vue, Angular, Svelte, or HTML with Tailwind CSS and optional state management
| Name | Required | Description | Default |
|---|---|---|---|
| framework | Yes | Frontend framework to scaffold | |
| styling | No | Styling framework | tailwindcss |
| architecture | No | Project architecture pattern | flat |
| state_management | No | State management solution | none |
| project_name | Yes | Project name (used for directory and package.json) | |
| mood | No | Design mood/personality for composed pages | |
| industry | No | Target industry for composed pages | |
| visual_style | No | Visual style for composed pages | |
| brand_identity | No | JSON string from branding-mcp generate_brand_identity. Overrides design context with brand tokens. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention whether the tool overwrites existing files, requires network access, or any side effects. The term 'generate' suggests creation, but potential destructiveness or prerequisites are unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 23 words, front-loaded with the main purpose. Every part adds value: verb, scope, frameworks, styling, state management. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 9 parameters and no output schema, the description is minimal. It does not explain what is returned (likely generated files) or provide usage context like directory creation or example. For a complex generation tool, more completeness is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds context like 'ML-composed pages' for mood/industry/visual_style, but does not significantly enhance understanding beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a full project boilerplate with ML-composed pages, listing supported frameworks and styling. It distinguishes from sibling tools like scaffold_backend (backend-only) and generate_component_library (component-level) by specifying 'full project' and 'ML-composed pages'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for starting a new frontend project but does not explicitly state when to use this tool versus alternatives like scaffold_backend or generate_component_library. No exclusions or when-not guidance are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_component_libraryC
Set up a complete project with a component library (shadcn, radix, headlessui, material) including config files, dependencies, and initial components.
| Name | Required | Description | Default |
|---|---|---|---|
| library | Yes | Component library to set up | |
| framework | Yes | Target framework | |
| projectName | Yes | Name of the project | |
| projectPath | No | Project directory path | |
| components | No | Components to include | |
| patterns | No | UI patterns to include | |
| theme | No | Theme configuration | |
| customizations | No | Additional customizations | |
| skipInstall | No | Skip npm install step | |
| skipGit | No | Skip git initialization |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It does not specify if the tool modifies existing files, creates a new project directory, or if it is destructive. It mentions 'config files, dependencies, and initial components' but omits side effects like overwriting or npm install behavior (though a skipInstall parameter exists).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads key purpose. It is concise, though a slightly more structured format (e.g., listing what it includes) could improve clarity for a tool with 10 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, no output schema, no annotations), the description is incomplete. It does not explain the outcome (e.g., what is created, path structure), nor does it address when to use it in a workflow. Sibling tools like 'validate_component_library_setup' hint at missing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all 10 parameters. The description lists example libraries but does not add meaning beyond what's in the schema, such as explaining complex parameters like 'patterns' or 'customizations'. Thus, it meets baseline 3 without additional value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Set up' and the resource 'complete project with a component library', listing specific libraries as examples. However, it does not explicitly differentiate from the sibling tool 'generate_component_library', which could be similar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, such as 'generate_component_library'. It lacks prerequisites, context (e.g., new vs. existing project), and exclusions, leaving ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_feedbackB
Submit feedback on a previously generated UI component or page template. This helps UIForge learn your preferences and improve future generations.
| Name | Required | Description | Default |
|---|---|---|---|
| generation_id | Yes | The ID of the generation to provide feedback for | |
| rating | Yes | Rating from 1 (poor) to 10 (excellent) | |
| feedback_type | Yes | Type of feedback: explicit (user-provided) or implicit (behavior-based) | |
| comments | No | Optional detailed feedback comments | |
| issues | No | List of identified issues in the generated component | |
| strengths | No | List of identified strengths in the generated component | |
| component_type | No | Type of component (e.g., button, form, layout) | |
| framework | No | Target framework (e.g., react, vue, svelte) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions learning preferences but omits behavioral traits like idempotency, mutations, permissions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loading the action and purpose without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no output schema, and no annotations, the description does not cover return values, confirmation, or what happens after submission, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline is 3. The description adds no additional meaning beyond the schema; it does not explain the rating scale context or feedback_type in more detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Submit feedback' and specifies the resource as 'previously generated UI component or page template', which is distinct from sibling tools like 'refine_component'. It also explains the purpose of learning preferences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after generation but provides no explicit when-to-use, when-not-to-use, or alternatives. With 8 siblings, lack of differentiation is a problem.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_project_contextA
Writes or overwrites the context document for a UIForge project in the centralized store. Use this to keep the source of truth up-to-date after architectural decisions, status changes, roadmap updates, or any significant project change. Provide the full markdown content — this completely replaces the existing context.
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | Project slug (e.g. forge-patterns, uiforge-webapp, uiforge-mcp, mcp-gateway). Use a short kebab-case identifier for new projects. | |
| title | Yes | Human-readable project title (e.g. "forge-patterns Project Context") | |
| description | Yes | One-sentence description of the project for the resource listing | |
| content | Yes | Full markdown content of the project context document. This is the complete source of truth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Explicitly states 'completely replaces the existing context', making the destructive nature clear; no annotations provided so description carries full burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three efficient sentences: purpose, usage, and key behavior; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers replacement behavior and use cases; lacks mention of whether project must pre-exist or return value, but acceptable for a write tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers all parameters with descriptions; the description reinforces the content parameter's replacement behavior but adds minimal extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Writes or overwrites the context document' with a specific resource; distinguishes from the reading sibling 'get_project_context'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete use cases (decisions, status changes, roadmaps) but lacks explicit exclusion or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_component_library_setupC
Validate that a component library is correctly configured in a project directory.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Absolute path to the project directory | |
| library | Yes | Component library to validate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure burden. It only states the general purpose but does not describe what happens on success/failure, side effects, or return format. This is insufficient for a validation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words. However, it lacks behavioral details, but the score for conciseness alone is high.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool performs validation but the description does not explain what 'correctly configured' means, what checks are performed, or how results are returned. Given no output schema, this is insufficient for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters adequately. The description adds no additional parameter meaning beyond what is in the schema, earning a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Validate' and the resource 'component library is correctly configured in a project directory.' It distinguishes from siblings like 'analyze_component_library' and 'setup_component_library', though not explicitly, so it's a 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. There is no mention of prerequisites, context, or exclusions, leaving the agent without decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
38 tool updates
v0.25.0- First observed
analyze_component_library - First observed
analyze_design_image_for_training - First observed
analyze_design_references - First observed
assess_legacy_codebase - First observed
audit_accessibility - First observed
fetch_design_inspiration - First observed
figma_context_parser - First observed
figma_push_variables - First observed
forge_assess - First observed
forge_diff - First observed
forge_gate - First observed
forge_migrate - First observed
forge_scan - First observed
generate_api_route - First observed
generate_backend_module - First observed
generate_component_library - First observed
generate_design_image - First observed
generate_form - First observed
generate_from_template_pack - First observed
generate_migration_plan - First observed
generate_page_template - First observed
generate_prototype - First observed
generate_ui_component - First observed
get_available_components - First observed
get_available_libraries - First observed
get_component_library_status - First observed
get_project_context - First observed
image_to_component - First observed
list_projects - First observed
manage_training - First observed
payments_refund - First observed
refine_component - First observed
scaffold_backend - First observed
scaffold_full_application - First observed
setup_component_library - First observed
submit_feedback - First observed
update_project_context - First observed
validate_component_library_setup
TDQS
Many tools have overlapping purposes, e.g., analyze_component_library, analyze_design_references, fetch_design_inspiration all extract design patterns; forge_assess, assess_legacy_codebase, forge_scan all assess code quality. Agents may struggle to select the correct tool.
Tool names use inconsistent prefixes: analyze, assess, audit, fetch, figma, forge, generate, get, image_to, list, manage, payments, refine, scaffold, setup, submit, update, validate. No single verb_noun pattern is followed throughout.
38 tools is excessive for a UI-focused server. Many tools could be consolidated (e.g., multiple generate_* and forge_* tools) or split into separate servers. The scope seems too broad.
Covers analysis, generation, design, accessibility, migration, Figma, project context, and feedback, but lacks tools for deployment, user management, project creation, and design token CRUD. The payments_refund stub is an odd inclusion.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Build and manage your design system with AI: tokens, themes, components, icons, Figma and code.
UI design from prompts, screenshots, and URLs for AI coding agents and theme tokens.
Build and host full-stack apps from a prompt, with agents that reach you on WhatsApp and email.
Build, version, review, and export websites, web apps, and games from a conversation.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI-driven frontend component design and code generation from natural language requirements. Supports Vue, React, and Angular with intelligent component decomposition, API design, and complete project generation.43-
- AlicenseAqualityCmaintenanceEnables AI-powered UI component generation from natural language descriptions, integrating with IDEs like Cursor, Windsurf, and VS Code.416,596ISC
- FlicenseAqualityCmaintenanceEnables AI assistants to generate production-ready, professional UI design systems and components from simple descriptions, with real images, animated components, and automated quality checks.16-
- AlicenseAqualityDmaintenanceEnables AI-powered UI component generation from natural language descriptions, integrating with IDEs like Cursor and Windsurf.416,596ISC
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Forge-Space/ui-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server