Uiverse MCP Tool
Click on "Install 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., "@Uiverse MCP ToolExtract HTML from https://uiverse.io/Na3ar-17/evil-dragon-24"
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.
Uiverse MCP Tool
A FastMCP-based code extraction tool for Uiverse.io, supporting component code extraction from Uiverse website for various frontend frameworks.
Features
🎨 Support for multiple frontend framework code extraction
🚀 Built on FastMCP, supporting both stdio and SSE transport methods
🔧 Easy integration with AI workflows
📦 Uses Playwright for web content extraction
Related MCP server: design-copier
Supported Frameworks
HTML/CSS
React
Vue
Svelte
Lit
System Requirements
Python >= 3.12
uv package manager
Installation
1. Clone or download the project
git clone https://github.com/YBMecho/Uiverse_MCP.git
cd Uiverse_MPC2. Install dependencies
Using uv to install dependencies:
uv sync3. Install Playwright browsers
uv run playwright installConfiguration
This tool supports two MCP configuration methods: stdio and SSE. Please add one of the following configurations to your MCP configuration file (such as Cursor's mcp.json).
Method 1: stdio configuration (recommended)
{
"mcpServers": {
"uiverse-MCP-tool-stdio": {
"name": "Uiverse MCP Tool",
"type": "stdio",
"description": "Uiverse MCP Tool",
"isActive": true,
"command": "uv",
"args": [
"--directory",
"D:\\YBMecho\\Desktop\\Uiverse_MPC",
"run",
"app.py"
]
}
}
}Note: Please replace D:\\YBMecho\\Desktop\\Uiverse_MPC with your actual project path.
Method 2: SSE configuration
{
"mcpServers": {
"uiverse-MPC-tool-SSE": {
"name": "Uiverse MCP Tool",
"type": "sse",
"description": "Uiverse MCP Tool",
"isActive": true,
"url": "http://127.0.0.1:8000/sse"
}
}
}Note: An HTTP server must be started before using the SSE method.
Usage
Available Tools
1. parse_and_extract
Extract component code from Uiverse links.
Input format: <framework> <link>
Examples:
HTML https://uiverse.io/Na3ar-17/evil-dragon-24
React https://uiverse.io/username/component-name
Vue https://uiverse.io/username/component-name
Svelte https://uiverse.io/username/component-name
Lit https://uiverse.io/username/component-nameUsage rules:
Links must start with
https://uiverse.io/Links must contain a specific component path (not just the domain)
Framework names are case-insensitive
2. list_supported_frameworks
List all currently supported frameworks.
Returns: List of supported frameworks (Markdown format)
Using with AI Assistants
After configuration, you can use it directly in MCP-supporting AI assistants (like Cursor):
Please extract HTML code from https://uiverse.io/Na3ar-17/evil-dragon-24or
Use React framework to extract code from https://uiverse.io/username/component-nameThe AI assistant will automatically call the parse_and_extract tool to retrieve the code.
Project Structure
Uiverse_MPC/
├── app.py # FastMCP main application
├── browser.py # HTML/CSS extractor
├── browser_React.py # React extractor
├── browser_Vue.py # Vue extractor
├── browser_Svelte.py # Svelte extractor
├── browser_Lit.py # Lit extractor
├── pyproject.toml # Project configuration
├── build_exe.spec # PyInstaller configuration
├── dist/ # Executable output directory
│ └── UiverseExtractor.exe
└── README.mdBuilding Executable
The project includes PyInstaller configuration to build a standalone Windows executable:
pyinstaller build_exe.specThe generated UiverseExtractor.exe will be located in the dist/ directory.
Dependencies
mcp[cli]>= 1.16.0 - MCP protocol supportfastmcp>= 2.0.0 - FastMCP frameworkplaywright>= 1.55.0 - Browser automation
Development Notes
Local Running
Run in stdio mode:
uv run app.pyAdding Support for New Frameworks
Create a new
browser_<Framework>.pyfileImplement the
extract_<framework>_code(url: str) -> strasync functionImport and add it to the
_dispatch_extractfunction inapp.pyUpdate the
SUPPORTED_FRAMEWORKSlist
License
Please add the appropriate license information according to your needs.
Contributions
Issues and Pull Requests are welcome!
Contact
For questions or suggestions, please provide feedback through Issues.
Available Tools
2 toolslist_supported_frameworksA
列出当前支持的框架名称列表(Markdown)。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It explicitly states the read-only nature ('list') and the Markdown output format, which are useful behavioral traits. However, it does not discuss any potential variability (e.g., sorting, emptiness) or constraints, but for a simple list tool this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly conveys the action and result. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's trivial complexity (no parameters) and the presence of an output schema, the description sufficiently covers what is returned (framework names in Markdown). It is complete for an AI agent to understand and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There is nothing for the description to explain beyond the schema, and no parameter ambiguity exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb '列出' (list) and a clear resource '当前支持的框架名称' (currently supported framework names), with the output format (Markdown) noted. It clearly distinguishes from the sibling tool parse_and_extract.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any context about typical use cases or prerequisites. It merely states what the tool does without explaining when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_and_extractA
规则:输入格式为 “框架+空格+链接”,例如:
HTML https://uiverse.io/Na3ar-17/evil-dragon-24
AI 调用信息:
如果用户输入的链接的开头是 “https://uiverse.io/”,那么先识别该前缀后面是否有内容:
- 没有内容:不使用 MCP(此处返回说明)
- 有内容:根据‘框架’选择对应的 MCP 实现提取代码
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior itself. It reveals the URL-prefix condition and that a framework-based MCP implementation is selected to extract code. It does not describe the actual extraction result, return format, or side effects, leaving the behavioral profile incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with a rule section, example, and bulleted AI-calling instructions. It is reasonably concise, though the conditional bullet points could be condensed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with an existing output schema, the description covers the input format, the embedded conditional, and the case where the tool should not be used. It omits handling for non-matching URL prefixes and unsupported frameworks, but the main invocation path is clearly specified, so the description is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a 'query' string with no description (0% coverage). The description compensates fully by specifying the required format 'framework + space + link', including an example and the conditional constraint that the link must begin with the uiverse.io prefix. This adds substantial meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool extracts code from a uiverse.io link using a framework name, with the input format 'framework + space + link'. It is more specific than the generic name and implies a different role than the sibling list_supported_frameworks. However, the core action is embedded in conditional logic, making it slightly less direct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to use the MCP when the link starts with 'https://uiverse.io/' and has content after the prefix, and to NOT use MCP when there is no content. This gives clear when-to-use and a notable when-not-to-use, but it does not cover links that don't start with the prefix or unsupported frameworks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.1.0- First observed
list_supported_frameworks - First observed
parse_and_extract
TDQS
The two tools serve clearly distinct purposes: one lists supported frameworks, and the other extracts code from a given link. There is no overlap or ambiguity between them.
Both tool names follow the same verb_noun pattern in snake_case: 'parse_and_extract' and 'list_supported_frameworks'. This is consistent and predictable.
With only two tools, the server feels minimal but not absurdly under-scoped. The tools cover the core extraction workflow, though the count is on the low end of what would be expected.
The tool set covers the essential lifecycle: knowing which frameworks are supported and then extracting code from a Uiverse link. A minor gap is the lack of any search or discovery tool for finding components, but the stated purpose is extraction, which is well covered.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Firecrawl MCP — wraps the Firecrawl API (firecrawl.dev) for web
- miromiroOAuthapp.miromiro
Turn any live website into brand colors, fonts, design tokens, SVGs, Lottie and paste-ready code.
UI design from prompts, screenshots, and URLs for AI coding agents and theme tokens.
One MCP for the Web. Easily search, crawl, navigate, and extract websites without getting blocked.…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConverts design screenshots into reusable Tailwind HTML components via MCP protocol, enabling any AI to extract and export individual UI elements.151MIT
- FlicenseAqualityDmaintenanceCaptures webpage styles and HTML, converts CSS to Tailwind, and applies extracted designs to frontend frameworks like React.34-
- FlicenseAqualityDmaintenanceHarvests React components from Aceternity UI and Shadcn UI, fetching code and metadata to generate integration prompts for AI agents.68-
- AlicenseAqualityDmaintenanceA powerful MCP server for UI designers and developers to extract, analyze, and clone website front-end code (HTML, CSS) with pixel-perfect accuracy using browser automation.11223MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/YBMecho/Uiverse_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server