MCP Kkebi
Click on "Deploy 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., "@MCP Kkebi Show me the counter widget to test the interactive React UI."
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.
MCP Kkebi π
ChatGPTμ Claudeμμ μ€νλλ μΈν°λν°λΈ UI μ ν리μΌμ΄μ μ ꡬμΆνλ MCP μ±μ λλ€.
π Repository: github.com/mimsut/mcp_kkebi
β¨ νΉμ§
π¨ μΈν°λν°λΈ μμ ―: React κΈ°λ°μ μλ¦λ€μ΄ UI μ»΄ν¬λνΈ
π€ AI ν΅ν©: ChatGPTμ Claudeμμ λ°λ‘ μ¬μ© κ°λ₯
β‘οΈ λΉ λ₯Έ κ°λ°: TypeScript + Hot Reload
π¦ μ¬μ΄ λ°°ν¬: Manufact Cloud μ§μ
π§ νμ₯ κ°λ₯: μλ‘μ΄ λꡬμ μμ ― μ½κ² μΆκ°
Related MCP server: Magic UI MCP Server
π λΉ λ₯Έ μμ
# Clone
git clone https://github.com/mimsut/mcp_kkebi.git
cd mcp_kkebi
# μ€μΉ
npm install
# κ°λ° λͺ¨λ
npm run dev
# λΉλ
npm run buildπ¦ νλ‘μ νΈ κ΅¬μ‘°
my-mcp-app/
βββ src/
β βββ index.ts # MCP μλ² μ§μ
μ (TypeScript)
βββ dist/
β βββ index.js # λΉλλ μλ² (JavaScript)
βββ resources/
β βββ example-widget/ # μμ μμ ―
β β βββ widget.tsx # React μ»΄ν¬λνΈ
β β βββ types.ts # Props νμ
β βββ counter-widget/ # μΈν°λν°λΈ μΉ΄μ΄ν° μμ ―
β βββ widget.tsx
β βββ types.ts
βββ package.json
βββ tsconfig.json
βββ mcp-config.json # MCP μ€μ νμΌ
βββ README.mdποΈ μν€ν μ²
Server: MCP λꡬ(tools)μ 리μμ€(resources) μ μ (
src/index.ts)Widget:
resources/ν΄λμ React μ»΄ν¬λνΈλ‘ ν΄λΌμ΄μΈνΈμμ λ λλ§Protocol: MCPκ° μλμΌλ‘ ν΅μ μ²λ¦¬
π μμνκΈ°
1. μμ‘΄μ± μ€μΉ
npm install2. λΉλ
npm run build3. κ°λ° λͺ¨λ μ€ν (ν« λ¦¬λ‘λ)
npm run dev4. νλ‘λμ μ€ν
npm startπ§ Claude Desktopμ μ°κ²°νκΈ°
macOS
Claude Desktop μ€μ νμΌ μ΄κΈ°:
nano ~/Library/Application\ Support/Claude/claude_desktop_config.jsonλ€μ μ€μ μΆκ°:
{
"mcpServers": {
"my-mcp-app": {
"command": "node",
"args": [
"/Users/user/Downloads/b_ru8Xi2QdWzH-1771717682115/my-mcp-app/dist/index.js"
]
}
}
}Claude Desktop μ¬μμ
Windows
μ€μ νμΌ μμΉ: %APPDATA%\Claude\claude_desktop_config.json
π¬ ChatGPTμ μ°κ²°νκΈ°
ChatGPT μ€μ μμ "Custom Actions" λλ "GPT" μΉμ μΌλ‘ μ΄λ
MCP μλ² μΆκ°:
μλ² URL: λ‘컬 λλ λ°°ν¬λ URL
νλ‘ν μ½: MCP (Model Context Protocol)
π¨ μμ ― μ¬μ©νκΈ°
Example Widget
νμ λ©μμ§μ κΈ°λ³Έ μ 보λ₯Ό νμνλ κ°λ¨ν μμ ―μ λλ€.
μ¬μ©λ²:
widget://exampleνΉμ§:
κ·ΈλΌλμΈνΈ λ°°κ²½
νμ λ©μμ§
μν νμ
Counter Widget
μ¬μ©μ μνΈμμ©μ 보μ¬μ£Όλ μΈν°λν°λΈ μΉ΄μ΄ν° μμ ―μ λλ€.
μ¬μ©λ²:
widget://counterνΉμ§:
μ¦κ°/κ°μ λ²νΌ
μ΄κΈ°ν κΈ°λ₯
μ€μκ° μν μ λ°μ΄νΈ
λΆλλ¬μ΄ μ λλ©μ΄μ
π οΈ λꡬ (Tools)
greet
μ¬μ©μμκ² νμ λ©μμ§λ₯Ό νμν©λλ€.
νλΌλ―Έν°:
name(string, νμ): μ¬μ©μ μ΄λ¦
μμ :
{
"name": "νκΈΈλ"
}μλ΅:
μλ
νμΈμ, νκΈΈλλ! MCP μ±μ μ€μ κ²μ νμν©λλ€! ππ§ͺ ν μ€νΈνκΈ°
λ‘컬 ν μ€νΈ
# κ°λ° λͺ¨λλ‘ μ€ν
npm run dev
# λ€λ₯Έ ν°λ―Έλμμ MCP Inspector μ¬μ©
npx @modelcontextprotocol/inspector node dist/index.jsInspectorμμ νμΈ
MCP Inspectorλ₯Ό μ¬μ©νλ©΄ λ€μμ ν μ μμ΅λλ€:
λͺ¨λ λꡬμ 리μμ€ λͺ©λ‘ νμΈ
ν μ€νΈ μ λ ₯μΌλ‘ λꡬ νΈμΆ
μμ ― 미리보기 λΌμ΄λΈλ‘ νμΈ
μ½λ λ³κ²½ μ μ¦μ ν« λ¦¬λ‘λ
π μλ‘μ΄ μμ ― μΆκ°νκΈ°
resources/ν΄λμ μ λλ ν 리 μμ±:
mkdir resources/my-widgettypes.tsνμΌ μμ±:
export interface MyWidgetProps {
// props μ μ
}widget.tsxνμΌ μμ±:
import React from "react";
import type { MyWidgetProps } from "./types";
export default function MyWidget(props: MyWidgetProps) {
return <div>{/* μμ ― UI */}</div>;
}src/index.tsμ 리μμ€ νΈλ€λ¬ μΆκ°:
server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
// ...
if (uri === "widget://my-widget") {
return {
contents: [{
uri: "widget://my-widget",
mimeType: "application/vnd.mcp.widget+json",
text: JSON.stringify({
type: "my-widget",
props: { /* props */ },
}),
}],
};
}
// ...
});π λ°°ν¬νκΈ°
Manufact Cloudμ λ°°ν¬
manufact.com μ μ
GitHub 리ν¬μ§ν 리 μ°κ²°
mainλΈλμΉμ push β μλ λ°°ν¬
λλ CLI μ¬μ©:
npx @mcp-use/cli deployνκ²½ λ³μ μ€μ
νλ‘λμ
νκ²½μμ νμν νκ²½ λ³μκ° μλ€λ©΄ .env νμΌ μμ±:
# .env
API_KEY=your_api_key
DATABASE_URL=your_database_urlπ― νκ° κΈ°μ€ (ν΄μ»€ν€)
νλ‘μ νΈλ λ€μ κΈ°μ€μΌλ‘ νκ°λ©λλ€:
1. λ μ°½μ± (30μ ) π
μλ‘μ΄ κ°λ μ μ°½μμ±
"μ΄λ° κ²λ MCP μ±μΌλ‘ λ§λ€ μ μꡬλ!" νλ λλΌμ
2. μ€μ©μ± (30μ ) π‘
μ€μ λ¬Έμ ν΄κ²° λλ μν¬νλ‘μ° κ°μ
μ¬μ©μμκ² μ€μ§μ μΈ κ°μΉ μ 곡
3. μμ ―-λͺ¨λΈ μνΈμμ© (20μ ) π
useCallTool(),sendFollowUpMessage()λ± μλ°©ν₯ ν΅μ νμ©state(),setState()νμ©μμ ―κ³Ό AI λͺ¨λΈ κ°μ ν¨κ³Όμ μΈ μνΈμμ©
4. UI/UX (10μ ) π¨
μΈλ ¨λκ³ μ§κ΄μ μΈ κ²½ν
λ°μν λμμΈ
μ κ·Όμ±
5. νλ‘λμ μ€λΉ (10μ ) π
OAuth μΈμ¦
μ¨λ³΄λ© νλ‘μ°
μλ¬ μ²λ¦¬
μ¬μ©μ μ€μ κ΄λ¦¬
π μΆκ° 리μμ€
π€ κΈ°μ¬νκΈ°
μ΄μλ PRμ μΈμ λ νμν©λλ€!
π λΌμ΄μΌμ€
MIT License
π λΉ λ₯Έ μμ μμ½
# 1. μμ‘΄μ± μ€μΉ
npm install
# 2. λΉλ
npm run build
# 3. Claude Desktopμ μ°κ²°
# ~/Library/Application Support/Claude/claude_desktop_config.json νΈμ§
# 4. Claude Desktop μ¬μμ
# 5. Claudeμμ ν
μ€νΈ
# "greet" λꡬ νΈμΆνκ±°λ μμ ― νμ μμ²μ΄μ ChatGPTμ Claudeμμ μ€νλλ λ©μ§ μΈν°λν°λΈ MCP μ±μ λ§λ€ μ€λΉκ° λμμ΅λλ€! πβ¨
Available Tools
3 toolsTool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 3 tools
Each tool has a distinct purpose: calculate handles math, get_time provides current time, greet shows a welcome message. There is no overlap or ambiguity.
All tools use lowercase verb-based names. 'get_time' uses an underscore, while 'calculate' and 'greet' are single words, but the pattern is still consistent and predictable.
With only 3 tools, the server is on the low end of the appropriate range. While it covers basic utilities, a slightly larger set (e.g., 5-10 tools) would feel more substantial.
For a simple utility server, the tools cover time, math, and greeting. Minor gaps like a date tool or advanced math operations could exist, but the set is functional and cohesive.
Maintenance
Related MCP Connectors
A visual brain for your agents: live, reusable UI fragments and skills to pull into code.
500+ typed UI atoms an agent composes into real rendered interfaces. Free, no API key.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoβ¦
Build and manage AI-native customer support agents from Claude or any MCP client.
Related MCP Servers
- AlicenseCqualityCmaintenanceA Model Context Protocol server that enables AI agents to generate, fetch, and manage UI components through natural language interactions.349 npm7ISC
- -licenseAqualityNot gradedmaintenanceA foundation for building interactive applications using the Model Context Protocol that integrates AI capabilities with Magic UI components.118,898 npm1-
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol implementation with a modular architecture that exposes capabilities through specialized agents, enabling seamless integration with Claude Desktop and web applications.2-
- AlicenseNot gradedqualityDmaintenanceAn AI-agent-first framework for building MCP servers that deliver interactive React widgets directly within AI chat interfaces like ChatGPT and Claude. It includes automated visual testing and a zero-config local development environment designed for autonomous agent workflows.MIT