Skip to main content
Glama
README.md
# SupaUI MCP Server

A Model Context Protocol (MCP) server for SupaUI that enables AI agents to fetch and browse UI components from buouui.com and to generate images through natural language interactions.

## Features

- **Fetch UI Components**: Search buouui.com and get a component's source code together with the npm packages and other components it needs
- **List UI Components**: Browse the available components, optionally filtered by keyword
- **Create Images**: Generate or edit an image and get its URL
- **TypeScript Support**: Built with TypeScript for better type safety and developer experience

## Prerequisites

### Smithery

use [Smithery](https://smithery.ai/server/@buoooou/supaui-mcp) to install supaui-mcp in Claude:

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

### munal 

1. clone repo:
```bash
git clone [your-repository-url]
cd mcp-ui-gen
```

- Node.js (Latest LTS version)
- BUOU_API_KEY from [buouui.com](https://buouui.com/dashboard/key)

## Installation


```bash
# Install dependencies
pnpm install

# Build the project
pnpm build
```

## Configuration

1. Set your BUOU_API_KEY in the environment:
```bash
export BUOU_API_KEY=your_api_key_here
```

2. Or create a configuration file based on smithery.yaml requirements.

## Usage

### Starting the Server

```bash
pnpm start
```

### Available Commands

The server supports the following commands:

1. Fetch UI Component:
```
/ui fetch modern login form
```

2. List UI Components:
```
/buou list cards
```

3. Create Image:
```
/image a minimal logo for a coffee shop
```

## API Tools

### FetchUiTool (`fetch-ui`)
- Input: `searchQuery`
- Returns the best matching component: its files, the npm packages to install, the `@/components/ui` components it imports, and other close matches
- Endpoint: `/api/fetch`

### ListUiTool (`list-ui`)
- Input: `searchQuery` (optional)
- Lists component names, filtered by the keyword when one is given
- Endpoint: `/api/list`

### CreateImageTool (`create-image`)
- Input: `message`, `image`
- Returns the URL of the generated image
- Endpoint: `/api/image`

## Development

```bash
# Build in watch mode
pnpm exec tsc -w
```

## Environment Variables

- `BUOU_API_KEY`: Your API key from buouui.com (Required)
- `BUOU_API_URL`: Base URL of the API, defaults to `https://buouui.com`. Point it to `http://localhost:3000` to develop against a local site

## 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:
- [buouui.com](https://buouui.com)
- Email: support@buouui.com

TDQS

C2.6/5.0

Scored across 3 tools

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

ActivityMaintained
ResponsivenessNo issues