Claude Gemini Bridge
Provides integration with Google Cloud Vertex AI, enabling access to Gemini 3 models for text generation, chat, image generation (Gemini 3 Pro Image, Imagen 4), video generation (Veo 3.1), and frontend design components.
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., "@Claude Gemini Bridgedesign a login page with tailwind"
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.
Claude Gemini Bridge
Claude Code için Vertex AI üzerinden Gemini 3 modellerine erişim sağlayan MCP sunucusu.
Özellikler
Text Generation: Context ve system instruction desteği ile metin üretimi
Multi-turn Chat: Oturum yönetimi ile çok turlu konuşmalar
Image Generation: Gemini 3 Pro Image ve Imagen 4 aileleri ile görsel üretimi
Video Generation: Veo 3.1 ile yüksek kaliteli video üretimi (otomatik GCS bucket)
Frontend Design: Gemini 3 Pro ile yüksek kaliteli TailwindCSS/HTML bileşen tasarımı
49 component tipi (atoms, molecules, organisms)
10 page template (landing, dashboard, auth, vb.)
14 tema (modern-minimal, cyberpunk, glassmorphism, vb.)
Proje bağlamı desteği (projenin ruhunu Gemini'ye aktarma)
İterasyon desteği (mevcut tasarımları revize etme)
Türkçe içerik üretimi
Streaming: Hızlı ilk yanıt için streaming desteği
OAuth Authentication: ADC ve gcloud CLI ile otomatik kimlik doğrulama
Related MCP server: Gemini Gen MCP
Gereksinimler
Python 3.10+
Google Cloud hesabı ve proje
gcloudCLI kurulu ve yapılandırılmışuvpackage manager
Kurulum
1. gcloud Kimlik Doğrulama
# Giriş yapın
gcloud auth login
# Application Default Credentials ayarlayın
gcloud auth application-default login
# Proje ayarlayın
gcloud config set project YOUR_PROJECT_ID2. Bağımlılıkları Yükleyin
cd /path/to/claude-gemini-bridge
uv sync3. Environment Variables
export GOOGLE_CLOUD_PROJECT="your-project-id"
# NOT: Gemini 3 modelleri "global" location gerektirir (default)
export GOOGLE_CLOUD_LOCATION="global" # Opsiyonel, default: global4. Claude Code'a Ekleyin
~/.claude/.mcp.json dosyasına ekleyin:
{
"mcpServers": {
"gemini": {
"command": "uv",
"args": ["run", "--directory", "/path/to/claude-gemini-bridge", "gemini-mcp"],
"env": {
"GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID",
"GOOGLE_CLOUD_LOCATION": "global"
}
}
}
}Not:
/path/to/claude-gemini-bridgekısmını projeyi klonladığınız gerçek dizin yolu ile değiştirin.
MCP Tools
ask_gemini
Gemini 3'e tek seferlik soru sorma.
Parametreler:
Parametre | Tip | Default | Açıklama |
| str | (zorunlu) | Soru veya görev |
| str | "" | Arka plan bilgisi |
| str | "" | Sistem talimatları |
| str | "gemini-3-flash-preview" | Kullanılacak model |
| float | 0.7 | Yaratıcılık (0-1) |
| int | 65536 | Maksimum yanıt uzunluğu |
| str | "medium" | Reasoning derinliği (minimal, low, medium, high) |
| bool | true | Streaming kullanımı |
Örnek:
"Bu Python kodunu optimize et: [kod]. Context: Performans kritik."chat_gemini
Gemini 3 ile çok turlu konuşma.
Parametreler:
Parametre | Tip | Default | Açıklama |
| str | (zorunlu) | Gönderilecek mesaj |
| str | "default" | Oturum kimliği |
| str | "gemini-3-flash-preview" | Kullanılacak model |
| str | "" | Yeni oturumlar için |
generate_image
Gemini 3 Pro Image ile görsel üretimi (4096px yüksek kalite).
Parametreler:
Parametre | Tip | Default | Açıklama |
| str | (zorunlu) | Görsel açıklaması |
| str | "gemini-3-pro-image-preview" | Model |
| str | "1:1" | En boy oranı |
| str | "base64" | "base64", "file", "both" |
| str | "./images" | Dosya çıktı dizini |
| int | 1 | Üretilecek görsel sayısı (1-4, Imagen 4) |
| str | "1K" | Çıktı çözünürlüğü (1K/2K, Imagen 4) |
generate_video
Veo 3.1 ile video üretimi. GCS bucket otomatik oluşturulur.
ÖNEMLİ: Video üretimi 1-10 dakika sürebilir.
Parametreler:
Parametre | Tip | Default | Açıklama |
| str | (zorunlu) | Video açıklaması |
| str | "veo-3.1-generate-001" | Kullanılacak model |
| str | "" | GCS URI (opsiyonel, otomatik oluşturulur) |
| int | 8 | Video süresi (4, 6, 8 saniye) |
| str | "16:9" | En boy oranı (16:9, 9:16) |
| str | "720p" | Çözünürlük (720p, 1080p) |
| bool | true | Ses üretimi (diyalog, müzik, SFX) |
| int | 1 | Video sayısı (1-4) |
Örnek:
prompt="A golden retriever running through a sunlit meadow, slow motion, cinematic"
duration_seconds=8
resolution="1080p"design_frontend
Gemini 3 Pro ile yüksek kaliteli frontend bileşen tasarımı.
Parametreler:
Parametre | Tip | Default | Açıklama |
| str | (zorunlu) | Bileşen tipi (button, card, navbar, hero, vb.) |
| str | "" | Kullanım bağlamı |
| str | "{}" | JSON formatında bileşen içeriği |
| str | "modern-minimal" | Görsel tema |
| bool | true | Dark mode desteği |
| str | "" | Özel köşe yuvarlaklığı |
| str | "sm,md,lg" | Responsive breakpoints |
| str | "AA" | WCAG seviyesi (AA/AAA) |
| bool | true | Hover/focus animasyonları |
| str | "" | Maksimum genişlik |
| str | "" | Proje bağlamı (amaç, hedef kitle, ton, sektör) |
Bileşen Tipleri (49 adet):
Atoms (13): button, input, badge, avatar, icon, dropdown, toggle, tooltip, slider, spinner, progress, chip, divider
Molecules (18): card, form, modal, tabs, table, accordion, alert, breadcrumb, pagination, search_bar, stat_card, pricing_card, carousel, stepper, timeline, file_upload, rating, color_picker
Organisms (18): navbar, hero, sidebar, footer, data_table, login_form, signup_form, contact_form, feature_section, testimonial_section, pricing_table, dashboard_header, kanban_board, calendar, chat_widget, notification_center, user_profile, settings_panel
Temalar (14 adet):
modern-minimal- Temiz, profesyonelbrutalist- Kalın, yüksek kontrastlıglassmorphism- Buzlu cam efektineo-brutalism- Eğlenceli, canlı renklersoft-ui- Neumorfik, yumuşak derinlikcorporate- Kurumsal, güvenilirgradient- Gradient-ağırlıklı modern tasarımcyberpunk- Neon renkler, koyu arka planretro- 80'ler/90'lar ilhampastel- Yumuşak pastel tonlardark_mode_first- Dark mode optimizasyonluhigh_contrast- WCAG AAA erişilebilirliknature- Toprak tonları, organik hisstartup- Tech startup estetiği
Örnek:
{
"component_type": "pricing_card",
"context": "SaaS fiyatlandırma sayfası için Pro tier kartı",
"content_structure": "{\"tier\": \"Pro\", \"price\": \"$29/ay\", \"features\": [\"Sınırsız kullanıcı\", \"Öncelikli destek\"], \"cta\": \"Başla\"}",
"theme": "modern-minimal",
"dark_mode": true
}Çıktı:
{
"component_id": "pricing-card-pro",
"atomic_level": "molecule",
"html": "<div class=\"bg-white dark:bg-slate-800...\">...</div>",
"tailwind_classes_used": ["rounded-xl", "shadow-lg", "..."],
"accessibility_features": ["aria-label", "focus-visible"],
"responsive_breakpoints": ["sm", "md", "lg"],
"dark_mode_support": true,
"micro_interactions": ["hover:shadow-xl", "transition-all"],
"design_notes": "...",
"model_used": "gemini-3-pro-preview"
}design_page
Gemini 3 Pro ile tam sayfa template tasarımı.
Parametreler:
Parametre | Tip | Default | Açıklama |
| str | (zorunlu) | Template tipi |
| str | "" | Kullanım bağlamı |
| str | "{}" | JSON formatında sayfa içeriği |
| str | "modern-minimal" | Görsel tema |
| bool | true | Dark mode desteği |
| str | "" | Proje bağlamı |
Template Tipleri (10 adet):
landing_page- Marketing landing page (hero, features, testimonials, pricing, CTA, footer)dashboard- Admin dashboard (sidebar, header, stats, charts, tables)auth_page- Login/signup sayfası (form, social login, branding)pricing_page- Fiyatlandırma karşılaştırma (tiers, features, FAQ)blog_post- Blog makale layout (header, content, sidebar, comments)product_page- E-commerce ürün sayfası (gallery, details, reviews, related)portfolio- Portfolio/showcase (hero, projects, about, contact)documentation- Docs sayfa layout (sidebar nav, content, TOC)error_page- 404/500 hata sayfalarıcoming_soon- Coming soon/maintenance sayfası
refine_frontend
Mevcut bir tasarımı doğal dil ile revize etme.
Parametreler:
Parametre | Tip | Default | Açıklama |
| str | (zorunlu) | Önceki HTML tasarımı |
| str | (zorunlu) | İstenen değişiklikler (doğal dilde) |
| str | "" | Proje bağlamı |
Örnek Kullanım:
# İlk tasarımı al
result = design_frontend(component_type="button", context="CTA butonu")
# Değişiklik iste
refined = refine_frontend(
previous_html=result["html"],
modifications="Buton rengini maviden yeşile çevir, köşeleri daha yuvarlak yap"
)Örnek Modification İstekleri:
"Buton rengini maviden yeşile çevir"
"Header'ı daha kompakt yap"
"Dark mode desteği ekle"
"Mobil responsive sorunlarını düzelt"
"Font boyutunu büyüt"
"Hover efektini daha belirgin yap"
list_frontend_options
Kullanılabilir bileşen tiplerini, temaları ve template'leri listele.
list_models
Kullanılabilir modelleri listele.
clear_chat_session
Chat oturumunu temizle.
Kullanılabilir Modeller
Text Modelleri
gemini-3-flash-preview- Pro-grade reasoning, Flash hızında (1M context)gemini-3-pro-preview- En güçlü reasoning, kompleks agentic workflows (1M context)
Image Modelleri
gemini-3-pro-image-preview- Yüksek kalite görsel üretimi (4096px, legible text, character consistency)imagen-4.0-ultra-generate-001- Ultra yüksek kalite ($0.06/görsel)imagen-4.0-generate-001- Standart yüksek kalite ($0.04/görsel)imagen-4.0-fast-generate-001- Hızlı üretim ($0.02/görsel)
Video Modelleri
veo-3.1-generate-001- Yüksek kalite, native audio (~$0.40/saniye)veo-3.1-fast-generate-001- Hızlı üretim (~$0.15/saniye)
Thinking Level
Gemini 3 modelleri için reasoning derinliği:
minimal- Hızlı, basit cevaplarlow- Hafif düşünmemedium- Dengeli yaklaşım (default)high- Derin reasoning, kompleks problemler
Sorun Giderme
"GOOGLE_CLOUD_PROJECT not set" hatası
export GOOGLE_CLOUD_PROJECT="your-project-id"Authentication hatası
gcloud auth application-default loginToken süresi doldu
Token otomatik olarak yenilenir. Sorun devam ederse:
gcloud auth application-default print-access-tokenTest
# Token kontrolü
gcloud auth application-default print-access-token
# MCP server'ı manuel çalıştırma
uv run gemini-mcpLisans
MIT
Available Tools
21 toolscompile_project_draftsC
Combine all HTML drafts in a project into a single file.
Simple concatenation of latest version of each component.
| Name | Required | Description | Default |
|---|---|---|---|
| project_name | Yes | ||
| output_filename | No | index.html |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 states 'simple concatenation' and 'latest version of each component', suggesting a non-destructive read operation, but lacks details on error handling, permissions, or impact on source files. The behavioral disclosure is minimal.
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 very concise at two sentences, with the primary purpose front-loaded. It efficiently conveys the core action, but could afford slightly more detail on parameters without losing brevity.
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 presence of an output schema, return values are covered, but the description lacks parameter explanations and usage conditions. For a simple two-parameter tool, the description is still incomplete, missing guidance on parameter dependencies or error scenarios.
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 0%, so the description should compensate by explaining parameter meaning. It does not describe 'project_name' beyond implication from the purpose, and does not explain 'output_filename' at all. The default value is in the schema, but the description adds no semantic 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 (combine) and resource (HTML drafts in a project), and distinguishes itself from sibling tools by focusing on compilation rather than listing or design. However, it does not explicitly differentiate from any similar compilation tools among siblings, and the scope 'all HTML drafts' could be more precise.
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 the existence of drafts, nor when not to use it. Sibling tools like list_drafts imply prior steps, but no explicit usage context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
design_from_referenceA
Design a component based on a reference image using Gemini Vision.
This tool analyzes a screenshot or design reference image and creates a similar component with matching visual style. Uses Gemini's vision capabilities to extract design tokens (colors, typography, spacing, etc.) and then generates HTML matching those tokens.
Two modes:
extract_only=True: Only extract design tokens, don't generate HTML
extract_only=False: Extract tokens AND generate matching component
Content language is configurable (default: Turkish).
Args: image_path: Path to the reference image file. Supported formats: PNG, JPG, JPEG, WEBP, GIF. Example: "/path/to/screenshot.png" component_type: Type of component to design based on the reference. If empty and extract_only=False, will auto-detect from image. Options: hero, navbar, card, pricing_card, footer, etc. instructions: Additional instructions for modifications. Examples: - "Buna benzer ama mavi tonlarında" - "Daha minimalist bir versiyon" - "Aynı stilde ama dark mode" - "Spacing'i daha geniş tut" context: Usage context for the component. Example: "Hero section for a Turkish restaurant website" project_context: Project-specific context for design consistency. Example: "Project: KokoreçUsta - Traditional restaurant. Target: Local customers. Tone: Warm, nostalgic." extract_only: If True, only extract and return design tokens. If False, also generate a matching HTML component. Default: False auto_fix: Apply JavaScript fallback fixes to generated HTML. Default: True content_language: Language code for content generation (default: "tr"). Supported: "tr" (Turkish), "en" (English), "de" (German).
Returns: Dict containing: - design_tokens: Extracted design tokens from the reference image - colors: Color palette with hex codes - typography: Font sizes, weights, line heights - spacing: Padding, margin, gap patterns - borders: Border radius, border styles - shadows: Shadow styles - layout: Grid/flex patterns detected - aesthetic: Overall design aesthetic (minimal, bold, etc.) - component_hints: Detected UI component types in the image - html: Generated HTML (only if extract_only=False) - design_notes: How the reference was interpreted - modifications: Changes made based on instructions - model_used: Always gemini-3-pro-preview
Examples: # Extract only - useful for understanding a design design_from_reference( image_path="/path/to/inspiration.png", extract_only=True )
# Full design from reference
design_from_reference(
image_path="/path/to/competitor-hero.png",
component_type="hero",
instructions="Buna benzer ama marka renklerimizle",
project_context="Project: TeknoSoft - B2B SaaS"
)
# Match style but different component
design_from_reference(
image_path="/path/to/navbar-design.png",
component_type="footer", # Use navbar's style for footer
instructions="Aynı stilde footer tasarla"
)Workflow: 1. Gemini Vision analyzes the reference image 2. Extracts design tokens (colors, typography, spacing, etc.) 3. Identifies aesthetic and component types 4. (If extract_only=False) Generates matching HTML with TailwindCSS 5. Applies JS fallback fixes if auto_fix=True
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| auto_fix | No | ||
| image_path | Yes | ||
| extract_only | No | ||
| instructions | No | ||
| use_trifecta | No | ||
| component_type | No | ||
| project_context | No | ||
| content_language | No | tr | |
| inject_js_fallbacks | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It details the use of Gemini Vision, extraction of design tokens, HTML generation with TailwindCSS, JS fallback fixes, content language, and the exact return structure. It does not cover error handling or performance, but is otherwise very 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 well-structured with sections, bullet points, and code blocks, front-loading the purpose. It is somewhat long due to multiple examples and detailed return type, but every part serves a purpose for an AI agent. Could be slightly more concise, but still effective.
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 complexity (10 params, no output schema, no annotations), the description is comprehensive. It covers return values in detail, modes, examples, and workflow. It implicitly differentiates from siblings by focus on reference images, but could explicitly mention alternatives. Overall, 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 0%, so description must compensate. It provides thorough explanations and examples for 8 of 10 parameters (e.g., image_path, instructions, context). Missing documentation for 'use_trifecta' and 'inject_js_fallbacks', but overall adds significant 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 'Design a component based on a reference image using Gemini Vision', specifying the verb, resource, and method. It distinguishes from sibling tools like design_frontend or design_section by focusing on reference-based design, making it unambiguous.
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 explains two modes (extract_only true/false) and provides various examples (extract only, full design, style match for different component). However, it does not explicitly state when not to use this tool versus alternatives, such as when no reference image is available.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
design_frontendA
Design a frontend UI component using Gemini 3 Pro.
This tool generates high-quality, production-ready HTML components with TailwindCSS. Always uses gemini-3-pro-preview for best design quality. Perfect for creating UI components that Claude Code can then integrate into a larger application.
IMPORTANT: Content language defaults to Turkish (tr). Use content_language parameter to generate content in other languages (en, de).
ADVANCED THEME CUSTOMIZATION: Each theme now supports deep customization via factory parameters. See theme-specific parameters below.
Workflow:
Claude analyzes the feature requirements
Claude breaks down into atomic components (atoms, molecules, organisms)
Claude calls design_frontend for each component with the same theme
Gemini 3 Pro generates high-quality HTML with TailwindCSS
Claude assembles the components into a complete page
Args: component_type: Type of component to design. Options: Atoms: button, input, badge, avatar, icon, dropdown, toggle, tooltip, slider, spinner, progress, chip, divider Molecules: card, form, modal, tabs, table, accordion, alert, breadcrumb, pagination, search_bar, stat_card, pricing_card, carousel, stepper, timeline, file_upload, rating, color_picker Organisms: navbar, hero, sidebar, footer, data_table, login_form, signup_form, contact_form, feature_section, testimonial_section, pricing_table, dashboard_header, kanban_board, calendar, chat_widget, notification_center, user_profile, settings_panel context: Usage context explaining where/how the component will be used. Example: "Primary CTA button for newsletter signup on landing page" content_structure: JSON string with component content. Example: '{"text": "Abone Ol", "icon": "mail"}' '{"tier": "Pro", "price": "₺299/ay", "features": ["Sınırsız kullanıcı"]}' theme: Visual style preset. Options: - modern-minimal: Clean, professional (default) - brutalist: Bold, high-contrast, sharp edges - glassmorphism: Frosted glass, transparency - neo-brutalism: Playful with bold colors - soft-ui: Neumorphic, soft depth - corporate: Professional, trustworthy - gradient: Gradient-heavy modern design - cyberpunk: Neon colors, dark background - retro: 80s/90s inspired - pastel: Soft pastel colors - dark_mode_first: Dark mode optimized - high_contrast: WCAG AAA accessible - nature: Earth tones, organic feel - startup: Tech startup aesthetic vibe: Optional design spirit / persona. Options: - elite_corporate: Precise, luxury corporate - playful_funny: High energy, bouncy, witty - cyberpunk_edge: High contrast, neon, industrial - luxury_editorial: Elegant, spacious, serif-heavy dark_mode: Include dark: variants for dark mode support (default: True) border_radius: Custom border radius override (e.g., "rounded-xl") responsive_breakpoints: Comma-separated breakpoints (default: "sm,md,lg") accessibility_level: WCAG level - "AA" or "AAA" (default: "AA") micro_interactions: Include hover/focus animations (default: True) max_width: Maximum width constraint (e.g., "1280px", "max-w-7xl") project_context: Project-specific context for design consistency. auto_fix: Apply JS fallback fixes automatically (default: True) content_language: Language for generated content (default: "tr") use_trifecta: Enable multi-agent Trifecta Engine pipeline for higher quality output. Uses 4 specialized agents (Architect, Alchemist, Physicist, QualityGuard) instead of single API call. Produces separate HTML/CSS/JS outputs. (default: False)
--- THEME-SPECIFIC CUSTOMIZATION ---
MODERN-MINIMAL:
brand_primary: Hex color for brand (e.g., "#E11D48"). Auto-generates palette.
neutral_base: Gray family - "slate", "gray", "zinc", "neutral", "stone"
BRUTALIST:
contrast_mode: "standard" (4.5:1), "high" (7:1), "maximum" (10:1+)
GLASSMORPHISM:
blur_intensity: "sm", "md", "lg", "xl", "2xl", "3xl"
glass_opacity: 0.3 to 0.95 (default: 0.7)
performance_mode: "quality", "balanced", "performance" (Safari optimization)
NEO-BRUTALISM:
gradient_preset: "sunset", "ocean", "forest", "candy", "fire"
gradient_animation: "none", "flow", "pulse", "shimmer", "wave"
SOFT-UI:
neumorphism_intensity: "subtle", "medium", "strong"
CORPORATE:
industry: "finance", "healthcare", "legal", "tech", "manufacturing", "consulting"
layout_style: "traditional", "modern", "editorial"
formality: "formal", "semi-formal", "approachable"
GRADIENT:
primary_gradient: "aurora", "sunset", "ocean", "forest", "fire",
"slate_subtle", "mesh_purple", "dark_aurora", etc. (20+ options)
CYBERPUNK:
primary_neon: "cyan", "fuchsia", "yellow", "green", "pink", "blue", "purple", "red", "orange"
neon_intensity: "subtle", "medium", "strong", "intense", "extreme"
scanline_effect: True/False for CRT-style scanlines
RETRO:
retro_era: "80s_tech", "80s_neon", "90s_grunge", "90s_web", "retro_futurism", "vintage_americana"
retro_color_scheme: "neon", "pastel", "earthy", "chrome"
PASTEL:
primary_pastel: "rose", "pink", "sky", "violet", "teal", "amber", "lime"
wcag_level: "AA" (4.5:1) or "AAA" (7:1) contrast
DARK_MODE_FIRST:
primary_glow: "emerald", "cyan", "violet", "amber"
light_mode_style: "minimal", "warm", "cool", "inverted"
HIGH_CONTRAST:
softness_level: "sharp" (no radius), "balanced", "smooth"
hc_color_scheme: "blue", "purple", "green", "neutral"
NATURE:
season: "spring", "summer", "autumn", "winter"
organic_shapes: True for blob-like rounded corners
eco_friendly_mode: True for simpler visuals (less energy)
STARTUP:
archetype: "disruptor", "enterprise", "consumer", "fintech",
"healthtech", "ai_ml", "sustainability"
startup_stage: "seed" (bold), "growth" (balanced), "scale" (refined)
--- CORPORATE QUALITY ENHANCEMENT ---
corporate_preset: One-click enterprise configuration. Options:
- "enterprise_bank": Finance, formal, WCAG AAA, premium quality
- "fintech_startup": Finance, semi-formal, modern layout
- "hospital_portal": Healthcare, formal, WCAG AAA
- "law_firm": Legal, editorial layout, luxury_editorial vibe
- "saas_enterprise": Tech, semi-formal, premium quality
- "developer_tools": Tech, approachable, cyberpunk_edge vibe
- "industrial_b2b": Manufacturing, traditional layout
- "management_consulting": Consulting, editorial, luxury_editorial
- "boutique_agency": Consulting, modern, semi-formal
quality_target: Quality level for validation strictness. Options:
- "draft": Fast output (threshold: 6.0, 1 iteration)
- "production": Standard (threshold: 7.0, 2 iterations) [default]
- "standard": Same as production
- "high": With Critic (threshold: 8.0, 3 iterations)
- "premium": With Professional Validator (threshold: 8.5, 4 iterations)
- "enterprise": Full corporate evaluation (threshold: 9.0, 5 iterations)Returns: Dict containing: - component_id: Unique identifier for the component - atomic_level: atom, molecule, or organism - html: Self-contained HTML with TailwindCSS (ready to use) - tailwind_classes_used: List of Tailwind classes used - accessibility_features: A11y features implemented - responsive_breakpoints: Breakpoints used - dark_mode_support: Whether dark mode is supported - micro_interactions: Animation/transition classes - design_notes: Gemini's explanation of design decisions - theme_config: Advanced theme configuration used - model_used: Always gemini-3-pro-preview
When use_trifecta=True, additional fields:
- trifecta_enabled: True
- agents_executed: List of agents that ran (e.g., ["architect", "alchemist"])
- css_output: Separate CSS generated by Alchemist agent
- js_output: Separate JS generated by Physicist agentExamples: # Custom Brand Colors (Modern-Minimal) design_frontend( component_type="button", theme="modern-minimal", brand_primary="#E11D48", # Rose brand color neutral_base="zinc" )
# High Contrast Brutalist
design_frontend(
component_type="card",
theme="brutalist",
contrast_mode="maximum" # WCAG AAA+
)
# Corporate Preset - One-Click Enterprise Setup
design_frontend(
component_type="hero",
corporate_preset="enterprise_bank", # Auto-sets: finance, formal, premium
use_trifecta=True # Recommended for enterprise quality
)
# Enterprise Quality with Custom Settings
design_frontend(
component_type="pricing_table",
theme="corporate",
industry="healthcare",
formality="formal",
quality_target="enterprise", # WCAG AAA, 5 iterations, full validation
use_trifecta=True
)
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | ||
| vibe | No | ||
| theme | No | modern-minimal | |
| season | No | spring | |
| context | No | ||
| auto_fix | No | ||
| industry | No | consulting | |
| archetype | No | disruptor | |
| dark_mode | No | ||
| formality | No | semi-formal | |
| max_width | No | ||
| retro_era | No | 80s_neon | |
| wcag_level | No | AA | |
| auto_preview | No | ||
| layout_style | No | modern | |
| neutral_base | No | slate | |
| primary_glow | No | emerald | |
| primary_neon | No | cyan | |
| use_trifecta | No | ||
| border_radius | No | ||
| brand_primary | No | ||
| contrast_mode | No | standard | |
| glass_opacity | No | ||
| startup_stage | No | growth | |
| blur_intensity | No | xl | |
| component_type | Yes | ||
| neon_intensity | No | medium | |
| organic_shapes | No | ||
| primary_pastel | No | rose | |
| quality_target | No | production | |
| softness_level | No | balanced | |
| gradient_preset | No | sunset | |
| hc_color_scheme | No | blue | |
| project_context | No | ||
| scanline_effect | No | ||
| content_language | No | tr | |
| corporate_preset | No | ||
| light_mode_style | No | minimal | |
| performance_mode | No | balanced | |
| primary_gradient | No | aurora | |
| content_structure | No | {} | |
| eco_friendly_mode | No | ||
| gradient_animation | No | flow | |
| micro_interactions | No | ||
| retro_color_scheme | No | neon | |
| accessibility_level | No | AA | |
| inject_js_fallbacks | No | ||
| neumorphism_intensity | No | medium | |
| responsive_breakpoints | No | sm,md,lg |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavior: it uses Gemini 3 Pro, generates HTML/CSS/JS, supports various options like themes, quality levels, and multi-agent Trifecta pipeline. It does not mention rate limits or authentication, but since it is a generative tool, these are less critical. Overall, it provides sufficient 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?
The description is very long but well-structured with clear sections (Workflow, Args, Theme-Specific, Corporate Quality, Examples). It is front-loaded with the core purpose, making key information easy to find. While lengthy, the complexity of the tool justifies the verbosity.
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 the high complexity (49 parameters, no output schema, no annotations), the description covers all necessary aspects: workflow, parameter details, return fields, theme customization, quality targets, and examples. It leaves no significant gaps for an agent to understand how to use the 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?
The input schema has 49 parameters with 0% description coverage, so the description carries the full burden. It thoroughly explains each parameter's purpose, possible values, and defaults, including exhaustive lists for component_type, theme, and theme-specific options. This is essential for correct tool invocation.
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 designs frontend UI components using Gemini 3 Pro, generating production-ready HTML with TailwindCSS. It distinguishes itself from sibling tools like design_page and design_section by specifying that it creates atomic components (atoms, molecules, organisms) for assembly by Claude.
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 clear context on when to use the tool ('perfect for creating UI components that Claude Code can then integrate') and includes a workflow explaining its role in a larger pipeline. However, it does not explicitly state when not to use it or list alternative tools for different component sizes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
design_pageA
Design a full page layout using Gemini 3 Pro.
This tool generates complete page layouts with multiple sections. Content language is configurable (default: Turkish).
Args: template_type: Type of page template. Options: - landing_page: Marketing landing page with hero, features, CTA - dashboard: Admin dashboard with sidebar, stats, data views - auth_page: Login/signup page with form and branding - pricing_page: Pricing comparison with tiers and FAQ - blog_post: Blog article layout with content and sidebar - product_page: E-commerce product page with gallery - portfolio: Portfolio/showcase page with projects grid - documentation: Docs page with navigation and content - error_page: 404/500 error page with helpful actions - coming_soon: Coming soon/maintenance page with countdown context: Usage context explaining the page purpose. Example: "Landing page for a Turkish SaaS product" content_structure: JSON string with page content. Example: '{"title": "Hoş Geldiniz", "subtitle": "En iyi çözüm"}' theme: Visual style preset (same as design_frontend) dark_mode: Include dark mode support (default: True) project_context: Project-specific context for design consistency. content_language: Language code for content generation (default: "tr"). Supported: "tr" (Turkish), "en" (English), "de" (German).
Returns: Dict containing: - page_id: Unique identifier for the page - template_type: The template used - html: Complete HTML with TailwindCSS - sections: List of sections included - design_notes: Gemini's explanation of design decisions - model_used: Always gemini-3-pro-preview
| Name | Required | Description | Default |
|---|---|---|---|
| theme | No | modern-minimal | |
| context | No | ||
| dark_mode | No | ||
| use_trifecta | No | ||
| template_type | Yes | ||
| project_context | No | ||
| content_language | No | tr | |
| content_structure | No | {} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the use of Gemini 3 Pro, output format (HTML with TailwindCSS), and return fields including design_notes. However, it does not mention potential side effects, authorization requirements, or whether the tool is idempotent.
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 well-structured with clear sections for purpose, arguments, and return value. It is appropriately sized for the tool's complexity, with no redundant or 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?
Given 8 parameters, no output schema, and no annotations, the description fully covers inputs, outputs, and behavior. It explains the return dictionary with six fields, making it complete for an agent to use.
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 description includes a full 'Args:' section with detailed explanations, default values, and examples for all eight parameters. Since the schema has no descriptions (0% coverage), this adds significant meaning beyond the schema alone.
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 'Design a full page layout using Gemini 3 Pro' and lists nine specific template types, making the purpose unambiguous. It distinguishes from sibling tools like 'design_section' by focusing on complete 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 provides detailed guidance on when to use the tool, including a list of template types and example configurations. However, it does not explicitly state when not to use it or mention alternative tools for specific cases, which would improve guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
design_sectionA
Design a single page section that matches previous sections.
Use this tool to build large pages section-by-section, where each section maintains visual consistency with previous ones. This solves the token limit problem by designing one section at a time.
Content language is configurable (default: Turkish).
Chain Workflow:
Design first section (e.g., hero) - no previous_html needed
Design second section with previous_html from step 1
Continue chain, each section matches the previous style
Combine all sections into a complete page
Args: section_type: Type of section to design. Options: - hero: Hero/banner section with headline and CTA - features: Feature showcase grid or list - pricing: Pricing tiers/cards - testimonials: Customer testimonials/reviews - cta: Call-to-action section - footer: Page footer with links - stats: Statistics/metrics display - faq: FAQ accordion section - team: Team members grid - contact: Contact form section - gallery: Image/portfolio gallery - newsletter: Newsletter signup section context: Usage context explaining where/how the section will be used. Example: "Hero section for a Turkish SaaS landing page" previous_html: HTML from previous section for style matching. When provided, Gemini will analyze and match: - Color palette (primary, secondary, background) - Typography (fonts, weights, sizes) - Spacing patterns (padding, margins) - Border radius - Shadow styles - Animation patterns design_tokens: JSON string with explicit design tokens to use. If not provided but previous_html is given, tokens will be extracted automatically. Format: '{"colors": {...}, "typography": {...}, "spacing": {...}}' content_structure: JSON string with section content. Example: '{"headline": "Başlık", "subheadline": "Alt başlık", "cta": "Başla"}' theme: Visual style preset (modern-minimal, brutalist, etc.) vibe: Optional design spirit / persona. Options: - elite_corporate: Precise, luxury corporate - playful_funny: High energy, bouncy, witty - cyberpunk_edge: High contrast, neon, industrial - luxury_editorial: Elegant, spacious, serif-heavy project_context: Project-specific context for design consistency. content_language: Language code for content generation (default: "tr"). Supported: "tr" (Turkish), "en" (English), "de" (German).
Returns: Dict containing: - section_type: Type of section designed - html: Self-contained HTML with TailwindCSS classes - design_tokens: Extracted design tokens for next section in chain - tailwind_classes_used: List of Tailwind classes used - accessibility_features: A11y features implemented - responsive_breakpoints: Breakpoints used - dark_mode_support: Whether dark mode is supported - design_notes: Gemini's design decisions explanation - model_used: Always gemini-3-pro-preview
Example Chain: # 1. Start with hero hero = design_section( section_type="hero", context="Landing page for B2B SaaS" )
# 2. Features section matching hero style
features = design_section(
section_type="features",
previous_html=hero["html"],
design_tokens=json.dumps(hero["design_tokens"])
)
# 3. Pricing section continuing the chain
pricing = design_section(
section_type="pricing",
previous_html=features["html"],
design_tokens=json.dumps(features["design_tokens"])
)
# 4. Combine all sections
full_page = hero["html"] + features["html"] + pricing["html"]
| Name | Required | Description | Default |
|---|---|---|---|
| vibe | No | ||
| theme | No | modern-minimal | |
| context | No | ||
| auto_fix | No | ||
| section_type | Yes | ||
| use_trifecta | No | ||
| design_tokens | No | {} | |
| previous_html | No | ||
| project_context | No | ||
| content_language | No | tr | |
| content_structure | No | {} | |
| inject_js_fallbacks | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: generates HTML with TailwindCSS, outputs design tokens for chaining, uses Gemini model, matches style from previous_html, configurable language, and lists return fields. It covers what the tool does and how it works.
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 well-structured with clear sections: purpose, usage, chain workflow, args, returns, example. It front-loads the purpose. While slightly long, every part adds value; minor redundancy in the chain example could be trimmed.
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 12 params, no output schema, and no annotations, the description is thorough. It explains the chain workflow, provides a full example, lists return fields, and covers most parameters. Missing explanation for three boolean params prevents a perfect score.
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 0%, but the description provides extensive details for most parameters: section_type options with descriptions, context example, previous_html usage, design_tokens format, content_structure example, vibe options, content_language codes. Three boolean params (auto_fix, use_trifecta, inject_js_fallbacks) are not explained, leaving a small gap.
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 'Design a single page section that matches previous sections' and explains the chain workflow for building pages section-by-section. This differentiates it from siblings like 'design_page' (whole page) or 'design_from_reference'.
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 says 'Use this tool to build large pages section-by-section' and provides a detailed step-by-step chaining workflow with an example. It implies not to use for entire page design, and the chain example shows how to combine sections.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_imageC
Generate design assets using Gemini or Imagen models.
Args: prompt: Description of the asset. model: Model name. aspect_ratio: Image ratio. output_format: base64 or file. output_dir: Save directory. number_of_images: Image count. output_resolution: Resolution (1K/2K).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | gemini-3-pro-image-preview | |
| prompt | Yes | ||
| output_dir | No | ./images | |
| aspect_ratio | No | 1:1 | |
| output_format | No | base64 | |
| number_of_images | No | ||
| output_resolution | No | 1K |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It mentions model names but omits critical traits like authentication, cost implications, rate limits, or whether generation is synchronous. The agent lacks insight into side effects or prerequisites.
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 the main purpose front-loaded and an organized Args list. However, the parameter descriptions are terse, sacrificing depth for brevity. The structure is efficient but could benefit from additional context.
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 7 parameters, no output schema, and no annotations, the description is incomplete. It does not explain return format, side effects, or constraints like image limits. The agent cannot fully anticipate tool behavior, especially regarding output handling for base64 vs file.
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 0%, so the description must compensate. However, parameter explanations are minimal (e.g., 'Image ratio' for aspect_ratio), offering little beyond schema titles. For example, 'model' lacks valid values, and 'output_format' doesn't clarify outcomes (base64 vs file path). This fails to resolve ambiguity for the agent.
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 'Generate' and the resource 'design assets', implying image generation. It distinguishes from sibling tools like design_from_reference by specifying use of Gemini or Imagen models, making the purpose unambiguous.
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 like design_from_reference or refine_frontend. It lacks context for selection, such as scenarios where image generation is appropriate vs. other design tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_draftsA
List all saved design drafts for a given project.
Use this to recover lost work or see previous versions.
Args: project_name: Name of the project (folder in temp_designs)
| Name | Required | Description | Default |
|---|---|---|---|
| project_name | No | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It indicates a read-only operation but doesn't explicitly state non-destructive behavior or permissions needed. Basic transparency is present.
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?
Description is two sentences plus a concise parameter documentation, front-loaded with the primary purpose. Every sentence 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 no output schema, the description adequately covers purpose and parameter, but could hint at return format (e.g., list of draft names). Still sufficient for a simple listing 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 coverage is 0%, but the description adds meaning by explaining that project_name is a folder in temp_designs, providing context beyond the schema's type and default.
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'), the resource ('saved design drafts'), and the scope ('for a given project'), effectively distinguishing it from siblings like compile_project_drafts and design_frontend.
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 clear usage context ('recover lost work or see previous versions') but does not explicitly mention when not to use or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_frontend_optionsA
List available frontend design options including advanced theme customization.
Returns all available component types, themes, templates, section types, and NEW: advanced theme factory options for deep customization.
Returns: Dict containing: - components: List of available component types (atoms, molecules, organisms) - themes: List of available theme presets with descriptions - templates: List of available page templates - sections: List of available section types for design_section - theme_factories: NEW - Advanced customization options for each theme - micro_interactions: Available interaction presets - visual_effects: Available visual effect presets - icons: Available SVG icons
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description bears full responsibility. It fully discloses the return structure (dictionary with fields like components, themes, etc.) and notes new features (theme_factories). It does not mention side effects or permissions, which are minimal for a read-only listing.
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 front-loaded with the main action and resource, followed by a clear bulleted list of return fields. It is slightly verbose but well-structured and every sentence adds value. Could be trimmed slightly, but overall effective.
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 parameters and no output schema, the description is comprehensively covers the return values and structure. It lists all eight fields with brief explanations, making the tool's behavior fully predictable.
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?
There are zero parameters, and the input schema is empty. Per guidelines, baseline is 4. No additional parameter information is needed, and the description does not attempt to add param details beyond what the schema 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 explicitly states 'List available frontend design options' with a specific verb and resource. It includes detailed contents like component types, themes, templates, and mentions 'NEW: advanced theme factory options,' clearly distinguishing it from sibling tools that involve design actions or other listings.
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. The purpose is clear enough that an agent can infer it should be used to retrieve design options before crafting a design, but there is no statement of prerequisites or exclusionary conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modelsA
List available Gemini models for design tasks.
Returns information about image generation models available on Vertex AI. This MCP server is design-focused - use image models for creating design assets like hero backgrounds, product images, and illustrations.
Returns: Dict containing image models with their specifications.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes a simple read operation ('List', 'Returns information') with no destructive hints. The return type is given ('Dict containing image models with their specifications'). No hidden behaviors are implied.
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 (three sentences), front-loaded with purpose, and every sentence adds value: purpose, context, return type. No waste.
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 (no parameters, no output schema), the description adequately explains what it does and what it returns. It doesn't detail the exact structure of the dict, but for a listing tool, this 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 tool has zero parameters, so input schema coverage is 100%. The description adds no parameter details, which is appropriate as there are none. Baseline score of 4 applies.
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 ('List') and the resource ('available Gemini models for design tasks'). It also distinguishes from sibling tools by specifying that this is a listing tool for models, while siblings involve design generation, compiling drafts, etc.
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 context on when to use the tool ('design-focused', 'use image models for creating design assets'). It implies this is for browsing models before generating, though it doesn't explicitly state when not to use it. Clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maestro_abortA
Abort and cleanup a MAESTRO session.
Use this to cancel an in-progress interview and free resources. Sessions automatically expire after 1 hour, but you can use this to immediately cleanup if needed.
Args: session_id: Session ID to abort
Returns: Dict containing: - success: True if session was aborted, False if not found - message: Human-readable status message
Example: # Abort an active session result = await maestro_abort(session_id="maestro_abc123") if result["success"]: print("Session aborted successfully")
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description discloses the tool aborts sessions, returns a dict with success and message, and that sessions auto-expire. Could mention more about side effects, but sufficient for a simple operation.
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?
Well-structured with Args, Returns, and Example sections. Slightly verbose but clear and front-loaded with purpose.
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 purpose, usage, parameter, return value, and example thoroughly for a simple tool. No gaps given the tool's 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 coverage is 0%, so description compensates by defining 'session_id: Session ID to abort' and showing usage in an example. Adds value beyond schema's minimal title.
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 states 'Abort and cleanup a MAESTRO session' with a specific verb and resource, clearly distinguishing it from sibling tools like 'maestro_start_session' or 'maestro_answer'.
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 says to use for canceling an in-progress interview and freeing resources, and mentions automatic expiration after 1 hour. Lacks explicit exclusions or alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maestro_answerA
Submit an answer to the current MAESTRO question.
Call this tool to answer each question during the MAESTRO interview. Returns either the next question or a design decision if the interview is complete.
Args: session_id: Active session ID from maestro_start_session question_id: ID of the question being answered (from question.id) selected_options: List of selected option IDs (e.g., ["opt_landing_page"]). Most questions require exactly one selection. free_text: Optional free text input for text-type questions
Returns: Dict containing EITHER: - question: Next question (if interview continues) - progress: Updated interview progress (0.0 to 1.0) - status: "interviewing"
OR:
- decision: Final design decision with mode, confidence, parameters
- progress: 1.0
- status: "decided"Example: # Answer a question result = await maestro_answer( session_id="maestro_abc123", question_id="q_intent_main", selected_options=["opt_new_design"] ) if result["status"] == "decided": # Ready to execute! decision = result["decision"] else: # More questions to answer next_question = result["question"]
| Name | Required | Description | Default |
|---|---|---|---|
| free_text | No | ||
| session_id | Yes | ||
| question_id | Yes | ||
| selected_options | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries full burden. It explains the return structure (next question or final decision) but does not disclose side effects, state changes, or whether the tool is idempotent. It does not mention prerequisites beyond having a valid session_id. While the output behavior is clear, the behavioral traits beyond output are 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?
The description is well-structured with sections for Args, Returns, and Example. It is front-loaded with the purpose. However, it is somewhat verbose; the Returns section could be more concise. Overall, it is organized and readable.
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 (interview flow with two possible outcomes) and no output schema, the description provides a thorough Returns section explaining both cases. It covers parameters and usage context. Minor omission: no mention of error handling or invalid session/ID 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?
With 0% schema description coverage, the description effectively adds meaning. It documents all four parameters in the Args section, explaining where to obtain each (e.g., session_id from 'maestro_start_session', question_id from 'question.id'). It also includes an example and notes about 'selected_options' typically requiring exactly one. This compensates well for the schema gap.
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: 'Submit an answer to the current MAESTRO question.' It identifies the verb ('submit') and resource ('MAESTRO question'), and explains its role in the interview flow. However, it does not explicitly differentiate it from sibling tools like 'maestro_get_decision' or 'maestro_get_progress', which reduces clarity slightly.
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 says 'Call this tool to answer each question during the MAESTRO interview.' It provides an example and explains two possible outcomes. However, it does not specify when NOT to use the tool (e.g., after interview is complete) or mention alternative tools from the sibling list. This leaves room for ambiguity in choosing the correct tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maestro_executeA
Execute the design decision from the MAESTRO session.
This generates the actual design output (HTML, CSS, JS) based on the mode and parameters determined during the interview.
You must have a decided session (either from completing the interview or calling maestro_get_decision) before calling this tool.
Args: session_id: Active session ID with a decision ready use_trifecta: Use multi-agent Trifecta pipeline for higher quality. When True, uses Architect → Alchemist → Physicist → QualityGuard agents for superior output. (default: False) quality_target: Quality level for output. Options: - "draft": Quick output (threshold: 6.0, 1 iteration) - "production": Standard quality (threshold: 7.0, 2 iterations) - "high": High quality with Critic (threshold: 8.0, 3 iterations) - "premium": Premium quality (threshold: 8.5, 4 iterations) - "enterprise": Enterprise-grade (threshold: 9.0, 5 iterations) (default: "production")
Returns: Dict containing: - html: Generated HTML output - mode: Design mode that was executed - trifecta_enabled: Whether Trifecta pipeline was used - quality_target: Quality level used - css_output: Separate CSS (only if trifecta=True) - js_output: Separate JS (only if trifecta=True) - design_notes: Explanation of design decisions - status: "complete" | "failed"
Example: # Execute with Trifecta for high quality result = await maestro_execute( session_id="maestro_abc123", use_trifecta=True, quality_target="premium" ) if result["status"] == "complete": html = result["html"]
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | ||
| use_trifecta | No | ||
| quality_target | No | production |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. It explains the execution process, the multi-agent Trifecta pipeline for higher quality, and the return values including status and design notes. It does not mention error handling beyond 'status: failed' or potential side effects, but overall provides adequate 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?
The description is well-structured with a clear purpose statement, separated Args and Returns sections, and an example. Every sentence contributes value, and the information is front-loaded. The length is appropriate for the complexity of the tool.
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 (three parameters, no output schema, multiple siblings), the description covers prerequisites, parameter options, return values, and includes an example. It lacks details on error conditions beyond 'failed' status and does not explain behavior when the session is not ready, but overall is sufficiently complete for an agent to invoke 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?
The input schema has 0% description coverage, so the description must compensate. It does so comprehensively: session_id is described as 'Active session ID with a decision ready', use_trifecta explains the multi-agent pipeline, and quality_target provides explicit options with threshold and iteration details. This adds substantial meaning beyond the schema titles.
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 executes a MAESTRO session decision to generate design output (HTML, CSS, JS). It is distinct from sibling tools like maestro_get_decision (which retrieves the decision) and design_frontend (which may create standalone designs).
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 explicitly requires a decided session before use, mentioning both 'completing the interview' and 'calling maestro_get_decision' as prerequisites. It also details the quality_target options and their implications. However, it does not provide explicit guidance on when not to use this tool or compare it to alternative design tools among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maestro_get_analyticsA
Get MAESTRO session analytics and usage metrics.
Phase 6 feature: Provides comprehensive analytics including:
Session tracking (duration, questions asked)
Cost analysis (API token usage, estimated costs)
Quality metrics (design scores, dimension breakdowns)
Returns: Dict containing: - session_tracker: Session statistics - cost_summary: Token usage and cost estimates - quality_summary: Quality score aggregations
Example: # Get analytics after running several sessions analytics = await maestro_get_analytics() print(f"Toplam oturum: {analytics['session_tracker']['total_sessions']}") print(f"Tahmini maliyet: ${analytics['cost_summary']['total_cost']:.4f}")
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It describes return structure and example usage, implying a read-only analytics operation. However, it does not explicitly state that data is not modified or mention rate limits or permissions.
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?
Description is three paragraphs with an example including Turkish text, making it longer than needed. The example is somewhat verbose and could be condensed for an English-speaking agent.
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 return data categories and provides an example. Lacks prerequisites (e.g., needing an active session) and does not mention any error conditions, but overall adequate for a simple analytics 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?
Input schema has zero parameters (100% coverage trivially). Description adds value by explaining the output fields and context, which is sufficient for a parameterless tool.
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 'Get MAESTRO session analytics and usage metrics,' listing specific categories (session tracking, cost analysis, quality metrics). Distinguishes from sibling tools like maestro_abort or maestro_start_session.
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. The only contextual hint is 'Phase 6 feature,' but it lacks when/why not or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maestro_get_decisionA
Force a design decision with current answers (skip remaining questions).
Use this tool when you want to proceed with partial information and skip the remaining interview questions. MAESTRO will make the best decision based on the answers provided so far.
Args: session_id: Active session ID from maestro_start_session
Returns: Dict containing: - decision: Design decision with: - mode: Selected design mode (design_frontend, design_page, etc.) - confidence: Confidence score (0.0 to 1.0) - parameters: Mode-specific parameters - reasoning: Human-readable explanation - alternatives: Other viable modes - status: "decided" | "failed"
Example: # Force decision after answering some questions result = await maestro_get_decision(session_id="maestro_abc123") if result["status"] == "decided": print(f"Mode: {result['decision']['mode']}") print(f"Confidence: {result['decision']['confidence']}")
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It explains the tool forces a decision and skips questions, but does not mention side effects (e.g., whether the session becomes unusable or if the decision is irreversible). The return format is detailed, but the behavioral impact is partially unclear.
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 well-structured with Args, Returns, and Example sections, making it easy to scan. The purpose is front-loaded. Could be slightly more concise, but the structure compensates.
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 simple tool with one parameter and no output schema, the description provides detailed return structure and usage example. It covers purpose, input, output, and condition for use. However, it omits potential error cases 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?
The single parameter 'session_id' is described as 'Active session ID from maestro_start_session', which adds meaningful context beyond the schema's bare 'Session Id'. This helps the agent understand the parameter's origin and validity requirements.
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 tool forces a design decision using current answers and skips remaining questions. The verb 'force' combined with 'skip remaining questions' precisely defines the tool's unique action, distinguishing it from siblings like maestro_answer or maestro_abort.
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 'Use this tool when you want to proceed with partial information and skip the remaining interview questions.' This provides clear context but does not explicitly mention when not to use it or list alternative tools, though the sibling names hint at alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maestro_get_progressA
Get rich formatted progress display for a session.
Phase 6 feature: Returns visual progress information including:
Progress bar with percentage
Current step indicator
Category-specific tips
Args: session_id: Active session ID
Returns: Dict containing: - progress_bar: Visual ASCII progress bar - percentage: Progress as percentage string - current_step: Current step number - total_steps: Estimated total steps - category_tip: Helpful tip for current category
Example: progress = await maestro_get_progress(session_id="maestro_abc123") print(progress["progress_bar"]) # ████████░░░░░░░░ 50%
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It details the return structure (progress bar, percentage, current_step, total_steps, category_tip) and gives an example. However, it does not explicitly state that the operation is read-only or discuss side effects, which would raise transparency further.
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 well-structured with clear headings (Args, Returns, Example) and is concise. Every sentence adds value; there is no redundancy or fluff. The example further enhances clarity without unnecessary length.
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 no output schema and no annotations, the description fully covers the tool's purpose, parameters, return values, and provides an example. For a simple retrieval tool with one parameter, this is complete and demonstrates strong contextual coverage.
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 0% description coverage for the single parameter 'session_id'. The description adds 'Active session ID' which provides basic semantics but does not elaborate on format or constraints. The baseline of 3 is appropriate given the low coverage and minimal compensation.
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 'Get' and clearly identifies the resource 'rich formatted progress display for a session'. It distinguishes itself from sibling tools like 'maestro_get_decision' and 'maestro_get_analytics' by focusing on progress tracking.
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 includes 'Phase 6 feature' hinting at context but does not explicitly state when to use this tool over alternatives. No when-not-to-use or alternative suggestions are provided, leaving usage largely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maestro_get_recommendationsB
Get smart design recommendations based on user preferences.
Phase 6 feature: Uses AI-powered recommendation engine to suggest optimal theme, mode, and quality settings based on:
User preference history
Project context analysis
Industry best practices
Returns: Dict containing: - theme: Theme recommendation with confidence and alternatives - mode: Design mode recommendation - quality: Quality level recommendation - defaults: Recommended default values for all parameters
Example: # Get recommendations before starting a session recs = await maestro_get_recommendations() print(f"Önerilen tema: {recs['theme']['value']}") print(f"Güven: {recs['theme']['confidence']:.0%}")
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes that the tool uses an AI engine and returns recommendations, but it does not disclose whether it is read-only, requires authentication, or any other behavioral traits. It is not contradictory but lacks depth.
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 fairly concise with a front-loaded purpose statement. It includes a brief explanation of the engine, return fields, and an example. However, the example includes non-English text, which may slightly reduce 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?
For a tool with no parameters and no output schema, the description covers the tool's purpose, how it works, and the return structure with an example. It is largely complete, though it could mention error handling 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?
The input schema has zero parameters, and schema coverage is 100%. Per calibration, baseline is 4. The description adds value by explaining the return structure and example, which compensates for the lack 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 states the tool gets smart design recommendations based on user preferences, specifying the resource (recommendations) and the verb (get). It mentions factors like user preference history and project context, but does not explicitly differentiate from sibling tools like maestro_get_decision or maestro_get_analytics.
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 context with the example 'Get recommendations before starting a session', but it does not provide explicit when-to-use or when-not-to-use guidance, nor does it compare with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maestro_start_sessionA
Start a new MAESTRO design wizard session.
MAESTRO asks intelligent questions to understand your design needs and automatically selects the best design mode and parameters.
This is the entry point for the guided design workflow. MAESTRO will ask a series of questions about your intent, scope, theme preferences, and then generate a design decision.
NEW in v2: If a design_brief is provided, MAESTRO uses AI to extract the project's "soul" (brand personality, target audience, visual language) and generates dynamic, context-aware questions to fill gaps.
Args: project_context: Project description for context (e.g., "B2B SaaS dashboard for Turkish fintech startup"). Helps MAESTRO make better design decisions. existing_html: Optional existing HTML for refinement or style matching. If provided, MAESTRO may suggest refine_frontend or design_section modes. design_brief: Optional design brief for soul extraction (v2 feature). When provided, MAESTRO analyzes the brief to understand brand personality, target audience, and visual preferences, then asks only the questions needed to fill gaps. Example: "Modern fintech app for millennials. Professional but approachable. Blue/purple gradient theme preferred."
Returns: Dict containing: - session_id: Unique session identifier (use this for subsequent calls) - question: First interview question with id, text, category, options - progress: Interview progress (0.0 to 1.0) - status: "interviewing" | "decided" | "failed" - v2_enabled: Whether soul-aware v2 mode is active (only if design_brief provided) - soul_confidence: Confidence score of soul extraction (0.0-1.0, only in v2)
Example: # Start a new design session with design brief (v2) result = await maestro_start_session( design_brief="E-commerce product page for Turkish market. " "Target: young professionals. Tone: modern, trustworthy.", project_context="E-commerce product page" ) session_id = result["session_id"] # Answer the first question using maestro_answer
| Name | Required | Description | Default |
|---|---|---|---|
| design_brief | No | ||
| existing_html | No | ||
| project_context | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It details the interactive flow, v2 soul extraction feature, and return fields. It does not mention rate limits or resource usage, but the level of detail is sufficient for safe invocation.
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 fairly lengthy but well-structured with summary, explanation, Args, Returns, and Example sections. It is front-loaded with the main purpose, and each sentence adds value. Minor redundancy could be trimmed.
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, the description includes a comprehensive Returns section with all fields. It explains the tool's role among 19 siblings, mentions v2 features, and provides an example that shows session flow. Complete for a session-starting 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?
Despite 0% schema description coverage, the description provides detailed explanations for all three parameters in a dedicated Args section, including examples and effect on behavior (e.g., design_brief triggers v2). This compensates well for the sparse 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 starts a new MAESTRO design wizard session, serving as the entry point for the guided design workflow. It uses specific verbs like 'Start' and distinguishes its role from sibling tools like maestro_answer and maestro_abort.
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 explains that this is the entry point, and provides context for when to provide design_brief or existing_html, and mentions that MAESTRO may suggest alternative modes. It does not explicitly state when not to use it but the example shows the next step (maestro_answer).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refine_frontendA
Refine an existing component design based on feedback.
Use this tool to iterate on a design without starting from scratch. Send the previous HTML and describe the changes you want. All content will be generated in Turkish.
Args: previous_html: The existing HTML code to refine. This should be the complete HTML from a previous design_frontend or design_page call. modifications: Natural language description of desired changes. Examples: - "Buton rengini maviden yeşile çevir" - "Header'ı daha kompakt yap" - "Dark mode desteği ekle" - "Mobil responsive sorunlarını düzelt" - "Hover efektlerini daha belirgin yap" project_context: Optional project context for consistency.
Returns: Dict containing: - component_id: Identifier for the refined component - html: The modified HTML with TailwindCSS - changes_made: Summary of changes applied - design_notes: Explanation of modifications - model_used: Always gemini-3-pro-preview
Example: refine_frontend( previous_html='Gönder', modifications="Buton boyutunu büyüt ve hover efekti ekle" )
| Name | Required | Description | Default |
|---|---|---|---|
| auto_fix | No | ||
| use_trifecta | No | ||
| modifications | Yes | ||
| previous_html | Yes | ||
| project_context | No | ||
| inject_js_fallbacks | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that all content is generated in Turkish, that the model is always gemini-3-pro-preview, and expects previous HTML. However, it does not discuss potential side effects or limitations, such as what happens if the input HTML is invalid.
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 well-structured with a clear intent, usage guidance, parameter descriptions with examples, and return value details. Every section is valuable and there is no wasted 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?
Given the tool has 6 parameters (2 required) and no output schema, the description covers core functionality well, including return fields. However, missing documentation on three boolean parameters (auto_fix, use_trifecta, inject_js_fallbacks) prevents a perfect score.
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 0% per context signals. The description adds meaning for three parameters (previous_html, modifications, project_context) with examples, but three parameters (auto_fix, use_trifecta, inject_js_fallbacks) are undocumented. This partial coverage warrants a 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 uses the verb 'Refine' and specifies the resource as 'an existing component design based on feedback.' This clearly states the tool's purpose and differentiates it from sibling tools like design_frontend which create new designs.
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 'Use this tool to iterate on a design without starting from scratch,' providing clear guidance on when to use it. It implies that for new designs, other tools like design_frontend should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replace_section_in_pageA
Replace a single section in an existing page with an improved version.
This tool enables iterative design improvement by replacing only the specified section while preserving all other sections. The new section maintains visual consistency with the rest of the page.
CRITICAL: The page HTML must use section markers in this format:
Args: page_html: Full HTML of the existing page with section markers. section_type: Section to replace. Valid types: - navbar: Navigation bars, headers - hero: Hero sections, landing areas - stats: Statistics, metrics sections - features: Feature grids, benefit lists - testimonials: Customer reviews, social proof - pricing: Pricing tables, plans - cta: Call-to-action sections - footer: Site footers modifications: Detailed description of desired changes. Example: "Add mega menu, search bar, and announcement banner" preserve_design_tokens: Keep colors/typography consistent with page (default: True) theme: Visual style preset for the new section content_language: Language code for content (default: "tr")
Returns: Dict containing: - html: Updated full page HTML with only the target section changed - modified_section: Which section was replaced - preserved_sections: List of sections that were NOT modified - design_notes: Explanation of design decisions - error: Error message if the operation failed
Example: # Update only the navbar in an existing landing page result = replace_section_in_page( page_html=existing_page, section_type="navbar", modifications="Add mega menu with 4 columns, search bar, dark mode toggle" )
# The result contains the complete updated page
updated_page = result["html"]
# Hero, Features, Pricing, Footer etc. are unchanged
| Name | Required | Description | Default |
|---|---|---|---|
| theme | No | modern-minimal | |
| page_html | Yes | ||
| section_type | Yes | ||
| use_trifecta | No | ||
| modifications | Yes | ||
| content_language | No | tr | |
| preserve_design_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains that only the target section is replaced, others preserved, and that visual consistency is maintained. Also describes return format and error handling.
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?
Well-structured with clear sections: intro, critical note, args, returns, example. Each sentence adds value, and the length is appropriate for the tool's complexity.
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 7 parameters (3 required), no output schema, and no annotations, the description covers input requirements, behavior, return format, and provides an example. It is very complete for the tool's purpose.
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 0% (no parameter descriptions in schema). The description adds detailed explanations for each parameter, including valid section types, examples for modifications, default values for preserve_design_tokens and content_language, and even describes the return value structure.
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 replaces a single section in an existing page with an improved version, distinguishing it from sibling tools like design_section or refine_frontend by specifying it works on existing page HTML with section markers.
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 critical usage notes (section marker format), valid section types, and an example. It implies iterative design improvement but could explicitly state when not to use this tool versus alternatives like design_page or compile_project_drafts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_projectB
Initialize a new design project folder.
Args: project_name: Name of the project (e.g. 'burger_landing')
| Name | Required | Description | Default |
|---|---|---|---|
| project_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 only states 'Initialize a new design project folder,' but does not disclose side effects (e.g., whether it overwrites existing projects), required permissions, or any limitations. This is insufficient for a creation action.
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 very concise, consisting of one line and an args section. It is front-loaded and avoids unnecessary detail. However, it could be slightly improved by integrating the args info more naturally, but overall it is appropriately sized.
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 the tool having an output schema (not detailed but present), the description does not explain return values or what happens after initialization. It lacks information on behavior if the project name already exists, where files are stored, or how to verify success. For a project initialization tool, this is incomplete.
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_name' has no schema description (0% coverage). The description adds an example ('e.g. 'burger_landing''), which provides some context but does not specify naming conventions, uniqueness constraints, or accepted formats. It adds marginal value over the parameter name alone.
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: 'Initialize a new design project folder.' The verb 'initialize' and the resource 'project folder' are specific. This distinguishes it from siblings like 'compile_project_drafts' or 'design_from_reference', which serve different 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 provides no guidance on when to use this tool versus alternatives, no prerequisites, and no conditions for appropriate usage. It simply states what it does, leaving the agent without context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_theme_contrastA
Validate color contrast ratio for WCAG compliance.
Use this tool to check if your color combinations meet accessibility standards before using them in designs.
Args: foreground: Foreground (text) color in hex format (e.g., "#000000") background: Background color in hex format (e.g., "#FFFFFF") wcag_level: Target WCAG level - "AA" or "AAA" text_size: Text size category - "normal" or "large" (large = 18pt+ or 14pt+ bold)
Returns: Dict containing: - passes: Boolean indicating if contrast meets requirements - ratio: Calculated contrast ratio (e.g., 7.5) - required_ratio: Minimum required ratio for the level/size - message: Human-readable result message - recommendations: Suggestions if contrast fails
Example: validate_theme_contrast( foreground="#FFFFFF", background="#3B82F6", # blue-500 wcag_level="AA" )
| Name | Required | Description | Default |
|---|---|---|---|
| text_size | No | normal | |
| background | Yes | ||
| foreground | Yes | ||
| wcag_level | No | AA |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully conveys behavior: it returns a dict with passes, ratio, required_ratio, message, and recommendations. It also specifies hex format requirement.
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 structured with Args and Returns sections and includes an example, but it is slightly long. Still, every sentence 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?
Despite no output schema, the description details the return dictionary. The example further clarifies usage. Everything needed for a validation tool is present.
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 0%, so the description compensates fully by explaining each parameter: foreground/background hex format, wcag_level options, and text_size with size definitions.
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 validates color contrast ratio for WCAG compliance. This distinguishes it from sibling tools which are design or project management related.
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 explains to use this tool before using color combinations in designs. It provides good context but does not explicitly mention when not to use or alternatives.
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.
21 tool updates
v0.1.0- First observed
compile_project_drafts - First observed
design_from_reference - First observed
design_frontend - First observed
design_page - First observed
design_section - First observed
generate_image - First observed
list_drafts - First observed
list_frontend_options - First observed
list_models - First observed
maestro_abort - First observed
maestro_answer - First observed
maestro_execute - First observed
maestro_get_analytics - First observed
maestro_get_decision - First observed
maestro_get_progress - First observed
maestro_get_recommendations - First observed
maestro_start_session - First observed
refine_frontend - First observed
replace_section_in_page - First observed
start_project - First observed
validate_theme_contrast
TDQS
Scored across 21 tools
Many tools serve similar design generation purposes (design_frontend, design_section, design_page, refine_frontend, replace_section_in_page) with overlapping capabilities. The MAESTRO wizard tools add another parallel path. Descriptions are detailed but the large set and functional overlap can cause confusion for an agent.
All tools follow a consistent snake_case verb_noun pattern (e.g., design_frontend, list_drafts, maestro_start_session). No mixed conventions or confusing abbreviations, making the naming predictable.
21 tools is on the higher side for a design bridge. The core design functionality could be consolidated, and the MAESTRO tools add 8 for a guided workflow. While each tool has a clear purpose, the set feels slightly oversized and could be streamlined.
The tool surface covers design generation, refinement, page assembly, project management (start/list drafts), validation, and a guided wizard. Minor gaps exist, such as lacking delete or export tools, but the core workflows are well-supported.
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
MCP server for Google Veo AI video generation
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseBqualityBmaintenanceA MCP server that provides AI-powered image generation capabilities through Google's Gemini 2.5 Flash Image model.4399MIT
- AlicenseBqualityCmaintenanceMCP server for generating images and audio using Google's Gemini AI models.22MIT
- FlicenseBqualityDmaintenanceA production-ready MCP server that enables Claude and other LLMs to generate images and videos using Google's Gemini AI models (Gemini 2.0 Flash and Veo 2.0).32-
- AlicenseNot gradedqualityDmaintenanceMCP server that enables Claude Code to interact with Google's Gemini API for code analysis, chat, and summarization tasks.78MIT