lanhu-mcp
Lanhu MCP Server
Un servidor del Model Context Protocol (MCP) para la plataforma de colaboración de diseño Lanhu (蓝湖).
Permite a los LLM y a los asistentes de codificación con IA inspeccionar directamente mesas de trabajo de diseño, extraer propiedades CSS y jerarquías de capas perfectas a nivel de píxel y descargar recursos exportables, con cero coste adicional de tokens de visión.
💡 ¿Por qué Lanhu MCP?
Al implementar diseños de interfaz con agentes de codificación con IA (Claude, Cursor, Copilot, Antigravity, etc.), enviar capturas de pantalla suele resultar en:
Coste elevado de tokens para los modelos de visión
Posicionamiento impreciso, márgenes supuestos y colores aproximados
Tamaños de fuente y alturas de línea alucinados
Imposibilidad de extraer y descargar automáticamente recursos SVG/imagen
Lanhu MCP Server analiza las especificaciones de diseño estructuradas de Lanhu directamente en árboles de datos tipados:
⚡ Cero coste adicional de tokens de visión: Datos JSON estructurados en lugar de capturas pesadas.
📐 Precisión perfecta en píxeles: Límites exactos de capa (
x,y,width,height), colores (HEX/RGBA), tipografía (fontSize,fontWeight,fontFamily,lineHeight), radio de borde, rellenos, bordes y sombras.🎨 Extracción inteligente de recursos: Descubre automáticamente recursos de corte, proporciona enlaces directos de descarga por CDN y admite conversión sin pérdida a formatos modernos WebP o SVG.
🔄 Autenticación resiliente: Gestión de sesiones persistente con renovación automática de tokens en modo headless mediante Playwright.
Related MCP server: Lanhu MCP Server
✨ Características principales
Exploración de equipos y proyectos: Consulta equipos, archivos de diseño del espacio de trabajo y busca proyectos sin problemas.
Inspección de mesas de trabajo: Lista mesas de trabajo (
screens), previsualiza miniaturas y busca pantallas por nombre.Anotaciones profundas de capas: Recupera de forma recursiva árboles de capas completos con atributos de estilo CSS/UI exhaustivos.
Canal de recursos: Descarga vectores SVG e imágenes de mapa de bits directamente a tu espacio de trabajo local.
Mantenedor de sesión automático: Un script Playwright headless mantiene viva tu sesión de Lanhu en segundo plano sin tener que iniciar sesión manualmente una y otra vez.
📋 Requisitos
Python:
>= 3.10Gestor de paquetes: uv (muy recomendado)
Cliente MCP: Cursor, Claude Desktop, Claude Code, Antigravity, Windsurf, Cline, Codex, VS Code o cualquier otra herramienta compatible con MCP.
🚀 Inicio rápido
1. Ejecutar con uvx (sin necesidad de instalar)
Puedes ejecutar lanhu-mcp directamente sin clonar el repositorio:
uvx --from git+https://github.com/xinayida/lanhu-mcp.git lanhu-mcp2. Ejecutar desde el código fuente
# Clone the repository
git clone https://github.com/xinayida/lanhu-mcp.git
cd lanhu-mcp
# Sync environment and dependencies
uv sync
# Run the server (stdio mode)
uv run lanhu-mcp🔐 Autenticación
Lanhu MCP se conecta a lanhuapp.com mediante cookies de sesión del navegador. Lee desde ~/.lanhu/cookie (permiso de archivo 0600).
Método 1: Acceso automático y renovación (Recomendado)
Ejecuta el script de automatización de Playwright incluido:
uv run scripts/refresh_cookie.pySi ya has iniciado sesión: Verifica en segundo plano la sesión, renueva el token y lo escribe en
~/.lanhu/cookie.Si la sesión ha caducado: Abre automáticamente una ventana de Chrome para un único acceso (código SMS o contraseña). Una vez autenticado, guarda la sesión y cierra el navegador.
Consejo para tareas programadas: Ejecuta con
--headless-onlyen trabajos cron para renovar periódicamente la cookie sin mostrar ventanas:uv run scripts/refresh_cookie.py --headless-only
Método 2: Configuración dinámica mediante la herramienta de chat
Llama directamente a la herramienta MCP desde tu chat de IA:
lanhu_set_cookie(cookie="session=...; user_token=...")Para obtener tu cookie manualmente:
Abre lanhuapp.com en Chrome y abre DevTools (
F12).Ve a la pestaña Red y haz clic en cualquier solicitud a
lanhuapp.com.En Request Headers, copia la cadena
Cookiecompleta que contienesessionyuser_token.
Método 3: Variable de entorno
Crea el archivo .env en la raíz del proyecto o pasa la variable LANHU_COOKIE:
cp .env.example .env
# Edit .env and set LANHU_COOKIE=session=...; user_token=...🛠️ Configuración del cliente MCP
Añade lanhu-mcp a tu cliente MCP favorito:
Ve a Cursor Settings -> MCP -> Añadir nuevo servidor MCP:
Nombre:
lanhuTipo:
commandComando:
uvx --from git+https://github.com/xinayida/lanhu-mcp.git lanhu-mcp
O configúralo a través de ~/.cursor/mcp.json:
{
"mcpServers": {
"lanhu": {
"command": "uvx",
"args": ["--from", "git+https://github.com/xinayida/lanhu-mcp.git", "lanhu-mcp"]
}
}
}Añádelo en claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"lanhu": {
"command": "uvx",
"args": ["--from", "git+https://github.com/xinayida/lanhu-mcp.git", "lanhu-mcp"]
}
}
}Usa la CLI de Claude Code:
claude mcp add lanhu uvx --from git+https://github.com/xinayida/lanhu-mcp.git lanhu-mcpAñádelo a la configuración de Antigravity o en settings.json:
{
"mcpServers": {
"lanhu": {
"command": "uvx",
"args": ["--from", "git+https://github.com/xinayida/lanhu-mcp.git", "lanhu-mcp"]
}
}
}Añádelo a ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"lanhu": {
"command": "uvx",
"args": ["--from", "git+https://github.com/xinayida/lanhu-mcp.git", "lanhu-mcp"]
}
}
}Añádelo a tu cline_mcp_settings.json:
{
"mcpServers": {
"lanhu": {
"command": "uvx",
"args": ["--from", "git+https://github.com/xinayida/lanhu-mcp.git", "lanhu-mcp"],
"disabled": false,
"autoApprove": []
}
}
}Añádelo usando la CLI de Codex:
codex mcp add lanhu uvx "--from" "git+https://github.com/xinayida/lanhu-mcp.git" "lanhu-mcp"O edita ~/.codex/config.toml:
[mcp_servers.lanhu]
command = "uvx"
args = ["--from", "git+https://github.com/xinayida/lanhu-mcp.git", "lanhu-mcp"]Añádelo mediante la extensión MCP de VS Code o a través de su configuración:
{
"mcpServers": {
"lanhu": {
"command": "uvx",
"args": ["--from", "git+https://github.com/xinayida/lanhu-mcp.git", "lanhu-mcp"]
}
}
}🧰 Herramientas disponibles
Tool Name | Description | Key Parameters |
| Actualiza la cookie de autenticación y la persiste en |
|
| Obtiene la lista de equipos del usuario (también sirve como comprobación de autenticación) | (ninguno) |
| Obtiene los proyectos de diseño de un equipo concreto |
|
| Busca proyectos en un equipo por palabra clave |
|
| Lista todos los artboards ( |
|
| Busca mesas de trabajo por palabra clave |
|
| ⭐ Herramienta central : Recupera el árbol de capas completo, los estilos CSS, la tipografía y los recursos |
|
| Obtiene recursos de imagen/iconos exportables con URL de descarga |
|
| Descarga un activo al disco local (compatible con WebP / SVG / PNG) |
|
🧭 Flujo de trabajo típico de programación en pareja con IA
Cuando pidas a tu agente de IA que implemente una UI desde Lanhu:
User: "Please implement the checkout screen from our Lanhu project and download necessary icons."El agente ejecutará de forma autónoma la siguiente cadena:
graph LR
A[1. lanhu_get_teams] --> B[2. lanhu_get_projects]
B --> C[3. lanhu_get_screens]
C --> D[4. lanhu_get_annotations]
D --> E[5. Generate Code CSS/HTML/React/Flutter]
D --> F[6. lanhu_download_asset]Ejemplo de invocación de herramienta
# 1. Fetch team list
teams = lanhu_get_teams()
team_id = teams[0]["id"]
# 2. Get project list
projects = lanhu_get_projects(team_id=team_id)
project_id = projects[0]["id"]
# 3. Get artboards list
screens = lanhu_get_screens(project_id=project_id, team_id=team_id)
image_id = screens[0]["id"]
# 4. Extract full annotations
annotations = lanhu_get_annotations(
project_id=project_id,
image_id=image_id,
team_id=team_id
)
# 5. Download icons/slices
assets = lanhu_get_assets(project_id=project_id, image_id=image_id, team_id=team_id)
lanhu_download_asset(
asset_id=assets[0]["id"],
asset_name=assets[0]["name"],
download_url=assets[0]["download_url"],
format="webp" # or "svg"
)📦 Estructura de datos de las anotaciones
Llamar a lanhu_get_annotations devuelve JSON estructurado:
{
"id": "651234567890abcdef",
"name": "Checkout Page",
"width": 375.0,
"height": 812.0,
"thumbnail_url": "https://...",
"layers": [
{
"id": "layer_01",
"name": "Submit Button",
"type": "rect",
"bounds": { "x": 16.0, "y": 740.0, "width": 343.0, "height": 48.0 },
"border_radius": 8.0,
"opacity": 1.0,
"visible": true,
"fills": [
{ "type": "color", "color": "#0066FF", "opacity": 1.0 }
],
"shadows": [
{ "x": 0.0, "y": 4.0, "blur": 12.0, "spread": 0.0, "color": "#0066FF33" }
],
"children": [
{
"id": "layer_02",
"name": "Button Label",
"type": "text",
"text": "Confirm & Pay",
"bounds": { "x": 140.0, "y": 754.0, "width": 95.0, "height": 20.0 },
"font": {
"size": 16.0,
"weight": "600",
"family": "PingFang SC",
"line_height": 20.0,
"letter_spacing": 0.0,
"color": "#FFFFFF",
"text_align": "center"
}
}
]
}
],
"assets": [
{
"id": "asset_01:svg",
"name": "icon_cart",
"format": "svg",
"download_url": "https://..."
}
]
}⚙️ Variables de entorno
Variable | Default | Description |
| (vacío) | Cadena de cookie sin formato como respaldo ( |
|
| Directorio donde se almacenan los recursos descargados |
|
| Timeout de solicitudes HTTP de la API, en segundos |
|
| Nivel de registro ( |
⚠️ Aviso legal
Este proyecto es una herramienta de código abierto, independiente, desarrollada con fines educativos, de prueba y de estudio de productividad en IA. Interactúa con Lanhu a través de interfaces web de cuestionario inversa. Por favor, respeta las Condiciones de servicio delanteras de Lanhu al usar esta herramienta. Los desarrolladores no se hacen spasibles de cualquier mal uso.
📄 Licencia
Este proyecto está bajo la Licencia MIT.
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 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.81MIT
- 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.3849105MIT
- AlicenseNot gradedqualityAmaintenanceConverts Lanhu design URLs into AI-ready implementation context including HTML+CSS (Tailwind), image downloads, design tokens, and guidance.12733MIT
- AlicenseNot gradedqualityDmaintenanceEnables coding agents like Cursor to access Figma design data, fetch layout and styling information, and implement designs in any framework.57,771MIT
Related MCP Connectors
UI design from prompts, screenshots, and URLs for AI coding agents and theme tokens.
A design-style library for AI agents: search real styles, fetch a ready-to-apply design spec.
Turn any live website into brand colors, fonts, design tokens, SVGs, Lottie and paste-ready code.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/xinayida/lanhu-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server