lanhu-mcp-server
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., "@lanhu-mcp-serverShow my recent Lanhu projects"
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.
蓝湖 MCP Server
让 AI 编程工具(Claude Code / Cursor / Cline 等)直接读取蓝湖设计稿数据,实现 Design to Code 自动化。
功能
项目浏览 — 列出团队项目、设计稿列表、分区信息
精确设计数据 — 获取完整图层树(@1x 绝对坐标、全量样式 fill/border/shadow/typography)
DDS 语义化组件树 — 获取蓝湖 AI 识别的 UI 组件结构(NavBar / Avatar / Input / ImageText 等),包含 row/col 布局和精确样式
代码生成 — 基于 DDS 语义数据生成 Vue 3 SFC 或纯 HTML 代码
一键下载 — 通过 Puppeteer 从 DDS 页面提取官方 HTML/CSS 代码 + 下载所有切图并替换为本地路径
Design Tokens — 自动提取颜色、字体、间距、圆角等设计变量
资源下载 — 封面图、切图、导出图片下载
Related MCP server: Lanhu MCP Server
安装
npm install -g dc-lanhu-mcp-server或免安装直接使用:
npx dc-lanhu-mcp-server30 秒接入指南
全局安装后,按你使用的 AI 编程工具复制对应配置即可:
Claude Code(CLI)
claude mcp add lanhu-mcp \
-e LANHU_COOKIE="你的cookie" \
-e LANHU_AUTHORIZATION="你的token" \
-- dc-lanhu-mcp-serverCursor
在项目根目录创建 .cursor/mcp.json:
{
"mcpServers": {
"lanhu-mcp": {
"command": "dc-lanhu-mcp-server",
"env": {
"LANHU_COOKIE": "你的cookie",
"LANHU_AUTHORIZATION": "你的token"
}
}
}
}Codex(OpenAI)
codex mcp add lanhu-mcp \
-e LANHU_COOKIE="你的cookie" \
-e LANHU_AUTHORIZATION="你的token" \
-- dc-lanhu-mcp-serverWindsurf
在 ~/.codeium/windsurf/mcp_config.json 添加:
{
"mcpServers": {
"lanhu-mcp": {
"command": "dc-lanhu-mcp-server",
"env": {
"LANHU_COOKIE": "你的cookie",
"LANHU_AUTHORIZATION": "你的token"
}
}
}
}VSCode Copilot Chat
在项目 .vscode/mcp.json 添加:
{
"servers": {
"lanhu-mcp": {
"command": "dc-lanhu-mcp-server",
"env": {
"LANHU_COOKIE": "你的cookie",
"LANHU_AUTHORIZATION": "你的token"
}
}
}
}Cline(VSCode 扩展)
在 VSCode settings.json 添加:
{
"cline.mcpServers": {
"lanhu-mcp": {
"command": "dc-lanhu-mcp-server",
"env": {
"LANHU_COOKIE": "你的cookie",
"LANHU_AUTHORIZATION": "你的token"
}
}
}
}Cherry Studio / 其他 GUI 客户端
设置 → MCP Servers → 添加:
Type:
stdioCommand:
dc-lanhu-mcp-serverEnv:
LANHU_COOKIE=xxx,LANHU_AUTHORIZATION=xxx
验证接入
在任意 agent 中输入:"列出我的蓝湖项目" → 返回项目列表即接入成功 ✅
配置方式
只需 2 个字段:
LANHU_COOKIE+LANHU_AUTHORIZATION。tenantId自动发现为"0"(已验证可用),projectId通过lanhu_set_project从 URL 自动提取,或在工具参数中直接传入。
5 种配置方式总览
# | 方式 | 优先级 | 配置位置 | 适用场景 |
① | 环境变量 | 最高 |
| CI/CD、Docker、临时测试 |
② |
| 高 | 项目根目录 | 团队协作,配置随代码走 |
③ |
| 中 | 包安装目录 | 本地开发,不提交 git |
④ |
| 低 |
| 个人开发者,全局生效 |
⑤ | 交互引导 | 兜底 | 运行时输入 | 首次使用,零配置启动 |
优先级:① > ② > ③ > ④ > ⑤(高优先级覆盖低优先级)① 环境变量(优先级最高)
通过进程环境变量注入,适用于 CI/CD、Docker 容器或临时测试:
# 方式 A:export 后启动
export LANHU_COOKIE="你的cookie"
export LANHU_AUTHORIZATION="你的token"
npx dc-lanhu-mcp-server
# 方式 B:一行命令
LANHU_COOKIE="你的cookie" LANHU_AUTHORIZATION="你的token" npx dc-lanhu-mcp-server
# 方式 C:Docker / CI 环境变量
# 在 Dockerfile 或 CI 配置中设置 LANHU_COOKIE 和 LANHU_AUTHORIZATION会覆盖所有配置文件中的值。
② .mcp.json 项目级配置(推荐团队使用)
在项目根目录创建 .mcp.json,配置随代码走,可提交到 git:
{
"mcpServers": {
"lanhu-mcp": {
"type": "stdio",
"command": "npx",
"args": ["dc-lanhu-mcp-server"],
"env": {
"LANHU_COOKIE": "你的cookie",
"LANHU_AUTHORIZATION": "你的token"
}
}
}
}优势:
✅ 只需 2 个字段,
tenantId/projectId自动发现✅ 配置跟随项目,新成员 clone 后即可使用
✅ 可加入
.gitignore保护敏感信息
支持路径:
.mcp.json(标准,Claude Code / Cursor 通用).cursor/mcp.json(Cursor 专用)
③ .env 本地文件
在 dc-lanhu-mcp-server 包安装目录下创建 .env 文件:
LANHU_COOKIE=你的cookie
LANHU_AUTHORIZATION=你的token文件权限自动设为 600(仅所有者可读写)。
适用:本地开发,不想污染全局配置。
④ settings.json 全局配置(推荐个人使用)
通过 Claude Code CLI 注册,配置写入 ~/.claude/settings.json,所有项目通用:
# 注册
claude mcp add lanhu-mcp \
-e LANHU_COOKIE="你的cookie" \
-e LANHU_AUTHORIZATION="你的token" \
-- npx dc-lanhu-mcp-server
# 验证
claude mcp list
# 使用本地安装路径(更快启动)
claude mcp add lanhu-mcp \
-e LANHU_COOKIE="你的cookie" \
-e LANHU_AUTHORIZATION="你的token" \
-- node /path/to/dc-lanhu-mcp-server/dist/index.js也支持手动编辑 ~/.claude/settings.json:
{
"mcpServers": {
"lanhu-mcp": {
"command": "npx",
"args": ["dc-lanhu-mcp-server"],
"env": {
"LANHU_COOKIE": "你的cookie",
"LANHU_AUTHORIZATION": "你的token"
}
}
}
}⑤ 交互引导(首次兜底)
无任何配置时,首次运行自动进入交互引导:
npx dc-lanhu-mcp-server引导流程:
提示输入
LANHU_COOKIE提示输入
LANHU_AUTHORIZATION(可选,直接回车跳过)提示输入
tenantId(可选,直接回车跳过 → 自动发现)粘贴蓝湖项目 URL(可选,直接回车跳过 → 通过
lanhu_set_project设置)选择写入位置(
.env/settings.json/ 两者)自动保存,下次启动无需重复输入
配置优先级
多个配置源共存时,按以下优先级加载(局部 > 全局):
process.env → .mcp.json → .env → settings.json → 交互引导
↑ ↑ ↑ ↑ ↑
环境变量 项目级配置 本地env Claude全局 首次兜底示例:
同时有
.mcp.json和.env→ 使用.mcp.json同时有环境变量和配置文件 → 使用环境变量
只有
settings.json→ 自动回填.env
获取蓝湖凭证
登录 蓝湖网页版
F12 打开开发者工具
进入 Network 标签
刷新页面,选择任意 Fetch/XHR 请求
在 Request Headers 中复制:
Cookie→LANHU_COOKIE(必需)Authorization→LANHU_AUTHORIZATION(推荐,部分接口需要)
只需这 2 个凭证,
tenantId和projectId不需要手动获取。
使用流程
配置凭证(2 个字段)→ 设置项目(URL 自动提取)→ 获取设计数据第一步:配置凭证 — 选择上述 5 种方式之一,只需 LANHU_COOKIE + LANHU_AUTHORIZATION
第二步:设置项目 — 两种方式任选:
调用
lanhu_set_project传入蓝湖 URL,自动提取projectId(推荐)或在每个工具调用中直接传
projectId参数
第三步:获取设计数据 — 调用 lanhu_get_design_document 等工具
# 示例:在 Claude Code 中对话
> "从这个蓝湖链接获取设计稿并生成 Vue 组件:
> https://lanhuapp.com/web/#/item/project/detailDetach?pid=xxx&project_id=xxx&image_id=yyy"
# MCP Server 自动完成:
# 1. 从 URL 提取 projectId 和 imageId
# 2. autoDiscover() 设置 tenantId = "0"
# 3. 调用 getDesignDocument(imageId, projectId)
# 4. 返回完整设计数据(图层树 + 样式 + Design Tokens)MCP Tools
Tool | 说明 |
| 从蓝湖 URL 中提取并设置默认 projectId(设置后后续工具免传) |
| 列出团队项目/文件夹 |
| 获取项目下的设计稿列表 |
| 获取设计稿详情(尺寸、预览图、版本) |
| 获取完整精确结构化设计数据(核心) |
| 获取标注数据(图层树) |
| 获取预览图 URL |
| 提取 Design Tokens |
| 获取项目分区信息 |
| 获取 DDS 语义化 UI 组件树 |
| 基于 DDS 数据生成 Vue / HTML 代码 |
| 一键下载设计稿(DDS 代码 + 切图) |
| 下载设计稿封面图 |
| 下载任意图片到本地 |
环境变量
变量 | 必需 | 说明 |
| 是 | 蓝湖登录 Cookie |
| 否 | Authorization Token(部分接口需要) |
| 否 | 租户 ID(不配置则自动发现,默认 |
| 否 | 默认项目 ID(不配置则通过工具参数传入,或使用 |
| 否 | Chrome 路径( |
测试
方式一:MCP Inspector(推荐)
MCP Inspector 是官方调试工具,提供 Web UI 可以直接调用 Tools:
# 设置环境变量
export LANHU_COOKIE="你的cookie"
export LANHU_AUTHORIZATION="你的token"
# 启动 Inspector
npx @modelcontextprotocol/inspector node dist/index.js浏览器会打开 http://localhost:5173,可以:
查看所有注册的 Tools
手动调用每个 Tool 并查看返回结果
调试输入参数
方式二:直接在 Claude Code 中测试
# 1. 添加 MCP Server
claude mcp add lanhu-mcp -e LANHU_COOKIE="你的cookie" -- node $(pwd)/dist/index.js
# 2. 启动 Claude Code,直接对话测试
claude
# 然后在对话中说:
# "列出我的蓝湖项目"
# "获取设计稿 xxx 的数据"使用流程
配置凭证 —
.mcp.json中只需LANHU_COOKIE+LANHU_AUTHORIZATION设置项目(二选一):
调用
lanhu_set_project传入蓝湖 URL,自动提取projectId或在每个工具调用中直接传
projectId参数
获取设计数据 — 调用
lanhu_get_design_document等工具
# 示例对话流程:
> "从这个蓝湖链接获取设计稿:https://lanhuapp.com/web/#/item/project/detailDetach?pid=xxx&project_id=xxx&image_id=yyy"
# MCP Server 自动:
# 1. 提取 projectId 和 imageId
# 2. 调用 getDesignDocument(imageId, projectId)
# 3. 返回完整设计数据方式三:命令行快速验证
# 确认 Server 能正常启动(会等待 stdio 输入)
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1.0"}}}' | LANHU_COOKIE="你的cookie" node dist/index.js方式四:开发模式 + Inspector
# 使用 tsx 直接运行,改代码无需重新构建
npx @modelcontextprotocol/inspector npx tsx src/index.ts错误日志
Server 会自动捕获所有异常并记录到日志文件,方便排查问题。
日志位置:
~/.lanhu-mcp/error.log监控内容:
TOOL_ERROR— Tool 调用失败(含工具名、参数、完整堆栈)UNCAUGHT_EXCEPTION— 未捕获异常UNHANDLED_REJECTION— 未处理的 Promise 拒绝SIGTERM/SIGINT— 进程退出信号
常用命令:
# 实时查看(推荐,调试时开一个终端窗口常驻)
tail -f ~/.lanhu-mcp/error.log
# 查看全部内容
cat ~/.lanhu-mcp/error.log
# 只看最后 50 行
tail -50 ~/.lanhu-mcp/error.log
# 分页查看(按 q 退出,/ 搜索)
less ~/.lanhu-mcp/error.log
# 只查某个工具的错误
grep "lanhu_download_design" ~/.lanhu-mcp/error.log
# 统计错误次数
grep -c "TOOL_ERROR" ~/.lanhu-mcp/error.log
# 清空日志
> ~/.lanhu-mcp/error.log
# 用编辑器打开
code ~/.lanhu-mcp/error.log # VSCode / Cursor日志格式:
[2026-07-15T02:02:50.582Z] TOOL_ERROR [lanhu_get_design_document]: 获取详情失败: Image not exist
Error: 获取详情失败: Image not exist
at LanhuClient.getDesignDetail (...)
at ...
Args: {
"imageId": "invalid-image-id-12345",
"projectId": "b27d22f6-..."
}
────────────────────────────────────────────────────────────────────────────────每条日志包含:时间戳 / 类型 / 工具名 / 错误信息 / 调用堆栈 / 调用参数。
项目结构
src/
├── index.ts # MCP Server 入口(首次配置引导 + stdio 启动)
├── client.ts # 蓝湖 API 客户端(图层解析、DDS、下载)
├── tools.ts # MCP Tools 注册
├── dds-codegen.ts # DDS → Vue / HTML 代码生成器
├── dds-puppeteer.ts # Puppeteer 提取 DDS 官方代码 + 切图下载
└── types.ts # 类型定义参考
MCP Inspector — 官方调试工具
dsphper/lanhu-mcp — 社区参考实现
Puppeteer — DDS 代码提取依赖
Available Tools
14 toolslanhu_download_coverB
下载设计稿封面图(完整设计截图)到本地目录。
| Name | Required | Description | Default |
|---|---|---|---|
| imageId | Yes | 设计稿 image_id | |
| projectId | No | 项目 UUID | |
| outputPath | Yes | 输出目录路径 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions downloading to a local directory but does not disclose whether files are overwritten, the image format, or any side effects.
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 sentence that front-loads the action and resource. Every word is necessary, 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 3 parameters, no output schema, and no annotations, the description is minimally adequate. It does not specify return values, error handling, or behavior when the output path does not exist. More context could help differentiate from siblings.
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% (all 3 parameters have descriptions). The tool description adds no additional meaning beyond the schema; it does not explain how 'imageId' or 'projectId' are used. Baseline 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 clearly states the verb '下载' (download), the resource '设计稿封面图' (cover image of a design draft), and the destination '到本地目录' (to local directory). It distinguishes this tool from siblings like 'lanhu_download_design' and 'lanhu_download_image' by specifying it's for the cover image.
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 explicit guidance on when to use this tool versus alternatives like 'lanhu_download_design' or 'lanhu_download_image'. The description does not mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lanhu_download_designA
一键下载蓝湖设计稿:通过 Puppeteer 从 DDS 页面提取官方生成的 HTML/CSS 代码 + 下载所有 CDN 切图并替换为本地路径。输出 index.html / index.css / flexible.js / common.css + img/。
| Name | Required | Description | Default |
|---|---|---|---|
| imageId | Yes | 设计稿 image_id(从蓝湖 URL 中获取) | |
| projectId | No | 项目 UUID(不传则使用默认配置) | |
| outputPath | Yes | 输出目录路径(如 ~/Desktop/my-design) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the process: Puppeteer extraction, CDN download, and local path replacement. It clearly indicates the output files and that the tool modifies local disk. This is detailed despite no annotations.
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 sentence that packs significant detail, but it is somewhat dense and could be broken into shorter sentences for easier parsing. Front-loading with the main action is good.
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 explains the full output (index.html, index.css, etc.) and the process, compensating for the lack of an output schema. It covers all necessary context for a download 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?
Schema coverage is 100%, so the schema already describes parameters. The description adds context for imageId and outputPath (e.g., 'from URL', 'output directory') but does not elaborate on projectId. This provides marginal value over 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 clearly states the tool's purpose: downloading Lanhu design drafts, extracting HTML/CSS via Puppeteer, downloading CDN images, and replacing paths. It lists output files, distinguishing it from sibling tools like lanhu_download_cover or lanhu_download_image.
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 implies usage for downloading a full design draft, but lacks explicit guidance on when to use this tool versus alternatives (e.g., lanhu_download_cover for covers only). No when-not-to-use or prerequisite information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lanhu_download_imageC
下载任意图片 URL 到本地目录。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 图片 URL | |
| fileName | Yes | 保存文件名 | |
| outputPath | Yes | 输出目录路径 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as file overwrite behavior, error handling, authentication requirements, or side effects. This leaves the agent with significant uncertainty.
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 short sentence with no unnecessary words. It is efficiently structured, though it could benefit from slightly more detail without becoming verbose.
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?
With no output schema and no annotations, the description fails to explain what the tool returns (e.g., file path, success status) or any behavioral expectations. For a download tool, this is insufficient for complete understanding.
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 already describes all three parameters (url, fileName, outputPath) with 100% coverage. The description does not add additional meaning or context beyond what the schema provides, so it meets the baseline but does not enhance understanding.
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 action (download) and the resource (any image URL) and destination (local directory). However, it does not differentiate from sibling tools like lanhu_download_cover or lanhu_download_design, which might have more specific purposes.
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 no guidance on when to use this tool versus alternatives, nor any conditions or exclusions. It simply states the basic function without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lanhu_generate_codeB
基于蓝湖 DDS 语义化数据生成前端代码。支持 Vue 3 SFC (.vue) 和 HTML 输出。
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | 输出格式:vue 或 html | vue |
| imageId | Yes | 设计稿 image_id | |
| outputPath | No | 输出目录(不传则返回代码内容) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only mentions code generation and output formats. Does not disclose side effects, permissions, idempotency, or error behavior.
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?
Two concise sentences, front-loaded with main purpose. Could add more detail without becoming verbose.
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?
Description mentions output behavior if no outputPath, but lacks details on return format or structure. Adequate but not 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 covers 100% of parameters; description adds minimal extra meaning beyond schema (e.g., output formats already in enum). Baseline score 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?
Description clearly states tool generates frontend code from DDS semantic data, supporting Vue 3 SFC and HTML. Distinct from sibling tools which are download/retrieve operations.
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?
Usage is implied (use when needing to generate code from DDS), but no explicit guidance on when not to use or alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lanhu_get_annotationsB
获取设计稿的标注数据(图层树),包含每个元素的尺寸、位置、颜色、字体等精确参数。
| Name | Required | Description | Default |
|---|---|---|---|
| imageId | Yes | 设计稿 image_id | |
| projectId | No | 项目 UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It indicates a read operation (获取) and hints at the return content (layer tree with element details), but does not disclose potential errors, authentication needs, or constraints (e.g., required projectId context).
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, clear sentence that efficiently communicates the tool's purpose and output. It is front-loaded and contains no filler or redundant 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 simple tool with two parameters and no output schema, the description adequately explains what the tool returns. However, it could benefit from noting that the data is hierarchical (layer tree) or mentioning potential error cases.
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%, achieving baseline. The description adds value by explaining what the annotation data contains (尺寸,位置,颜色,字体), but does not elaborate on how parameters influence the output beyond fetching annotations for a given image.
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: getting annotation data (layer tree) of a design draft with precise parameters. It uses a specific verb and resource, but does not explicitly distinguish it from sibling tools like lanhu_get_design_detail or lanhu_get_design_document.
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. There is no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lanhu_get_dds_schemaA
获取蓝湖 DDS 语义化 UI 组件树。返回经过 AI 识别的 UI 组件结构(NavBar/Avatar/Input/ImageText 等),包含 row/col 布局和精确样式。用于 300% 精确还原设计稿。
| Name | Required | Description | Default |
|---|---|---|---|
| imageId | Yes | 设计稿 image_id | |
| versionId | No | 版本 ID(不传则自动获取最新版) |
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 discloses that the tool returns AI-recognized UI component structure with row/col layout and precise styles. There is no mention of side effects or destructive actions, which is appropriate for a read-like operation. The description adds value beyond the schema.
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 two sentences: first introduces the tool, second explains the output and its use case. Every sentence adds value with no extraneous information. Front-loaded with key purpose.
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 (2 params, no output schema, no annotations), the description is complete. It explains what the tool returns (component tree, layout, styles) and the use context (AI-recognized structure, precise restoration). No 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 baseline is 3. The description does not add extra information about the parameters beyond what is in the schema ('imageId' and 'versionId'). No elaboration on format or constraints is provided.
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 a specific verb ('获取') and resource ('蓝湖 DDS 语义化 UI 组件树'), provides examples of recognized components (NavBar/Avatar/Input/ImageText), and mentions layout and styles. It clearly distinguishes this tool from siblings like lanhu_get_annotations or lanhu_get_tokens.
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 states the tool is for '300% 精确还原设计稿' (300% accurate design restoration), implying its usage when precise UI reproduction is needed. While it does not explicitly list when-not-to-use or alternatives, the distinct purpose is clear among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lanhu_get_design_detailB
获取设计稿详情,包含尺寸、预览图 URL、版本信息、json_url(标注数据地址)。
| Name | Required | Description | Default |
|---|---|---|---|
| imageId | Yes | 设计稿 image_id | |
| projectId | No | 项目 UUID,不传则使用默认项目 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden of behavioral disclosure. It mentions return fields but does not disclose side effects, authorization needs, rate limits, or whether the operation is read-only. The bare-minimum transparency is met by stating what data is returned.
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?
A single, front-loaded sentence that conveys the essential purpose and expected return fields without any wasted words. It is highly concise and well-structured.
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 absence of an output schema, the description lists key return fields (dimensions, preview URL, version, json_url), which is moderately complete for a detail retrieval tool. It could be improved by clarifying the difference from download or annotation siblings.
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% with descriptions for both parameters. The description does not add extra meaning beyond the schema, such as format constraints or examples, so it meets the baseline score of 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 verb '获取' (get) and resource '设计稿详情' (design details), listing specific fields like dimensions, preview URL, version info, and json_url. However, it does not distinguish from sibling tools like 'lanhu_get_design_document' or 'lanhu_get_preview', which may have overlapping purposes.
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. There is no mention of prerequisites, filtering options, or exclusions. The sibling tools suggest various retrieval methods, but the description offers no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lanhu_get_design_documentA
获取设计稿的完整精确结构化数据。返回图层树(绝对坐标@1x、全量样式fill/border/shadow/typography)、Design Tokens。供 iOS/Android/Flutter/Web/H5 代码生成器使用。
| Name | Required | Description | Default |
|---|---|---|---|
| imageId | Yes | 设计稿 image_id | |
| projectId | No | 项目 UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It describes the output (layer tree, tokens) but does not disclose any side effects, error conditions, or performance characteristics. For a read-only data retrieval tool, this is adequate but not comprehensive.
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 concise sentence that front-loads the purpose, then lists the key outputs and target consumers. Every part adds value without 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 no output schema and no annotations, the description could be more complete regarding the structure of returned data. It mentions layers and tokens but lacks detail on hierarchy or format. However, the intended audience (code generators) likely understands the format, so it meets basic needs.
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?
Both parameters have descriptions in the schema (imageId and projectId). The tool description adds no extra semantic context about parameters beyond what the schema already provides. With 100% schema coverage, the baseline score 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 clearly states the tool returns complete structured data of design documents, including layer tree with absolute coordinates and styles, plus Design Tokens. It explicitly mentions use for code generators, distinguishing it from siblings that focus on specific aspects like tokens or annotations.
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 implies usage for code generation and retrieving full design data, but does not explicitly contrast with sibling tools or specify when not to use it. Given the sibling list includes tools for annotations, tokens, and design details, the context is clear enough for an experienced agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lanhu_get_designsA
获取项目下的设计稿列表。使用项目的 UUID(sourceId)作为 projectId。
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | No | 项目 UUID(sourceId),不传则使用配置的默认项目 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It reveals basic read-only behavior (listing designs) but lacks details on pagination, sorting, filtering, or response format. For a simple list tool, this is adequate but not comprehensive.
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?
Two short, front-loaded sentences with no redundant information. Every sentence adds value: first states purpose, second clarifies parameter usage.
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 and simple input, the description covers purpose and parameter but omits details about the list contents, pagination, or other results. It is minimally complete but leaves gaps for an agent.
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% with one parameter fully described. The description adds context (sourceId, default project) but largely mirrors the schema's description. Baseline 3 is appropriate as it adds marginal value.
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?
Description clearly states the tool retrieves a list of designs under a project, specifying the use of project UUID as parameter. This distinguishes it from sibling tools like lanhu_get_design_detail (single design) or lanhu_download_* (downloads).
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?
Description explains how to use the parameter (use project UUID) and that it defaults to a configured project if omitted. However, it does not explicitly state when to use this tool vs alternatives like lanhu_get_design_detail or lanhu_list_projects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lanhu_get_previewB
获取设计稿的预览图 URL。
| Name | Required | Description | Default |
|---|---|---|---|
| imageId | Yes | 设计稿 image_id | |
| projectId | No | 项目 UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as whether it is read-only, what happens on error, or any side effects. The minimal description leaves the agent with little insight into tool behavior.
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?
A single, direct sentence with no superfluous words. It is front-loaded and immediately actionable.
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?
No output schema exists, and the description does not explain what the tool returns (e.g., format of the URL, whether it's a direct link or requires further processing). For a tool with no annotations, this is a significant gap.
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% (both parameters have descriptions in the schema). The description adds no additional meaning beyond what is already in the parameter descriptions, so baseline 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 clearly states the action ('获取...URL') and resource ('设计稿的预览图'), using a specific verb and noun. It distinguishes from sibling tools like lanhu_download_cover which focus on downloading.
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 vs alternatives. The description does not mention prerequisites, limitations, or scenarios where another sibling tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lanhu_get_sectorsB
获取项目的分区(分组)信息,了解设计稿的组织结构。
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | No | 项目 UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It does not disclose whether the operation is read-only, requires authentication, or has side effects. The description simply states it retrieves information, which is implicit but insufficient.
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 sentence with no wasted words. It is concise and to the point, appropriate for the tool's simplicity.
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 simple getter with one parameter and no output schema, the description adequately conveys what the tool does. It mentions both the return type (partition/group info) and its purpose (understand organization structure). Minor missing context about project existence requirements, but overall sufficient.
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% and the description adds no extra meaning beyond the parameter's schema. Baseline of 3 is appropriate as the schema already documents the parameter.
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 sector/group information of a project, which is distinct from sibling tools that deal with designs, annotations, or downloads. The verb '获取' (get) and resource '分区(分组)信息' are specific.
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 versus alternatives. The description only states its function without any context about prerequisites, exclusions, or comparison to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lanhu_get_tokensB
从设计稿标注数据中提取 Design Tokens(颜色变量等)。
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | No | 项目 UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. However, it only states the basic functionality. There is no mention of safety traits (e.g., read-only, destructive) or any side effects, which leaves the agent uncertain about the tool's behavior.
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 sentence with no wasted words. It is concise and to the point.
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 one parameter, no output schema, and no annotations, the description is minimal but still adequate for a simple extraction operation. However, it lacks details about the output format, which may be necessary for proper use.
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% for the single parameter 'projectId', and the description does not add any additional meaning beyond the schema. Baseline score 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 clearly states the action 'extract' and the resource 'Design Tokens (color variables, etc.)' from a specific source (design draft annotation data). This distinguishes it from sibling tools that focus on other tasks like downloading, generating code, or getting annotations.
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 no guidance on when to use this tool versus alternatives. It does not mention any preconditions, exclusions, or scenarios where other tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lanhu_list_projectsB
列出蓝湖团队下的所有项目/文件夹,返回 ID 和名称。parentId=0 表示根目录。
| Name | Required | Description | Default |
|---|---|---|---|
| parentId | No | 父文件夹 ID,默认 0(根目录) |
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 the return values (ID, name) and parameter behavior (parentId=0 root), but omits potential side effects, pagination, rate limits, or authentication requirements. Minimal disclosure for a read operation.
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 concise: two sentences that front-load the action and result, with no redundant information. Every word serves a purpose.
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 simple list tool with one optional parameter and no output schema, the description is adequate. It mentions the return fields (ID, name) and parameter meaning. However, it lacks details on response structure (e.g., array of objects), default behavior when no parentId is provided, and error scenarios. Could be improved but meets basic needs.
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% and includes a description of parentId. The tool description adds a clarifying note that parentId=0 means root directory, which is a useful addition. While schema already does the heavy lifting, this extra context slightly enhances understanding.
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 '列出' (list) and resource '项目/文件夹' (projects/folders), and specifies the return fields (ID and name). It does not explicitly differentiate from sibling tools, but the action is distinct enough among the siblings.
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 explains the meaning of the parentId parameter but provides no guidance on when to use this tool versus alternatives (e.g., lanhu_set_project for creation). There are no explicit context or exclusion hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lanhu_set_projectA
从蓝湖项目 URL 中提取并设置默认 projectId。之后所有工具调用无需再传 projectId。支持格式:完整 URL 或直接粘贴 projectId UUID。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 蓝湖项目 URL 或 projectId UUID。例如:https://lanhuapp.com/web/#/item/project/detailDetach?pid=xxx&project_id=xxx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It explains the effect (sets default) but lacks details on persistence, scope, or whether it overwrites. For a configuration tool, more context is needed.
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?
Two sentences, zero waste. Front-loaded with purpose and effect.
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?
Adequate for a simple configuration tool. Explains input format and outcome. Could mention whether the setting is persistent or session-based, but not essential.
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% with one parameter described. Description adds an example of accepted formats (full URL or UUID), which adds value 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?
Description clearly states the tool extracts and sets a default projectId from a URL or UUID, and that subsequent calls won't need to pass projectId. This distinguishes it from sibling tools that perform design-related actions.
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?
Implied usage: use this tool before others to avoid passing projectId. However, no explicit guidance on when not to use it or alternatives for setting context.
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.
14 tool updates
v1.2.1- First observed
lanhu_download_cover - First observed
lanhu_download_design - First observed
lanhu_download_image - First observed
lanhu_generate_code - First observed
lanhu_get_annotations - First observed
lanhu_get_dds_schema - First observed
lanhu_get_design_detail - First observed
lanhu_get_design_document - First observed
lanhu_get_designs - First observed
lanhu_get_preview - First observed
lanhu_get_sectors - First observed
lanhu_get_tokens - First observed
lanhu_list_projects - First observed
lanhu_set_project
TDQS
Scored across 14 tools
Each tool has a clearly distinct purpose: downloading covers, designs, or images; generating code; retrieving annotations, DDS schema, design details, documents, previews, sectors, tokens; listing projects; and setting the project. No two tools do the same thing, and any apparent overlap (e.g., annotations vs. design document) is well-differentiated by description.
All tools follow a consistent 'lanhu_verb_noun' pattern in snake_case (e.g., lanhu_download_cover, lanhu_get_annotations, lanhu_list_projects). The verbs are specific and predictable, making it easy to infer the action and target resource.
With 14 tools, the server is well-scoped for interacting with the Lanhu design platform. Each tool addresses a specific need (listing, getting details, downloading, code generation), and the count is neither too sparse nor overwhelming.
The tool surface covers core workflows: browsing projects and designs, retrieving detailed structural data and tokens, downloading assets, and generating code. Minor gaps exist (e.g., no direct tool for searching designs or managing project metadata), but the set is sufficient for common tasks.
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
Connect AI coding agents to Anima Playground, Figma, and your design system.
Serves your design system and coding standards to coding agents, so they stop guessing.
Give AI coding agents access to your Vynix visual feedback, bug reports, and AI diagnosis.
UI design from prompts, screenshots, and URLs for AI coding agents and theme tokens.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides AI coding agents with access to Figma design data through the Figma API. Enables accurate one-shot implementation of designs in any framework by translating Figma files into simplified layout and styling information.71MIT
- AlicenseAqualityAmaintenanceEnables AI to directly read and analyze Lanhu design drafts and requirement documents to generate HTML, CSS, and structural analyses. It allows users to extract design slices and process prototype pages directly within AI clients.3191123MIT
- AlicenseNot gradedqualityAmaintenanceBrings Mockplus design data into AI coding assistants, enabling automated design-to-code workflows.6MIT
- AlicenseAqualityCmaintenanceProvides AI coding agents with structured access to Lanhu design data, enabling direct inspection of artboards, extraction of pixel-perfect layer styles and CSS attributes, and downloading of design assets without vision token overhead.9MIT