MasterGo Magic MCP connects MasterGo design tools with AI models by retrieving DSL data from design files through the Model Context Protocol. The server runs standalone via npx with no external dependencies beyond Node.js, and provides command-line options for authentication via API tokens, API URL configuration, design rule application, and debug modes. It solves the problem of enabling AI systems to directly access and work with design data from MasterGo files, requiring Team Edition accounts or higher with files stored in Team Projects.
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.
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}
Important: If the tool is connected but returns a "no permission" error, please check the following conditions:
Account Version Requirement:
File Location Requirement:
npx @mastergo/magic-mcp --token=YOUR_TOKEN [--url=API_URL] [--rule=RULE_NAME] [--proxy=PROXY_URL] [--format=FORMAT] [--header "Key: Value"] [--debug] [--no-rule] [--no-prefix]
--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 supports HTTPS_PROXY / HTTP_PROXY environment 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 — including Content-Type and the auth token — so match the default key exactly when overriding. Also settable via the MG_EXTRA_HEADERS environment 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 of json (default), yaml, tree. An explicit per-call format tool parameter overrides this. Also settable via the DEFAULT_FORMAT environment variable.--debug (optional): Enable debug mode for detailed error information--no-rule (optional): Disable default rules--no-prefix (optional): Register tools without the mcp__ name prefix (e.g. getDsl instead of mcp__getDsl). Some MCP clients (such as Grok Build) silently skip tools whose fully-qualified server__tool name contains more than one __ separator — since the server is already prefixed, a mcp__getDsl tool name becomes server__mcp__getDsl and is dropped. Enable this flag for those clients. Also settable via the MG_NO_PREFIX environment variable (1/true/yes).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" --debug
Alternatively, you can use environment variables instead of command line arguments:
MG_MCP_TOKEN or MASTERGO_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 --format argument and an explicit per-call format tool parameter take precedence.MG_NO_PREFIX: Set to 1/true/yes to register tools without the mcp__ name prefix (the --no-prefix argument takes priority).HTTPS_PROXY / https_proxy / HTTP_PROXY / http_proxy: HTTP(S) proxy URL (the --proxy argument takes priority)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:
tree applies to all six tools' responses: mcp__getDesignSections (section list and per-section DSL), mcp__getDsl, mcp__getDesignSvgs, mcp__getDesignTexts, mcp__extractSvg, and mcp__getMeta. mcp__getMeta falls back to JSON under tree because its rules field 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.mcp__getDesignTexts, json is recommended for maximum verbatim-text fidelity — though all formats round-trip without data loss.format value falls back to json.Smithery is an MCP server marketplace that makes it easy to install and manage MCP services.
Search for LINGMA in the VSCode extension marketplace and install it.
After logging in, click on [MCP tools] in the chat box.
Click on [MCP Square] at the top to enter the MCP marketplace, find the MasterGo design collaboration tool and install it.
After installation, go back to [MCP Servers], and edit our MCP service to replace it with your own MasterGo token.
Finally, switch the chat mode to agent mode in the chat interface.
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>"
}
}
}
}
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 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
}
}
}
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 projectContains 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 specificationsContains markdown files with additional documentation:
meta.md: Documentation about metadata structure and usagecomponent-workflow.md: Component development workflow documentation guiding structured component development processyarn and yarn build to install dependencies and build the codedist/index.js"mastergo-mcp-local": {
"command": "node",
"args": [
"absolute/path/to/dist/index.js",
"--token=mg_xxxxxx",
"--url=https://mastergo.com",
"--debug"
],
"env": {}
},
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.
ISC
miapre/html-to-figma-design-system
ie3jp/illustrator-mcp-server
coding-solo/godot-mcp
ivanmurzak/unity-mcp
yctimlin/mcp_excalidraw
figma/mcp-server-guide