Skip to main content
Glama

workflow_optimize_ux

Analyze and optimize user experience by evaluating performance, accessibility, usability, mobile responsiveness, and SEO. Streamline UI/UX workflows with detailed insights for improved design and functionality.

Instructions

Run comprehensive UX optimization analysis

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
analysesNo
urlYes

Implementation Reference

  • The core handler function that implements the workflow_optimize_ux tool. It validates input, runs specified UX analyses using helper methods, computes an overall score, generates recommendations, and returns structured results.
    async optimizeUX(args: any) { const params = OptimizeUXSchema.parse(args); const analyses = params.analyses || ['performance', 'accessibility', 'usability']; try { const results: any = { url: params.url, timestamp: new Date().toISOString(), analyses: {}, recommendations: [], overallScore: 0 }; // Performance Analysis if (analyses.includes('performance')) { results.analyses.performance = await this.analyzePerformance(params.url); } // Accessibility Analysis if (analyses.includes('accessibility')) { results.analyses.accessibility = await this.analyzeAccessibility(params.url); } // Usability Analysis if (analyses.includes('usability')) { results.analyses.usability = await this.analyzeUsability(params.url); } // Mobile Analysis if (analyses.includes('mobile')) { results.analyses.mobile = await this.analyzeMobile(params.url); } // SEO Analysis if (analyses.includes('seo')) { results.analyses.seo = await this.analyzeSEO(params.url); } // Calculate overall score const scores = Object.values(results.analyses).map((a: any) => a.score || 0); results.overallScore = scores.reduce((a, b) => a + b, 0) / scores.length; // Generate recommendations results.recommendations = this.generateUXRecommendations(results.analyses); return { content: [ { type: 'text', text: JSON.stringify(results, null, 2) } ] }; } catch (error: any) { return { content: [ { type: 'text', text: `Error optimizing UX: ${error.message}` } ], isError: true }; } }
  • Zod schema used for input validation within the handler.
    const OptimizeUXSchema = z.object({ url: z.string().url(), analyses: z.array(z.enum(['performance', 'accessibility', 'usability', 'mobile', 'seo'])).optional() });
  • src/index.ts:256-273 (registration)
    Tool registration in the listTools handler, including name, description, and input schema for MCP protocol.
    { name: 'workflow_optimize_ux', description: 'Run comprehensive UX optimization analysis', inputSchema: { type: 'object', properties: { url: { type: 'string' }, analyses: { type: 'array', items: { type: 'string', enum: ['performance', 'accessibility', 'usability', 'mobile', 'seo'] } } }, required: ['url'] } },
  • src/index.ts:332-333 (registration)
    Dispatch case in the main CallToolRequest handler that routes to the workflow_optimize_ux implementation.
    case 'workflow_optimize_ux': return await this.workflowTools.optimizeUX(args);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/willem4130/ui-ux-mcp-server'

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