MasterGo Magic MCP
OfficialThe MasterGo Magic MCP server enables AI models to interact with MasterGo design files through:
Retrieve DSL Data: Extract structured design data using
mcp__getDsl, including component hierarchy, design properties, and code generation rules by providing file and layer IDs.Extract Component Documentation: Fetch documentation via
mcp__getComponentLinkusing URLs from the componentDocumentLinks array in the DSL data.Integration with AI Models: Serves as a bridge between AI and MasterGo, enabling design analysis and code generation based on the retrieved data.
Support for Local Development: Allows developers to build and customize the MCP service for debugging purposes.
Provides the runtime environment required for the MCP server to operate, with no external dependencies needed beyond Node.js.
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., "@MasterGo Magic MCPget the color palette from my latest design file"
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.
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
Related MCP server: Vextra MCP Server
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}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] [--no-prefix]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--no-prefix(optional): Register tools without themcp__name prefix (e.g.getDslinstead ofmcp__getDsl). Some MCP clients (such as Grok Build) silently skip tools whose fully-qualifiedserver__toolname contains more than one__separator — since the server is already prefixed, amcp__getDsltool name becomesserver__mcp__getDsland is dropped. Enable this flag for those clients. Also settable via theMG_NO_PREFIXenvironment 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" --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.MG_NO_PREFIX: Set to1/true/yesto register tools without themcp__name prefix (the--no-prefixargument takes priority).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 |
| Default. Compact JSON — useful when piping output into tools that expect JSON. Byte-identical to the prior behavior. |
| Fewer tokens than JSON for typical designs (flat layouts with repeated values benefit most). |
| Experimental compact format. Structural keys ( |
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.
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 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
}
}
}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 codeFind the absolute path of
dist/index.jsAdd 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
Available Tools
12 toolsmcp__C2dA
使用此工具将代码文件发送到 MasterGo MCP 服务进行 C2D(代码转设计)处理,将用户代码同步到设计稿。
参数说明:
filePath:HTML 文件的完整路径(如 /path/to/file.html),工具会自动读取文件内容并发送给后端。
fileId: 不提供 shortLink 时至少需要 fileId。layerId 不是必填,没有就不要传。
layerId: 可选。图层 ID(只读取 URL 参数 layer_id)。不传或解析不到则仅按 file 维度同步;pageid/page_id 不会被当作 layerId。
shortLink:可选,短链接形式(例如 https://{domain}/goto/xxxx)。 注意事项:只允许使用 URL 中的 layer_id 参数作为 layerId,严禁将 pageid/page_id 等任何页面 ID 当作 layerId。 如果短链接或 URL 中没有解析出 layer_id,则不传 layerId。
工具会读取 filePath 指定文件的内容,并传给后端,附带 fileId 与可选的 layerId。
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | No | 文件 ID(URL 中 file= 或路径中的数字段)。未传 shortLink 时必填。 | |
| layerId | No | 可选。图层 ID(只读取 URL 参数 layer_id)。不传或解析不到则仅按 file 维度同步;pageid/page_id 不会被当作 layerId。 | |
| filePath | Yes | HTML 文件的完整路径,工具会读取文件内容并发送给后端 | |
| shortLink | No | Short link (like https://{domain}/goto/LhGgBAK). |
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 discloses that the tool reads a file and sends it to the backend, and includes parameter constraints. However, it does not mention destructive behavior, idempotency, permissions, rate limits, or error conditions. The transparency is moderate but not exhaustive.
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-structured with separate sections for parameter details and a note. It is concise overall, though there is minor redundancy (the tool's purpose is stated both at the beginning and implicitly at the end). A slightly more streamlined version would improve efficiency, but it remains clear and scannable.
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 has 4 parameters and no output schema, the description thoroughly covers input semantics but omits any mention of return values, error handling, or what happens after the file is processed. This is a significant gap for an agent to use the tool correctly, as it has no information about expected responses or failure modes.
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 input schema provides 100% coverage with descriptions for all parameters. The description adds significant value beyond the schema by explaining the relationship between fileId, shortLink, and layerId, including examples and explicit restrictions (e.g., 'pageid/page_id will not be treated as layerId'). This enriches the agent's understanding of parameter usage.
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 clearly states the tool's purpose: 'send code files to MasterGo MCP service for C2D processing, synchronizing user code to the design draft.' It uses a specific verb (send/sync) and resource (code to design), and it distinguishes itself from sibling tools like extractSvg and getComponentGenerator by being the only code-to-design tool.
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?
The description provides detailed parameter usage guidelines (e.g., when to provide fileId vs shortLink, restrictions on layerId) but lacks explicit guidance on when to use this tool versus alternative tools. No sibling comparisons or when-not-to-use conditions are mentioned, leaving usage decisions implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp__extractSvgA
Extract SVG data from MasterGo design files. This tool retrieves the DSL from a design layer, finds all PATH nodes (typically inside INSTANCE/icon components), resolves their color references, and generates SVG markup strings. You can provide either:
fileId and layerId directly, or
a short link (like https://{domain}/goto/LhGgBAK) Returns { count, svgs: [{ name, id, svg }] } — one entry per icon/instance found in the design.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | No | MasterGo design file ID (format: file/<fileId> in MasterGo URL). Required if shortLink is not provided. | |
| format | No | Output format for design data. Defaults to json. - json — default; useful when piping output into tools that expect JSON. - yaml — fewer tokens than JSON for typical designs. - 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. | |
| layerId | No | Layer ID of the specific component or element to retrieve (format: ?layer_id=<layerId>). Required if shortLink is not provided. | |
| shortLink | No | Short link (like https://{domain}/goto/LhGgBAK). | |
| sourceLayerId | No | Source layer ID from URL parameter source_layer_id. When provided, use this instead of layerId for all queries. | |
| backgroundColor | No | Solid background color for the SVG (e.g. '#000000', 'black'). Useful for previewing white/light icons. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses the internal process: retrieving DSL, finding PATH nodes, resolving color references, and generating SVG markup. It also describes the return format ({ count, svgs }). However, it does not mention potential side effects or permission requirements, which would elevate transparency further.
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 concise and well-structured, starting with a clear purpose statement. Each sentence adds essential information about the tool's functionality, input methods, and output. There is no redundancy or irrelevant detail, making it easy for an AI agent to parse quickly.
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 complexity (6 parameters, conditionally required inputs) and the absence of an output schema, the description adequately captures both input options and the return structure. It covers the core behavior and output format but omits details like error handling or limitations, leaving minor gaps.
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?
Schema description coverage is 100%, so each parameter's purpose is already documented. The description adds high-level context about the workflow and output but does not enhance understanding of individual parameters beyond their schema descriptions. Thus, it delivers marginal added value, meeting the baseline for full schema coverage.
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 clearly states the verb and resource: 'Extract SVG data from MasterGo design files.' It provides specific details about the process (retrieving DSL, finding PATH nodes, resolving color references, generating SVG markup) and distinguishes the tool's output format. This differentiates it from sibling tools like mcp__getDesignSvgs by focusing on SVG extraction specifically.
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?
The description offers two input methods (fileId+layerId or shortLink) and notes conditionality, but it does not explicitly state when to use this tool over alternatives such as mcp__getDesignSvgs. The guidance is implied but lacks direct comparisons or exclusion criteria, leaving the agent without clear boundary conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp__getComponentGeneratorB
Users need to actively call this tool to get the component development workflow. When Generator is mentioned, please actively call this tool. This tool provides a structured workflow for component development following best practices. You must provide an absolute rootPath of workspace to save workflow files.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | MasterGo design file ID (format: file/<fileId> in MasterGo URL) | |
| layerId | Yes | Layer ID of the specific component or element to retrieve (format: ?layer_id=<layerId> / file=<fileId> in MasterGo URL) | |
| rootPath | Yes | The root path of the project, if the user does not provide, you can use the current directory as the root path | |
| sourceLayerId | No | Source layer ID from URL parameter source_layer_id. When provided, use this instead of layerId for all queries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It mentions saving files but does not disclose what exactly is created, whether it is destructive, or any side effects. The description is vague about the workflow structure.
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 short, consisting of three sentences. The first sentence is somewhat redundant ('Users need to actively call this tool'), but overall it is efficient.
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?
The description lacks details about the output (no output schema exists), such as the structure of the workflow or file types. With four parameters and no output specification, the description is incomplete for an agent to fully understand the tool's behavior.
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?
Schema coverage is 100%, so each parameter already has a description in the input schema. The description only adds 'save workflow files' context for rootPath but does not significantly enhance understanding 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 it provides a component development workflow and requires a rootPath to save files. The verb 'get' is used, making the purpose clear. However, it does not differentiate from sibling tools like getFlutterGenerator or getD2c, which are likely different generators.
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?
The description says 'When Generator is mentioned, please actively call this tool,' giving a clear when-to-use hint. It also emphasizes providing an absolute rootPath. However, no exclusions or alternative tools are mentioned, so guidance is limited.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp__getComponentLinkB
When the data returned by mcp__getDsl contains a non-empty componentDocumentLinks array, this tool is used to sequentially retrieve URLs from the componentDocumentLinks array and then obtain component documentation data. The returned document data is used for you to generate frontend code based on components.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Component documentation link URL, from the componentDocumentLinks property, please ensure the URL is valid |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool retrieves URLs sequentially and obtains documentation data, but doesn't disclose important behavioral traits like whether this is a read-only operation, potential rate limits, authentication needs, error handling, or what happens if the URL is invalid. The description is insufficient for a mutation tool with zero annotation coverage.
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 reasonably concise with two sentences, but could be more front-loaded. The first sentence contains multiple clauses that could be simplified. While not verbose, it doesn't achieve the efficiency of top-tier descriptions where every word earns its place.
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 tool with no annotations, no output schema, and a clear purpose in a workflow context, the description is incomplete. It doesn't explain what the returned documentation data looks like, how errors are handled, or important behavioral constraints. The mention of frontend code generation adds context but doesn't compensate for missing operational details.
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?
Schema description coverage is 100%, so the schema already documents the single 'url' parameter. The description adds marginal value by mentioning the URL comes from 'componentDocumentLinks property' and should be 'valid', but doesn't provide additional syntax, format details, or constraints beyond what the schema provides. Baseline 3 is appropriate when schema does the heavy lifting.
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 clearly states the tool's purpose: to retrieve URLs from componentDocumentLinks array and obtain component documentation data. It specifies the verb 'retrieve' and resource 'component documentation data', but doesn't explicitly differentiate from sibling tools like mcp__getComponentGenerator or mcp__getDsl beyond mentioning the source array.
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?
The description provides some context for when to use this tool ('when the data returned by mcp__getDsl contains a non-empty componentDocumentLinks array'), but doesn't specify when NOT to use it or mention alternatives. It implies a sequential workflow but lacks explicit guidance on prerequisites or comparisons with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp__getD2cA
使用此工具从 MasterGo 获取 D2C 数据,并在本地落盘: 1)将返回的 code 写入 html; 2)将返回的 svg / image 资源按 resourcePath 落盘到对应目录; 3)返回落盘摘要,避免把大体积资源塞进上下文。
| Name | Required | Description | Default |
|---|---|---|---|
| outDir | No | 可选,输出目录(绝对路径或相对当前工作目录)。 | |
| contentId | Yes | MasterGo D2C contentId,例如 mastergo://getd2c/176452330285910-2-2845 中的 176452330285910-2-2845。 | |
| documentId | Yes | MasterGo 文档 ID,通常为 contentId 的第一段,例如 contentId 为 176452330285910-2-9032 时 documentId 为 176452330285910。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the behavioral disclosure burden. It details side effects (writing files to disk, avoiding large resources in context), which is commendable. However, it does not mention error handling, permission requirements, or reversibility, preventing a perfect score.
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 concise, front-loads the purpose, and uses a numbered list for clarity. Every sentence adds value, though some redundancy exists (e.g., restating resourcePath in step 2). Still, it is well-structured for an agent to parse.
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 lack of output schema and annotations, the description adequately covers inputs, outputs (a summary), and side effects. It addresses potential context overflow by omitting large resources. For a tool of moderate complexity, this is sufficient but not exhaustive (e.g., no mention of return format or error states).
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?
Schema coverage is 100% (baseline 3), but the description adds significant context: it explains the role of contentId and documentId with examples, and clarifies outDir as optional. This goes beyond mere schema replication, adding practical meaning for the agent.
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 clearly states the tool fetches D2C data from MasterGo and persists it locally, including writing code to HTML and saving SVG/image resources. It well specifies the action and resource, but does not explicitly differentiate from sibling tools like mcp__C2d or mcp__extractSvg.
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?
The description lists steps but does not explicitly state when to use this tool versus alternatives, nor does it provide exclusion criteria or prerequisites. Usage is implied by the context of D2C data retrieval, but lack of explicit guidance hurts score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp__getDesignSectionsA
[PRIMARY] This is the main tool for all designs. Operates in TWO modes:
Mode 1 — Get layout overview (sectionIndex NOT provided): Returns the list of all sections with id, name, type, nodeCount, and a page-absolute bounding box (x, y, width, height) for each section, plus totalSections and totalNodes. Also returns rootMetadata (root layer width/height/name/type/fill) when available. Use this FIRST to understand the design scope. The per-section bbox tells you exactly where each section sits inside the root container — use it for absolute positioning when generating code. Example: { "fileId": "123", "layerId": "456:789" }
Mode 2 — Get section DSL (sectionIndex provided): Returns the full DSL for ONE specific section.
PATH nodes have their svgHtml stripped. After fetching ALL sections, call mcp__getDesignSvgs to retrieve them.
IMPORTANT workflow:
First call WITHOUT sectionIndex to get the section list with node counts.
Then call WITH sectionIndex=0, sectionIndex=1, ... up to totalSections-1.
You MUST fetch ALL sections. Do NOT skip any section index.
CRITICAL: Fetch sections in BATCHES of 3-5 at a time. Do NOT request all sections simultaneously — too many concurrent requests will cause timeouts. Send 3-5 sectionIndex calls, wait for all results, then send the next batch.
After fetching all sections, call mcp__getDesignSvgs to get SVG icons.
Generate the complete HTML with all SVG data.
DO NOT call mcp__getDsl after completing this workflow — all data is already provided. If this tool returns an error (e.g. old server), fall back to mcp__getDsl.
You can provide either:
fileId and layerId directly, or
a short link (like https://{domain}/goto/LhGgBAK)
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | No | MasterGo design file ID. Required if shortLink is not provided. | |
| format | No | Output format for design data. Defaults to json. - json — default; useful when piping output into tools that expect JSON. - yaml — fewer tokens than JSON for typical designs. - 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. | |
| layerId | No | Root layer ID of the design. Required if shortLink is not provided. | |
| shortLink | No | Short link (like https://{domain}/goto/LhGgBAK). | |
| sectionIndex | No | 0-based section index. If omitted, returns the section list only. If provided, returns full DSL for that specific section. | |
| sourceLayerId | No | Source layer ID from URL parameter source_layer_id. When provided, use this instead of layerId for all queries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden. It discloses behavior such as two modes, stripping svgHtml from PATH nodes, batching requirements, timeout risks, and error handling. No contradictions or omissions are present.
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-structured with clear section headers, bullet points, and examples. It is verbose but every sentence adds value. Minor redundancy (e.g., repeated emphasis on batching) could be trimmed, but overall efficient for the information density.
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 complexity (6 parameters, multi-step workflow, no output schema), the description covers all necessary context: input modes, workflow, batching, fallback, and format options. It leaves no ambiguity about how to use the tool effectively.
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?
Despite 100% schema coverage, the description adds significant meaning beyond the schema. It explains the effect of omitting/providing sectionIndex, the meaning of each format option (json, yaml, tree), and provides usage examples. This greatly aids an agent in using parameters correctly.
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 clearly states it is the main tool for designs and distinguishes two modes (layout overview vs section DSL). It differentiates from siblings by explicitly mentioning fallback to mcp__getDsl and directing to mcp__getDesignSvgs for SVGs, avoiding confusion.
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?
The description provides explicit, step-by-step usage guidelines: first call without sectionIndex, then fetch all sections in batches of 3-5, and not to call mcp__getDsl after. It also specifies when to fall back to mcp__getDsl on error, giving clear context for when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp__getDesignSvgsA
After fetching ALL sections via mcp__getDesignSections, call this tool to retrieve all cached SVG HTML strings. Each PATH node in the DSL has an id. Look up that id in the returned svgs map to get the complete SVG string. Insert the svgHtml string directly into HTML where icons should appear.
You can provide either:
fileId and layerId directly, or
a short link (like https://{domain}/goto/LhGgBAK)
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | No | MasterGo design file ID. Required if shortLink is not provided. | |
| format | No | Output format for design data. Defaults to json. - json — default; useful when piping output into tools that expect JSON. - yaml — fewer tokens than JSON for typical designs. - 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. | |
| layerId | No | Root layer ID of the design. Required if shortLink is not provided. | |
| shortLink | No | Short link (like https://{domain}/goto/LhGgBAK). | |
| sourceLayerId | No | Source layer ID from URL parameter source_layer_id. When provided, use this instead of layerId for all queries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since there are no annotations, the description bears full responsibility. It states the tool retrieves cached data, implying a read-only operation with no destructive side effects. It also describes the caching behavior and the mapping from path IDs to SVG strings. No contradictory or missing critical traits.
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 relatively concise with a few focused sentences. The most important information (prerequisite, purpose, and usage) is front-loaded. No unnecessary words or repetition, though it could be slightly shortened.
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 no output schema, the description sufficiently covers the return format (map of ids to SVG strings) and how to integrate into HTML. It also mentions caching. Missing some error conditions (e.g., if sections not fetched) but overall adequate for the complexity.
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?
With 100% schema description coverage, the baseline is 3. The description reiterates the two invocation methods (fileId+layerId vs shortLink) already present in the schema, and does not add new insights or constraints beyond what the schema provides.
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 clearly explains that the tool retrieves cached SVG HTML strings after fetching design sections. It mentions the prerequisite tool (mcp__getDesignSections) and how to use the output (look up id in svgs map, insert svgHtml). However, it does not explicitly differentiate from sibling tools like mcp__extractSvg, which might also deal with SVGs.
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?
Provides explicit usage sequence: call after mcp__getDesignSections. Also offers two input alternatives (fileId+layerId or shortLink) and explains how to use the returned data. Lacks when-not-to-use or alternative comparisons, but the guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp__getDesignTextsA
After fetching ALL sections via mcp__getDesignSections, call this tool to retrieve exact text content for large text nodes. In the section DSL, TEXT nodes with long content (>50 chars) have their "text" field replaced with a key like "T{sectionIndex}|{nodeId}". This tool returns the original text mapped by those keys. You MUST use the exact text from this response — never invent, paraphrase, or translate text.
You can provide either:
fileId and layerId directly, or
a short link (like https://{domain}/goto/LhGgBAK)
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | No | MasterGo design file ID. Required if shortLink is not provided. | |
| format | No | Output format for design data. Defaults to json. - json — default; useful when piping output into tools that expect JSON. - yaml — fewer tokens than JSON for typical designs. - 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. | |
| layerId | No | Root layer ID of the design. Required if shortLink is not provided. | |
| shortLink | No | Short link (like https://{domain}/goto/LhGgBAK). | |
| sourceLayerId | No | Source layer ID from URL parameter source_layer_id. When provided, use this instead of layerId for all queries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains the key format and that text must be used exactly, but does not mention error handling, rate limits, or consequences of missing keys. Basic behavioral context is present but could be more thorough.
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-structured: first paragraph explains context and key mapping, then a bullet list of parameter options. Every sentence is necessary and no fluff. It is efficiently front-loaded.
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 complexity (text retrieval from a design system), the description covers the workflow, key mapping, and parameter options adequately. It lacks an output schema but describes the return value as original text. Some edge cases (e.g., missing keys) are not addressed, but the core functionality is well explained.
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?
Schema coverage is 100%, so the bar is higher. The description adds value by explaining when to use each parameter (e.g., shortLink alternative, sourceLayerId override) and the format parameter's use cases. It goes beyond the schema's basic descriptions.
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 clearly states the tool retrieves exact text content for large text nodes after fetching sections, explaining the key mapping and that original text is returned. It distinguishes itself from sibling tools by specifying its role in the workflow (after getDesignSections).
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?
The description explicitly tells the agent to call this tool after getDesignSections, provides two calling methods (fileId/layerId or shortLink), and warns against inventing text. It doesn't mention when not to use it relative to siblings, but the workflow guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp__getDslA
[FALLBACK] Use only when mcp__getDesignSections is unavailable or returns an error. This returns the FULL DSL in one response — may be large and exceed context limits for complex designs. Prefer mcp__getDesignSections as the primary tool for all designs. You can provide either:
fileId and layerId directly, or
a short link (like https://{domain}/goto/LhGgBAK) This tool returns the raw DSL data that you can then parse and analyze. Use the optional 'format' parameter (json/yaml/tree, defaults to json) to control the serialization. This tool also returns the rules you must follow when generating code. The DSL data can also be used to transform and generate code for different frameworks.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | No | MasterGo design file ID (format: file/<fileId> in MasterGo URL). Required if shortLink is not provided. | |
| format | No | Output format for design data. Defaults to json. - json — default; useful when piping output into tools that expect JSON. - yaml — fewer tokens than JSON for typical designs. - 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. | |
| layerId | No | Layer ID of the specific component or element to retrieve (format: ?layer_id=<layerId> / file=<fileId> in MasterGo URL). Required if shortLink is not provided. | |
| shortLink | No | Short link (like https://{domain}/goto/LhGgBAK). | |
| sourceLayerId | No | Source layer ID from URL parameter source_layer_id. When provided, use this instead of layerId for all queries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description warns that the response may be large and exceed context limits, discloses it returns raw DSL data and rules for code generation, and explains the format parameter behavior. Auth or rate limits are not mentioned, but the key behavioral trait of size is covered.
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-structured with clear sections and front-loading of purpose and fallback role. It is slightly verbose but each sentence adds value. Could be more concise, but overall it is effective.
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 has 5 parameters, no output schema, and no annotations, the description covers all necessary aspects: purpose, usage guidelines, parameter explanation, output characteristics, and behavioral warnings. It is fully sufficient for an agent to select and invoke the tool correctly.
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?
Schema coverage is 100%, so baseline is 3. The description adds context beyond the schema by explaining the fallback scenario, clarifying how shortLink relates to fileId/layerId, and describing the outcome of each format option. This extra guidance justifies a score of 4.
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 clearly states the tool returns the full DSL in one response, functions as a fallback for mcp__getDesignSections, and distinguishes itself by warning of large output. Purpose is specific and unambiguous.
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?
Explicitly says 'Use only when mcp__getDesignSections is unavailable or returns an error' and 'Prefer mcp__getDesignSections as the primary tool,' providing clear when-to-use and when-not-to-use guidance. Also explains two ways to provide input (fileId+layerId or shortLink).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp__getFlutterGeneratorA
Users need to actively call this tool to get the Flutter component development workflow. When Flutter Generator or Flutter Component is mentioned, please actively call this tool. This tool provides a structured workflow for Flutter component development following best practices. It includes MasterGo DSL to Flutter Widget mapping rules, screen adaptation with flutter_screenutil, and feature-based architecture guidance. It also downloads all image resources from the design file to local disk, rewrites CSS and DSL references to point at Flutter asset paths, and generates an asset manifest. You must provide an absolute rootPath of workspace to save workflow files.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | MasterGo design file ID (format: file/<fileId> in MasterGo URL) | |
| layerId | Yes | Layer ID of the specific component or element to retrieve (format: ?layer_id=<layerId> / file=<fileId> in MasterGo URL) | |
| rootPath | Yes | The root path of the Flutter project, if the user does not provide, you can use the current directory as the root path | |
| featureName | No | Optional feature directory name under assets/image/ and the Flutter feature module. Defaults to the root component name. | |
| sourceLayerId | No | Source layer ID from URL parameter source_layer_id. When provided, use this instead of layerId for all queries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It discloses that the tool downloads images, rewrites references, and generates manifests, implying file system modifications. However, it does not state if these actions are reversible, require permissions, or have side effects like overwriting existing files.
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 paragraph that front-loads the activation instruction and then lists functionalities. It is reasonably concise with no redundancy, though it could be improved by using bullet points for readability.
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 has 5 parameters, no output schema, and moderate complexity, the description covers the workflow but lacks details on expected return values, error handling, or what happens when parameters are invalid. It is adequate but not fully comprehensive.
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?
Schema description coverage is 100%, so each parameter already has a description. The tool description adds no additional semantic detail beyond what's in the schema, except reinforcing the requirement for rootPath. Per guidelines, baseline is 3.
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 clearly states the tool gets the Flutter component development workflow. It lists specific deliverables (DSL mapping, asset download, etc.), establishing a distinct purpose. However, it does not explicitly differentiate from sibling tools like mcp__getComponentGenerator, which could be confused. The purpose is clear but lacks sibling distinction.
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?
The description explicitly states when to call the tool: 'When Flutter Generator or Flutter Component is mentioned, please actively call this tool.' It also notes the requirement for an absolute rootPath. However, it does not provide alternative tools or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp__getMetaB
Use this tool when the user intends to build a complete website or needs to obtain high-level site configuration information. You must provide a fileld and layerld to identify the specific design element. This tool returns the rules and results of the site and page. The rules is a markdown file, you must follow the rules and use the results to analyze the site and page.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | MasterGo design file ID (format: file/<fileId> in MasterGo URL) | |
| format | No | Output format for design data. Defaults to json. - json — default; useful when piping output into tools that expect JSON. - yaml — fewer tokens than JSON for typical designs. - 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. | |
| layerId | Yes | Layer ID of the specific component or element to retrieve (format: ?layer_id=<layerId> / file=<fileId> in MasterGo URL) | |
| sourceLayerId | No | Source layer ID from URL parameter source_layer_id. When provided, use this instead of layerId for all queries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It states that the tool returns 'rules and results,' but does not clarify if the operation is read-only, whether any state changes occur, or any prerequisites (e.g., authentication). This is insufficient for an unannotated tool.
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 brief paragraph of three sentences, but contains typos ('fileld', 'layerld') and includes an imperative instruction ('you must follow the rules') that could be integrated more concisely. It is not overly long, but clarity is slightly reduced.
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?
The tool has four parameters (including optional format and sourceLayerId) and no output schema. The description does not mention the optional parameters or explain what 'rules and results' means in terms of output structure. For a tool with moderate complexity, the description lacks completeness.
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 input schema covers all four parameters with descriptions (100% coverage). The description repeats the need for fileId and layerId but adds no new semantic meaning beyond what the schema already provides. Baseline of 3 is appropriate.
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 specifies that the tool is used when building a complete website or obtaining high-level site configuration, which clearly states its purpose. However, it does not explicitly differentiate this tool from its siblings (e.g., getD2c, getDesignSections), which all retrieve design-related information.
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?
The description provides usage context ('when user intends to build a complete website') and states that fileId and layerId are required. However, it does not mention when not to use this tool or suggest alternatives among sibling tools, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
version_0_2_2C
the current version is 0.2.2
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose behavior beyond stating the version. It fails to mention that this is a read-only operation or how the information is obtained.
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 extremely brief (a single fragment) but not well-structured. It lacks a full sentence explaining the tool's purpose. It cannot be considered concise as defined; it is underspecified.
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 simplicity of the tool (no parameters, no output schema), the description should at least indicate that this tool returns the current version. The absence of such context makes it incomplete for an agent to understand its purpose.
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 input schema has no parameters, so schema coverage is 100%. The description does not add meaning beyond the schema, but given zero parameters, no additional parameter information is necessary.
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 'the current version is 0.2.2' which is a statement of fact rather than describing tool functionality. It does not clarify that the tool returns or retrieves version information. The name 'version_0_2_2' could be misinterpreted as a static constant.
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 on when to use this tool. Siblings like getMeta and getDsl suggest other ways to obtain metadata, but no exclusions or contextual advice are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, but getDesignSections and getDsl overlap as primary and fallback for design data. Descriptions clarify the relationship, so confusion is minimal. The version tool and workflow tools are distinct.
All tools except version_0_2_2 follow the mcp__<action><Object> pattern with consistent camelCase. The version tool breaks the pattern but is a minor outlier.
12 tools is well-scoped for a design-to-code server covering extraction, generation, and linking. Each tool serves a clear role without redundancy.
The tool surface covers the full design-to-code pipeline: design section retrieval with supplementary SVG/text tools, DSL fallback, C2D and D2C conversion, component generators for multiple frameworks, and metadata. No obvious gaps for the stated purpose.
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
The Figma MCP server brings Figma design context directly into your AI workflow.
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Connect MCP clients to 2,000+ AI models without managing provider API keys.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that connects AI tools and LLMs to Figma designs, enabling them to extract design data, analyze design systems, and generate development documentation.1,7012MIT
- -licenseNot gradedqualityNot gradedmaintenanceA server based on Model Context Protocol that processes and parses design files (Vextra/Figma/Sketch/SVG), enabling AI assistants to access and manipulate design content.3
- AlicenseAqualityDmaintenanceConnects AI models with MasterGo design tools to retrieve and process DSL data from design files, enabling AI-powered design analysis and manipulation.28,723ISC
- AlicenseNot gradedqualityDmaintenanceConnects AI models to MasterGo design tools, enabling retrieval of DSL data, component documentation, and metadata from MasterGo design files for structured component development workflows.8,723ISC
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/mastergo-design/mastergo-magic-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server