Skip to main content
Glama
DC911360

lanhu-mcp-server

by DC911360

蓝湖 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-server

30 秒接入指南

全局安装后,按你使用的 AI 编程工具复制对应配置即可:

Claude Code(CLI)

claude mcp add lanhu-mcp \
  -e LANHU_COOKIE="你的cookie" \
  -e LANHU_AUTHORIZATION="你的token" \
  -- dc-lanhu-mcp-server

Cursor

在项目根目录创建 .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-server

Windsurf

~/.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: stdio

  • Command: dc-lanhu-mcp-server

  • Env: LANHU_COOKIE=xxx, LANHU_AUTHORIZATION=xxx

验证接入

在任意 agent 中输入:"列出我的蓝湖项目" → 返回项目列表即接入成功 ✅


配置方式

只需 2 个字段LANHU_COOKIE + LANHU_AUTHORIZATIONtenantId 自动发现为 "0"(已验证可用),projectId 通过 lanhu_set_project 从 URL 自动提取,或在工具参数中直接传入。

5 种配置方式总览

#

方式

优先级

配置位置

适用场景

环境变量

最高

process.env

CI/CD、Docker、临时测试

.mcp.json

项目根目录

团队协作,配置随代码走

.env

包安装目录

本地开发,不提交 git

settings.json

~/.claude/settings.json

个人开发者,全局生效

交互引导

兜底

运行时输入

首次使用,零配置启动

优先级:① > ② > ③ > ④ > ⑤(高优先级覆盖低优先级)

① 环境变量(优先级最高)

通过进程环境变量注入,适用于 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

引导流程:

  1. 提示输入 LANHU_COOKIE

  2. 提示输入 LANHU_AUTHORIZATION(可选,直接回车跳过)

  3. 提示输入 tenantId(可选,直接回车跳过 → 自动发现)

  4. 粘贴蓝湖项目 URL(可选,直接回车跳过 → 通过 lanhu_set_project 设置)

  5. 选择写入位置(.env / settings.json / 两者)

  6. 自动保存,下次启动无需重复输入

配置优先级

多个配置源共存时,按以下优先级加载(局部 > 全局):

process.env → .mcp.json → .env → settings.json → 交互引导
     ↑            ↑          ↑         ↑             ↑
  环境变量     项目级配置   本地env   Claude全局    首次兜底

示例:

  • 同时有 .mcp.json.env → 使用 .mcp.json

  • 同时有环境变量和配置文件 → 使用环境变量

  • 只有 settings.json → 自动回填 .env

获取蓝湖凭证

  1. 登录 蓝湖网页版

  2. F12 打开开发者工具

  3. 进入 Network 标签

  4. 刷新页面,选择任意 Fetch/XHR 请求

  5. Request Headers 中复制:

    • CookieLANHU_COOKIE(必需)

    • AuthorizationLANHU_AUTHORIZATION(推荐,部分接口需要)

只需这 2 个凭证,tenantIdprojectId 不需要手动获取。

使用流程

配置凭证(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

说明

lanhu_set_project

从蓝湖 URL 中提取并设置默认 projectId(设置后后续工具免传)

lanhu_list_projects

列出团队项目/文件夹

lanhu_get_designs

获取项目下的设计稿列表

lanhu_get_design_detail

获取设计稿详情(尺寸、预览图、版本)

lanhu_get_design_document

获取完整精确结构化设计数据(核心)

lanhu_get_annotations

获取标注数据(图层树)

lanhu_get_preview

获取预览图 URL

lanhu_get_tokens

提取 Design Tokens

lanhu_get_sectors

获取项目分区信息

lanhu_get_dds_schema

获取 DDS 语义化 UI 组件树

lanhu_generate_code

基于 DDS 数据生成 Vue / HTML 代码

lanhu_download_design

一键下载设计稿(DDS 代码 + 切图)

lanhu_download_cover

下载设计稿封面图

lanhu_download_image

下载任意图片到本地

环境变量

变量

必需

说明

LANHU_COOKIE

蓝湖登录 Cookie

LANHU_AUTHORIZATION

Authorization Token(部分接口需要)

LANHU_TENANT_ID

租户 ID(不配置则自动发现,默认 "0" 已验证可用)

LANHU_PROJECT_ID

默认项目 ID(不配置则通过工具参数传入,或使用 lanhu_set_project 设置)

CHROME_PATH

Chrome 路径(lanhu_download_design 需要,默认自动检测)

测试

方式一: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 的数据"

使用流程

  1. 配置凭证.mcp.json 中只需 LANHU_COOKIE + LANHU_AUTHORIZATION

  2. 设置项目(二选一):

    • 调用 lanhu_set_project 传入蓝湖 URL,自动提取 projectId

    • 或在每个工具调用中直接传 projectId 参数

  3. 获取设计数据 — 调用 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          # 类型定义

参考

Available Tools

14 tools
lanhu_download_coverB

下载设计稿封面图(完整设计截图)到本地目录。

ParametersJSON Schema
NameRequiredDescriptionDefault
imageIdYes设计稿 image_id
projectIdNo项目 UUID
outputPathYes输出目录路径

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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/。

ParametersJSON Schema
NameRequiredDescriptionDefault
imageIdYes设计稿 image_id(从蓝湖 URL 中获取)
projectIdNo项目 UUID(不传则使用默认配置)
outputPathYes输出目录路径(如 ~/Desktop/my-design)

TDQS

A4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 到本地目录。

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes图片 URL
fileNameYes保存文件名
outputPathYes输出目录路径

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 输出。

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNo输出格式:vue 或 htmlvue
imageIdYes设计稿 image_id
outputPathNo输出目录(不传则返回代码内容)

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

获取设计稿的标注数据(图层树),包含每个元素的尺寸、位置、颜色、字体等精确参数。

ParametersJSON Schema
NameRequiredDescriptionDefault
imageIdYes设计稿 image_id
projectIdNo项目 UUID

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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% 精确还原设计稿。

ParametersJSON Schema
NameRequiredDescriptionDefault
imageIdYes设计稿 image_id
versionIdNo版本 ID(不传则自动获取最新版)

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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(标注数据地址)。

ParametersJSON Schema
NameRequiredDescriptionDefault
imageIdYes设计稿 image_id
projectIdNo项目 UUID,不传则使用默认项目

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 代码生成器使用。

ParametersJSON Schema
NameRequiredDescriptionDefault
imageIdYes设计稿 image_id
projectIdNo项目 UUID

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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。

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNo项目 UUID(sourceId),不传则使用配置的默认项目

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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。

ParametersJSON Schema
NameRequiredDescriptionDefault
imageIdYes设计稿 image_id
projectIdNo项目 UUID

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

获取项目的分区(分组)信息,了解设计稿的组织结构。

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNo项目 UUID

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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(颜色变量等)。

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNo项目 UUID

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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 表示根目录。

ParametersJSON Schema
NameRequiredDescriptionDefault
parentIdNo父文件夹 ID,默认 0(根目录)

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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。

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes蓝湖项目 URL 或 projectId UUID。例如:https://lanhuapp.com/web/#/item/project/detailDetach?pid=xxx&project_id=xxx

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 14 tool updatesv1.2.1
    • First observedlanhu_download_cover
    • First observedlanhu_download_design
    • First observedlanhu_download_image
    • First observedlanhu_generate_code
    • First observedlanhu_get_annotations
    • First observedlanhu_get_dds_schema
    • First observedlanhu_get_design_detail
    • First observedlanhu_get_design_document
    • First observedlanhu_get_designs
    • First observedlanhu_get_preview
    • First observedlanhu_get_sectors
    • First observedlanhu_get_tokens
    • First observedlanhu_list_projects
    • First observedlanhu_set_project

TDQS

A3.7/5.0

Scored across 14 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Enables 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.
    3
    191
    123
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Brings Mockplus design data into AI coding assistants, enabling automated design-to-code workflows.
    6
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides 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.
    9
    MIT