MCP UI Glue Code Generator
# 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
Scored across 1 tool
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.
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.
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.
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.