Skip to main content
Glama
Maverick7

MCP UI Glue Code Generator

by Maverick7
README.md
# MCP UI Glue Code Generator

> ๐ŸŽฏ **The Grand Slam Demo**: Maps messy API JSON to **Vue OR React** Design System components using Zod schemas, with live UI previews via MCP-UI.

## โœจ What is this?

This is a **Two-Stage System** for automating frontend integration:

1. **Stage 1 (Factory)**: Takes "Messy API JSON" + "Design System Component" (Vue or React) โ†’ Generates **Zod Schema** mapping
2. **Stage 2 (Runtime)**: Renders a live preview using `mcp-ui` directly in your chat

## ๐Ÿš€ Quick Start

```bash
# Install dependencies
npm install

# Build the server
npm run build

# Start the server
npm start
```

Server will be running at:
- **Health Check**: http://localhost:3000/
- **MCP Endpoint**: http://localhost:3000/mcp

## ๐Ÿ”ง VS Code Integration

### Option 1: Roo Code / Cline Extension

Add to your VS Code settings (`settings.json`):

```json
{
  "roo-cline.mcpServers": {
    "glue-code-generator": {
      "command": "node",
      "args": ["d:/MCPUIPlugin/build/index.js"]
    }
  }
}
```

### Option 2: Claude Desktop

Add to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "glue-code-generator": {
      "command": "node",
      "args": ["d:/MCPUIPlugin/build/index.js"]
    }
  }
}
```

## ๐ŸŽฎ Demo Walkthrough

### The "Magic Moment"

1. Open your AI chat (VS Code with Roo Code, or Claude Desktop)
2. Paste this prompt:

```
Map this API response to this Vue component:

API Response:
{
  "cust_id": "USR-12345",
  "tx_timestamp": "2025-12-06T10:30:00Z",
  "stat_cd": "STATUS_OK",
  "amt_val": 1250.50,
  "desc_txt": "Monthly subscription payment"
}

Vue Component:
<template>
  <div class="ds-card" :class="variant">
    <h3>{{ title }}</h3>
    <p class="subtitle">{{ subtitle }}</p>
    <span class="amount">{{ formattedAmount }}</span>
    <span class="badge" :class="variant">{{ status }}</span>
  </div>
</template>
```

3. **Result**: The tool generates the Zod schema **AND** renders the actual card live in chat!

## ๐Ÿงช Testing with MCP Inspector

```bash
# Quick CLI test
npx @modelcontextprotocol/inspector --cli http://localhost:3000/mcp --method tools/list

# Or use the GUI
npx @modelcontextprotocol/inspector
# Then connect to http://localhost:3000/mcp with Streamable HTTP
```

## ๐Ÿ“ฆ Tool Reference

### `generate_ui_schema`

Maps API JSON to Vue component props.

**Inputs:**
| Parameter | Type | Description |
|-----------|------|-------------|
| `api_json_sample` | string | JSON response from backend API |
| `vue_component_code` | string | Vue component from Design System |

**Outputs:**
- Generated Zod schema code
- Mapped data preview
- Live HTML card rendered via `mcp-ui`

## ๐Ÿ—๏ธ Architecture

```
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    MCP Client                           โ”‚
โ”‚         (VS Code / Claude Desktop / Goose)              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ”‚ MCP Protocol
                         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚             glue-code-generator Server                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚         generate_ui_schema Tool                  โ”‚   โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚   โ”‚
โ”‚  โ”‚  โ”‚  Analyze  โ”‚โ†’ โ”‚  Generate   โ”‚โ†’ โ”‚  Render   โ”‚  โ”‚   โ”‚
โ”‚  โ”‚  โ”‚  API JSON โ”‚  โ”‚ Zod Schema  โ”‚  โ”‚ UIResourceโ”‚  โ”‚   โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
```

## ๐Ÿš€ Publishing & Distribution

### Option 1: Smithery (MCP Marketplace)
The official way for users to discover and install MCP servers:
1. Create account at [smithery.ai](https://smithery.ai)
2. Submit your server with metadata
3. Users can browse and add via: `smithery install glue-code-generator`

### Option 2: npm Package
Publish to npm for `npx` usage:
```bash
npm publish
# Users run: npx @yourname/glue-code-generator
```

### Option 3: GitHub
Users clone/download and configure manually in their MCP client settings.

> **Note**: VS Code doesn't have a built-in MCP browser yet. Users configure MCP servers in their settings or use extensions like Roo Code/Cline.

## ๐Ÿ“„ License

MIT

TDQS

A3.6/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly distinct and singular, making misselection impossible.

Naming Consistency5/5

The single tool name follows a clear verb_noun pattern (generate_ui_schema). Since there is only one tool, consistency is inherently perfect with no deviations to assess.

Tool Count2/5

A single tool is too few for a server named 'MCP UI Glue Code Generator', which suggests a broader scope involving UI generation tasks. This minimal set feels thin and underdeveloped for the implied purpose.

Completeness2/5

The tool surface is severely incomplete for the domain. While generate_ui_schema handles schema generation and preview, there are obvious gaps such as validation, customization, integration with other UI frameworks, or management of generated schemas, limiting agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues