
MasterGo Magic MCP
β 265from mastergo-design
A standalone MCP service that connects MasterGo design tools with AI models, enabling them to retrieve DSL data directly from design files.
MasterGo Magic MCP
MasterGo Magic MCP is a standalone MCP (Model Context Protocol) service designed to connect MasterGo design tools with AI models. It enables AI models to directly retrieve DSL data from MasterGo design files.
Key Features
- Retrieves DSL data from MasterGo design files
- Runs directly with npx
- No external dependencies required, only Node.js environment needed
Tutorial
Example Prompts
Once the MCP server is connected, you can use the following prompts in your AI chat:
Extract SVG and preview in HTML:
Extract SVG and preview in HTML: https://{domain}/file/{fileId}?layer_id={layerId}Restore a design to code:
Restore design: https://{domain}/file/{fileId}?layer_id={layerId}Replace {domain}, {fileId}, and {layerId} with your actual values. You can also use short links:
Restore design: https://{domain}/goto/{shortLink}Restore a design and save as an HTML file:
Restore design, save as HTML file: https://{domain}/file/{fileId}?layer_id={layerId}You can also use short links:
Restore design, save as HTML file: https://{domain}/goto/{shortLink}Project Structure
src Directory
The src directory contains the core implementation of the MasterGo Magic MCP service:
index.ts: Entry point of the application that initializes the MCP server and registers all toolshttp-util.ts: Utility for handling HTTP requests to the MasterGo APItypes.d.ts: TypeScript type definitions for the project
src/tools
Contains implementations of MCP tools:
base-tool.ts: Base class for all MCP toolsget-dsl.ts: Tool for retrieving DSL (Domain Specific Language) data from MasterGo design filesget-component-link.ts: Tool for retrieving component documentation from linksget-meta.ts: Tool for retrieving metadata informationget-component-workflow.ts: Tool providing structured component development workflow for Vue and React components, generating workflow files and component specifications
src/markdown
Contains markdown files with additional documentation:
meta.md: Documentation about metadata structure and usagecomponent-workflow.md: Component development workflow documentation guiding structured component development process
Local Development
- Run
yarnandyarn buildto install dependencies and build the code - Find the absolute path of
dist/index.js - Add local MCP configuration with your token
"mastergo-mcp-local": {
"command": "node",
"args": [
"absolute/path/to/dist/index.js",
"--token=mg_xxxxxx",
"--url=https://mastergo.com",
"--debug"
],
"env": {}
},- Restart your editor to ensure the local MCP is enabled
After successful execution, you can debug based on the local running results. You can build your own MCP service based on your modifications.
We welcome your code contributions and look forward to building MasterGo's MCP service together.
License
ISC
npx @mastergo/magic-mcp --token=YOUR_TOKEN [--url=API_URL] [--rule=RULE_NAME] [--proxy=PROXY_URL] [--format=FORMAT] [--header "Key: Value"] [--debug] [--no-rule]Usage
Obtaining MG_MCP_TOKEN
- Visit https://mastergo.com
- Enter personal settings
- Click the Security Settings tab
- Find the personal access token
- Click to generate the token
Permission Requirements
Important: If the tool is connected but returns a "no permission" error, please check the following conditions:
-
Account Version Requirement:
- Requires Team Edition or higher MasterGo account
- Personal free edition does not support MCP tool access
-
File Location Requirement:
- Design files must be placed in Team Projects
- Files in draft box cannot be accessed via MCP tools
Command Line Options
npx @mastergo/magic-mcp --token=YOUR_TOKEN [--url=API_URL] [--rule=RULE_NAME] [--proxy=PROXY_URL] [--format=FORMAT] [--header "Key: Value"] [--debug] [--no-rule]Parameters:
--token=YOUR_TOKEN(required): MasterGo API token for authentication--url=API_URL(optional): API base URL, defaults to http://localhost:3000--rule=RULE_NAME(optional): Add design rules to apply, can be used multiple times--proxy=PROXY_URL(optional): HTTP/HTTPS proxy URL (e.g.,http://127.0.0.1:7890), also supportsHTTPS_PROXY/HTTP_PROXYenvironment variables--header "Key: Value"(optional): Custom HTTP request header, can be used multiple times. Quote the value when it contains spaces. Custom headers override the defaults β includingContent-Typeand the auth token β so match the default key exactly when overriding. Also settable via theMG_EXTRA_HEADERSenvironment variable as a JSON object (e.g.MG_EXTRA_HEADERS='{"X-Custom":"val"}'); CLI headers take precedence over env.--format=FORMAT(optional): Default output format for design-data tools β one ofjson(default),yaml,tree. An explicit per-callformattool parameter overrides this. Also settable via theDEFAULT_FORMATenvironment variable.--debug(optional): Enable debug mode for detailed error information--no-rule(optional): Disable default rules
You can also use space-separated format for parameters:
npx @mastergo/magic-mcp --token YOUR_TOKEN --url API_URL --rule RULE_NAME --proxy PROXY_URL --format FORMAT --header "Key: Value" --debugEnvironment Variables
Alternatively, you can use environment variables instead of command line arguments:
MG_MCP_TOKENorMASTERGO_API_TOKEN: MasterGo API tokenAPI_BASE_URL: API base URLRULES: JSON array of rules (e.g.,'["rule1", "rule2"]')DEFAULT_FORMAT: Default output format for design-data tools (json|yaml|tree); the--formatargument and an explicit per-callformattool parameter take precedence.HTTPS_PROXY/https_proxy/HTTP_PROXY/http_proxy: HTTP(S) proxy URL (the--proxyargument takes priority)
Tool Output Format
The design-data tools (mcp__getDesignSections, mcp__getDsl, mcp__getDesignSvgs, mcp__getDesignTexts, mcp__extractSvg, mcp__getMeta) accept an optional format parameter that controls how the payload is serialized. It defaults to json, or to the value set via --format / DEFAULT_FORMAT (see Command Line Options).
| Value | Description |
|---|---|
json | Default. Compact JSON β useful when piping output into tools that expect JSON. Byte-identical to the prior behavior. |
yaml | Fewer tokens than JSON for typical designs (flat layouts with repeated values benefit most). |
tree | Experimental compact format. Structural keys (id, name, type) are encoded positionally on each node line, and style values stay deduplicated in a globalVars block. Designs with heavy style reuse see the largest token savings. |
The format is chosen per tool call by the AI model. To influence it, mention the desired format in your prompt, for example:
Restore design, use tree format: https://{domain}/file/{fileId}?layer_id={layerId}Notes:
treeapplies to all six tools' responses:mcp__getDesignSections(section list and per-section DSL),mcp__getDsl,mcp__getDesignSvgs,mcp__getDesignTexts,mcp__extractSvg, andmcp__getMeta.mcp__getMetafalls back to JSON undertreebecause itsrulesfield is markdown (the tree layout would corrupt the markdown's headings/code blocks); other payloads render as tree. Truly unknown shapes also fall back to JSON β no data is ever mis-formatted.- For
mcp__getDesignTexts,jsonis recommended for maximum verbatim-text fidelity β though all formats round-trip without data loss. - All formats round-trip without data loss. An invalid or omitted
formatvalue falls back tojson.
Installing via Smithery Marketplace
Smithery is an MCP server marketplace that makes it easy to install and manage MCP services.
Method 1: Install via Smithery Website
- Visit Smithery Marketplace
- Click the "Connect" or "Install" button
- Select your MCP client (e.g., Claude Desktop, Cursor, etc.)
- Follow the prompts to complete installation and configuration
LINGMA Usage
Search for LINGMA in the VSCode extension marketplace and install it.
<img src="https://github.com/mastergo-design/mastergo-magic-mcp/blob/main/images/image-20250507174245589.png" alt="image-20250507174245589" style="zoom:25%;" />After logging in, click on [MCP tools] in the chat box.
<img src="https://github.com/mastergo-design/mastergo-magic-mcp/blob/main/images/image-20250507174511910.png" alt="image-20250507174511910" style="zoom:25%;" />Click on [MCP Square] at the top to enter the MCP marketplace, find the MasterGo design collaboration tool and install it.
<img src="https://github.com/mastergo-design/mastergo-magic-mcp/blob/main/images/image-20250507174840456.png" alt="image-20250507174840456" style="zoom:25%;" />After installation, go back to [MCP Servers], and edit our MCP service to replace it with your own MasterGo token.
<img src="https://github.com/mastergo-design/mastergo-magic-mcp/blob/main/images/image-20250507175005364.png" alt="image-20250507175005364" style="zoom:25%;" />Finally, switch the chat mode to agent mode in the chat interface.
<img src="https://github.com/mastergo-design/mastergo-magic-mcp/blob/main/images/image-20250507175107044.png" alt="image-20250507175107044" style="zoom:25%;" />cursor Usage
Cursor Mcp usage guide reference: https://docs.cursor.com/context/model-context-protocol#using-mcp-tools-in-agent
You can configure the MCP server using either command line arguments or environment variables:
Option 1: Using command line arguments
{
"mcpServers": {
"mastergo-magic-mcp": {
"command": "npx",
"args": [
"-y",
"@mastergo/magic-mcp",
"--token=<YOUR_TOKEN>",
"--url=https://mastergo.com"
],
"env": {}
}
}
}Option 2: Using environment variables
{
"mcpServers": {
"mastergo-magic-mcp": {
"command": "npx",
"args": ["-y", "@mastergo/magic-mcp"],
"env": {
"MG_MCP_TOKEN": "<YOUR_TOKEN>",
"API_BASE_URL": "https://mastergo.com"
}
}
}
}Option 3: Using SSE (Streamable HTTP)
No local installation required. The MCP server runs remotely and is accessed via SSE:
{
"mcpServers": {
"mastergo-magic-mcp": {
"type": "http",
"url": "https://mastergo.com/mcp/xf/sse",
"headers": {
"x-mg-useraccesstoken": "<YOUR_TOKEN>"
}
}
}
}cline Usage
Option 1: Using command line arguments
{
"mcpServers": {
"@master/mastergo-magic-mcp": {
"command": "npx",
"args": [
"-y",
"@mastergo/magic-mcp",
"--token=<YOUR_TOKEN>",
"--url=https://mastergo.com"
],
"env": {}
}
}
}Option 2: Using environment variables
{
"mcpServers": {
"@master/mastergo-magic-mcp": {
"command": "npx",
"args": ["-y", "@mastergo/magic-mcp"],
"env": {
"MG_MCP_TOKEN": "<YOUR_TOKEN>",
"API_BASE_URL": "https://mastergo.com"
}
}
}
}Open Code Usage
Open Code uses a mcp configuration block with type: "local" and command array:
{
"mcp": {
"mastergo-magic-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@mastergo/magic-mcp",
"--token=<YOUR_TOKEN>",
"--url=https://mastergo.com"
],
"environment": {
"NPM_CONFIG_REGISTRY": "https://registry.npmjs.org/"
},
"enabled": true
}
}
}No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.