Vấn đề mà mọi team đều gặp
Không có MCP
Copy-paste token values từ Figma → hardcoded, drift theo thời gian
AI sinh code với màu/spacing ngẫu nhiên → không match brand
Không có "nguồn sự thật" nào mà AI tools có thể đọc được
Handoff thủ công: designer → doc → developer → sai lệch tích lũy
Với MCP Server
AI đọc tokens trực tiếp từ source → luôn up-to-date
Component APIs đầy đủ (props, slots, emits) → code đúng ngay lần đầu
Conventions tự động enforce → không cần review thủ công
1 endpoint, mọi IDE → trải nghiệm nhất quán
Tính năng
Tools, resources và prompts — được tổ chức theo đối tượng để bạn tìm đúng công cụ cần dùng.
generate_landing_page
Tạo HTML landing page hoàn chỉnh từ mô tả — tokens, layout, sections đầy đủ.
generate_landing_page({ title: "CRM Pro", ... })<!DOCTYPE html> <html>... <!-- ~200 lines, self-contained -->
get_component_api
Xem API đầy đủ của 30+ Vi* components — props, slots, emits, defaults.
get_component_api("ViDataTable")Props: items, headers, loading, sortBy Slots: top, bottom, item Emits: update:sortBy
search_blocks
Tìm UI block có sẵn theo từ khoá — hero, pricing, cta, features...
search_blocks("hero cta")Found: hero-with-cta, hero-split, hero-minimal
→ get_block("hero-with-cta")design-system-qa
Hỏi về design system bằng tiếng Việt — components, tokens, blocks, conventions.
Spacing nào dùng giữa các section?Dùng var(--sp-48) hoặc var(--sp-64) giữa sections. Grids: 8pt system (4, 8, 12, 16, 24, 32, 48, 64px)
i-Duotone Icons
100+ custom SVG icons theo phong cách iNET DNA — services, hosting, cloud, SSL, CDN...
read_resource("icons://i-duotone"){ category: "services", icons: [
"cloud-server", "ssl-certificate",
"cdn", "monitoring", ...20 icons
]}Xem MCP hoạt động
Từ câu hỏi business đến code chuẩn — trong vài giây.
Tôi cần hero section có CTA button
search_blocks("hero cta") → get_block("hero-with-cta")<template>
<section class="hero-section">
<ViContainer>
<ViText variant="h1">
Giải pháp tối ưu cho doanh nghiệp
</ViText>
<ViText variant="body" color="muted">
Kết nối và mở rộng không giới hạn
</ViText>
<ViButton color="accent" size="lg">
Bắt đầu ngay
</ViButton>
</ViContainer>
</section>
</template>Tạo landing page cho phần mềm quản lý kho
generate_landing_page({ title: "WMS Pro", ... })<!DOCTYPE html>
<html lang="vi">
<head>
<title>WMS Pro — Quản lý kho thông minh</title>
<!-- iNET Design System tokens embedded -->
<style>:root { --brand: #024799; --accent: #cc0e0e; }</style>
</head>
<body>
<section class="hero">
<h1>Quản lý kho thông minh</h1>
<p>Tối ưu vận hành, giảm 40% thời gian xử lý đơn hàng.</p>
<a href="#demo" class="btn-primary">Dùng thử miễn phí</a>
</section>
<!-- sections: features, pricing, testimonials, cta -->
</body>
</html>Tôi cần icon cho tính năng email server
icons://i-duotone → { name: "email-server", svg: "<svg...>" }// @hobui/i-duotone — 40+ icons, 5 categories
import { emailServer, emailRouting, cloudServer } from '@hobui/i-duotone'
// Dùng trong Vue component:
<template>
<span v-html="emailServer" class="icon" />
</template>
// DNA: viewBox="0 0 24 24" stroke="currentColor" fill="none"
// Tự động kế thừa màu từ parent (currentColor)Tạo button CTA theo phong cách iNET DNA Glass
component_api("ViButton") → themes://list → "dna-glass"<!-- iNET DNA Glass — ViButton CTA variant -->
<ViButton
color="primary"
variant="elevated"
class="vi-button--cta-dna"
>
Bắt đầu ngay
</ViButton>
<!-- DNA Glass tự động bật khi body có class "dna-glass" -->
<!-- backdrop-filter: blur(12px) -->
<!-- border: 1px solid rgba(255,255,255,.18) -->
<!-- background: linear-gradient(135deg, ...) -->Kiến trúc hệ thống MCP
MCP Server đóng vai trò trung tâm, giúp AI truy cập Design System an toàn và chính xác.
AI Host
(Cursor, Claude, VS Code...)
MCP Server
Design System
(Tokens, Components, Blocks, Themes...)
MCP Server hoạt động như Hub an toàn: tiếp nhận yêu cầu từ AI Host, đọc Design Tokens / Components / Blocks theo chuẩn MCP, và trả về ngữ cảnh chính xác để AI sinh code tuân thủ Design System.
Kết nối MCP Server dễ dàng
Chỉ cần vài bước đơn giản trong IDE, AI của bạn sẽ đọc và sử dụng Design System chính xác.
Cần đăng nhập tài khoản iNET — một lần. Sau đó IDE tự làm mới phiên ở nền, bạn không phải làm gì thêm và không phải dán token vào file cấu hình. Chỉ đăng nhập lại khi chạm trần 90 ngày, hoặc khi bỏ không dùng quá 60 ngày. Tài khoản @inet.vn dùng được ngay; ngoài tổ chức cần admin cấp quyền tại Admin → Quyền truy cập MCP.
Cách 1: Tự động qua CLI
Chạy 1 lệnh — CLI tự phát hiện IDE và ghi cấu hình cho bạn.
$ npx @hobui/viui-cli config--dry-run để xem trước · --yes để bỏ qua xác nhận · --global để cấu hình cho mọi project✓ Antigravity chưa được CLI hỗ trợ — dùng tab cấu hình thủ công bên cạnhCách 2: Cấu hình thủ công
claude mcp add inet-viui \
--transport http \
https://viui.inet.vn/mcpmcp:invoke.{
"mcpServers": {
"inet-viui": {
"type": "http",
"url": "https://viui.inet.vn/mcp"
}
}
}Authorization — Claude Code tự lo phần đăng nhập; dán token vào đây sẽ khiến client báo lỗi kết nối thay vì mở trình duyệt.{
"mcpServers": {
"inet-viui": {
"type": "streamable-http",
"url": "https://viui.inet.vn/mcp"
}
}
}{
"mcpServers": {
"inet-viui": {
"type": "http",
"url": "https://viui.inet.vn/mcp"
}
}
}%APPDATA%\Claude\claude_desktop_config.json · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json{
"mcpServers": {
"inet-viui": {
"url": "https://viui.inet.vn/mcp",
"transport": "http"
}
}
}Authorization — Cursor tự lo phần đăng nhập.{
"servers": {
"inet-viui": {
"type": "http",
"url": "https://viui.inet.vn/mcp"
}
}
}{
"mcpServers": {
"inet-viui": {
"type": "http",
"url": "https://viui.inet.vn/mcp"
}
}
}{
"mcpServers": {
"inet-viui": {
"type": "http",
"url": "https://viui.inet.vn/mcp"
}
}
}{
"mcpServers": {
"inet-viui": {
"serverUrl": "https://viui.inet.vn/mcp"
}
}
}Đăng nhập một lần · IDE tự làm mới phiên · Cùng một URL cho mọi công cụ
Sau khi cấu hình
Đăng nhập lần đầu
Khởi động lại IDE rồi yêu cầu AI: “Dùng tool list_blocks để xem danh sách block”. IDE tự mở trình duyệt → đăng nhập iNET → quay lại là dùng được.
Không muốn bấm lần nào
Mở viui.inet.vn/auth/mcp/setup — đăng nhập iNET một lần trên trình duyệt, trang trả sẵn câu lệnh claude mcp add đã kèm khoá (hạn 1 năm). Dán vào terminal là xong: IDE không mở cửa sổ đăng nhập lần nào.
Kiểm tra server còn sống
Mở viui.inet.vn/mcp/health — trả {"status":"ok"} là server đang chạy. Nếu server sống mà vẫn 401 thì vấn đề nằm ở phiên đăng nhập.
CI, agent, script
Máy không có trình duyệt thì lấy khoá tại /auth/mcp/setup rồi đặt vào header Authorization: Bearer viui_sk_…. Khoá không phụ thuộc phiên SSO nên agent chạy liên tục; thu hồi tại Admin → Quyền truy cập MCP khi cần.
Ứng dụng thực tế
Những tình huống cụ thể mà MCP Server giải quyết mỗi ngày.
Audit Design Tokens
Dán code → AI phát hiện hardcoded values (#024799, 16px, 300ms) → gợi ý token thay thế (colors.brand.primary, spacing.md, motion.duration.fast).
Tạo Block/Page nhanh
Mô tả layout bằng lời → AI compose từ blocks có sẵn + brand colors + đúng spacing tokens. Không cần code từ đầu.
Migrate Vuetify → ViUI
Paste code Vuetify → AI map v-btn sang ViButton, v-card sang ViCard, v-data-table sang ViDataTable — tự động chuyển props tương ứng.
So sánh Themes
Chọn 2 themes → xem diff CSS variables trong IDE — biết ngay biến nào khác, giá trị cũ vs mới, giúp quyết định theme nhanh hơn.
Chuẩn hóa
MCP protocol chuẩn mở — tương thích mọi MCP client, không vendor lock-in.
Dễ mở rộng
Thêm tool hoặc resource mới trong vài phút — chỉ cần define schema và handler.
Đa nền tảng
Claude, Copilot, Cursor, Gemini, VS Code, Windsurf, Trae — 1 config cho tất cả.
AI-Native
Thiết kế từ đầu cho AI-first development — không phải REST API bọc lại.
Câu hỏi thường gặp
Giải đáp những thắc mắc phổ biến nhất về MCP Server.
Sẵn sàng tích hợp MCP vào workflow?
Hãy là những người đầu tiên chuẩn hóa hạ tầng AI cùng iNET Design System MCP Server.