Skip to main content
Glama

SupaUI MCP Server

A Model Context Protocol (MCP) server for SupaUI that enables AI agents to generate, fetch, and manage UI components through natural language interactions.

Features

  • Create UI Components: Generate React components based on natural language descriptions

  • Fetch UI Components: Search and retrieve components from buouui.com

  • List UI Components: Browse available components with detailed previews

  • TypeScript Support: Built with TypeScript for better type safety and developer experience

Related MCP server: MCP Magic UI

Prerequisites

Smithery

use Smithery to install supaui-mcp in Claude:

npx -y @smithery/cli install @buoooou/supaui-mcp --client claude

munal

  1. clone repo:

git clone [your-repository-url]
cd mcp-ui-gen

=======

  • Node.js (Latest LTS version)

  • BUOU_API_KEY from buouui.com

Installation

# Install dependencies
pnpm install

# Build the project
pnpm build

Configuration

  1. Set your BUOU_API_KEY in the environment:

export BUOU_API_KEY=your_api_key_here
  1. Or create a configuration file based on smithery.yaml requirements.

Usage

Starting the Server

pnpm start

Available Commands

The server supports the following commands:

  1. Create UI Component:

/ui create a basic button
  1. Fetch UI Component:

/ui fetch modern login form
  1. List UI Components:

/buou list cards

API Tools

CreateUiTool

  • Generates new UI components based on natural language descriptions

  • Endpoint: /api/create

FetchUiTool

  • Retrieves existing components from buouui.com

  • Endpoint: /api/fetch

ListUiTool

  • Lists available components with previews

  • Endpoint: /api/list

Development

# Build in watch mode
tsc -w

# Run tests
pnpm test

Environment Variables

  • BUOU_API_KEY: Your API key from buouui.com (Required)

Contributing

  1. Fork the repository

  2. Create your feature branch

  3. Commit your changes

  4. Push to the branch

  5. Create a Pull Request

License

ISC

Support

For support, please visit:

Available Tools

3 tools
create-imageC

"Use this tool when the user requests a new image, mentions /buou /image or asks for a image. If the customer provides the picture editing operation of the attachment, please send it to the corresponding tool. This tool ONLY returns the url of the image. After calling this tool, Please show the image returned by this tool and provide it for download.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesTranslate into English and explain the content of the customer's image.
imageYesIf the customer provides the picture editing operation of the attachment,please send it to the corresponding tool,otherwise, pass an empty string

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool only returns a URL and that the image should be shown and provided for download after calling, which adds some context. However, it lacks critical details like whether this is a generative AI tool, an upload tool, potential rate limits, authentication needs, or error handling, making it insufficient for a mutation-like operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively concise with four sentences, but it's not optimally structured. It mixes usage guidelines, parameter hints, and post-call instructions without clear separation. Some sentences could be more direct, and the repetition about the 'image' parameter from the schema reduces efficiency, though it avoids excessive verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a tool that likely creates images (a mutation operation), the description is incomplete. It lacks details on what the tool actually does (e.g., generates images via AI, uploads files), expected inputs beyond schema basics, error cases, and output handling. The post-call instruction to show and provide the image for download is helpful but doesn't compensate for missing core behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters ('message' and 'image') with descriptions. The description adds minimal value by reiterating the 'image' parameter's condition but doesn't provide additional meaning beyond what's in the schema, such as format examples or usage nuances. Baseline 3 is appropriate as the schema handles most documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool is for creating images when users request them, but it's vague about what 'create' actually means (generation, upload, etc.). It doesn't clearly distinguish from sibling tools like 'fetch-ui' or 'list-ui' which might handle image retrieval. The purpose is somewhat indicated but lacks specificity about the actual creation mechanism.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides some usage context: use when users request a new image, mention '/buou /image', or ask for an image. It also gives an exclusion rule: if the customer provides picture editing operations, use another tool. However, it doesn't specify what the 'corresponding tool' is or offer alternatives for different scenarios, leaving gaps in guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetch-uiB

"Use this tool when the user wants to see component, get inspiration, or /buou or /ui fetch data and previews from buouui.com. This tool ONLY returns the text snippet for that UI component. After calling this tool, you must edit or add files to integrate the snippet into the codebase."

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesFull users message
searchQueryYesSearch query for buouui.com(library for searching UI components) to find a UI component that matches the user's message. Must be a two-four words max or phrase

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool 'ONLY returns the text snippet' and that after calling, 'you must edit or add files to integrate the snippet into the codebase', which provides some behavioral context about the output and required follow-up actions. However, it doesn't cover important aspects like whether this is a read-only operation, potential rate limits, authentication needs, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with three sentences that each serve a purpose: when to use the tool, what it returns, and what to do after calling it. It's front-loaded with the primary use case. There's minimal waste, though the phrasing could be slightly more polished.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 2 parameters with 100% schema coverage but no annotations and no output schema, the description provides adequate but incomplete context. It explains the tool's purpose and post-call requirements but doesn't describe the return format (beyond 'text snippet'), error handling, or how the tool interacts with the buouui.com API. For a tool with no output schema, more detail about the return value would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description doesn't add any additional meaning about the parameters beyond what's in the schema - it doesn't explain how 'message' and 'searchQuery' relate to each other or provide usage examples. This meets the baseline of 3 when schema coverage is high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool fetches UI component text snippets from buouui.com, which is a clear purpose. However, it doesn't distinguish this from sibling tools like 'list-ui' or 'create-image' - it mentions 'get inspiration' which could overlap with 'list-ui', and 'previews' which might relate to 'create-image', but no explicit differentiation is provided.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'Use this tool when the user wants to see component, get inspiration, or /buou or /ui fetch data and previews from buouui.com', providing clear context for when to use it. However, it doesn't mention when NOT to use it or explicitly compare it to alternatives like 'list-ui' or 'create-image'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-uiC

"Use this tool when the user wants to see buouui.com component, or /buou fetch data and previews from buouui.com. This tool returns the JSON data of matching components without generating new code. This tool ONLY returns the text snippet for that UI component. After calling this tool, you need to display the data in the UI, and finally you need to show the website page of the buouui.com."

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesFull users message
searchQueryYesSearch query for buouui.com(library for searching UI components) to find a UI component that matches the user's message. Must be a two-four words max or phrase

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but lacks critical behavioral details. It mentions the tool returns JSON data without generating code and requires displaying data and a website page afterward, but it doesn't cover permissions, rate limits, error handling, or what 'matching components' entails. The post-call instructions ('display the data in the UI, show the website page') are unclear and not typical tool behavior disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is poorly structured with run-on sentences and redundancy (e.g., repeating 'buouui.com'). It includes extraneous instructions about post-call actions ('display the data in the UI, show the website page') that don't belong in a tool description. While brief, it's not front-loaded or efficiently written, reducing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a tool with two parameters, the description is incomplete. It fails to explain the return format (beyond 'JSON data'), error cases, or how results are matched. The mention of sibling tools without differentiation further reduces completeness, leaving gaps in understanding the tool's role and behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description doesn't add any meaningful parameter semantics beyond what's in the schema (e.g., it doesn't explain how 'message' and 'searchQuery' interact or provide examples). However, it doesn't contradict the schema, so it meets the minimum viable standard.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool retrieves UI components from buouui.com and returns JSON data, which clarifies the basic purpose. However, it doesn't clearly distinguish this tool from sibling 'fetch-ui' (both seem to fetch UI data), and the phrasing 'see buouui.com component, or /buou fetch data and previews' is somewhat vague and redundant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal guidance with 'Use this tool when the user wants to see buouui.com component', but it doesn't explain when to choose this over sibling tools like 'fetch-ui' or 'create-image'. No explicit alternatives, exclusions, or contextual prerequisites are mentioned, leaving usage unclear relative to other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

C2.6/5.0
Disambiguation2/5

The tools have unclear boundaries and overlapping purposes. 'fetch-ui' and 'list-ui' both handle UI components from buouui.com with similar triggers ('/buou'), making them easily confused. 'create-image' is more distinct but still shares the '/buou' trigger, adding to the ambiguity. The descriptions don't clearly differentiate when to use one over the other.

Naming Consistency3/5

The naming follows a mixed convention: 'create-image' uses a verb_noun pattern with hyphenation, while 'fetch-ui' and 'list-ui' use verb_noun with underscores. This inconsistency in delimiter usage (hyphens vs. underscores) reduces predictability, though the verb_noun structure is mostly maintained across tools.

Tool Count3/5

With only 3 tools, the count feels thin for a server named 'SupaUI MCP Server', which suggests a broader UI-related scope. While it covers image creation and UI component fetching/listing, the limited number might not support comprehensive UI workflows, such as editing or managing components beyond basic retrieval.

Completeness2/5

The tool set is significantly incomplete for a UI-focused server. It lacks essential operations like updating or deleting UI components, managing image edits, or handling user interactions beyond fetching. The overlap between 'fetch-ui' and 'list-ui' further complicates coverage, leaving obvious gaps in CRUD/lifecycle management for the domain.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A server that provides rich UI context and interaction capabilities to AI models, enabling deep understanding of user interfaces through visual analysis and precise interaction via Model Context Protocol.
    74
    MIT
  • F
    license
    D
    quality
    D
    maintenance
    A Model Context Protocol server that provides access to Magic UI components, allowing AI assistants and other MCP clients to discover and use UI components from the Magic UI design system.
    2
    14
  • A
    license
    Not graded
    quality
    A
    maintenance
    A Model Context Protocol server that enhances AI agents by providing deep semantic understanding of codebases, enabling more intelligent interactions through advanced code search and contextual awareness.
    88
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI agents to control and automate Android devices through natural language, supporting actions like app management, UI interactions, and device monitoring.
    60
    MIT

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/buoooou/mcp-ui-gen'

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