Content
<div align="center">
# 🎨 Lanhu MCP Server
**Let all AI assistants share team knowledge and break the AI IDE silos**
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://modelcontextprotocol.io/)
[](https://github.com/jlowin/fastmcp)
[](CONTRIBUTING.md)
[](https://github.com/dsphper/lanhu-mcp/stargazers)
[](https://github.com/dsphper/lanhu-mcp/issues)
[](https://github.com/dsphper/lanhu-mcp/releases)
[](CODE_OF_CONDUCT.md)
[English](README_EN.md) | 简体中文
[Quick Start](#-快速开始) • [Features](#-核心特性) • [Usage Documentation](#-使用指南) • [Contribution Guidelines](CONTRIBUTING.md)
</div>
---
## 🌟 Project Highlights
A powerful [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server, designed for the era of AI programming:
🔥 **Core Innovations**:
- 📋 **Intelligent Requirement Analysis**: Automatically extracts Axure prototypes, three analysis modes (Development/Testing/Exploration), four-stage zero-miss workflow
- 💬 **Team Message Board**: Breaks the AI IDE silos, allowing all AI assistants to share knowledge bases and context
- 🎨 **UI Design Support**: Automatically downloads design drafts, intelligently extracts cut images, and provides semantic naming
- ⚡ **Performance Optimization**: Version-based intelligent caching, incremental updates, and concurrent processing
🎯 **Addressing Pain Points**:
- ❌ **Old World**: Each developer's AI works independently, repeating requirement analysis, unable to share experiences
- ✅ **New World**: All AIs connect to the same knowledge hub, requirement analysis is done once and reused by everyone, and pitfall experiences are permanently preserved
---
## 📑 Table of Contents
- [Core Features](#-core-features)
- [Quick Start](#-quick-start)
- [Team Message Board: Breaking Through the Last Mile of AI Collaboration](#-team-message-board-breaking-through-the-last-mile-of-ai-collaboration)
- [User Guide](#-user-guide)
- [Available Tools List](#-available-tools-list)
- [System Architecture](#-system-architecture)
- [Project Structure](#-project-structure)
- [Advanced Configuration](#-advanced-configuration)
- [Performance Metrics](#-performance-metrics)
- [Frequently Asked Questions](#-frequently-asked-questions)
- [Security Notes](#-security-notes)
- [Contribution Guidelines](#-contribution-guidelines)
- [License](#-license)
- [Acknowledgments](#-acknowledgments)
- [Contact Information](#-contact-information)
- [Roadmap](#-roadmap)
## ✨ Core Features
### 📋 Requirements Document Analysis
- **Intelligent Document Extraction**: Automatically download and parse all pages, resources, and interactions of the Axure prototype
- **Three Analysis Modes**:
- 🔧 **Development Perspective**: Detailed field rules, business logic, global flowchart
- 🧪 **Testing Perspective**: Test scenarios, use cases, boundary values, validation rules
- 🚀 **Quick Exploration**: Core functionality overview, module dependencies, review highlights
- **Four-Stage Workflow**: Global scanning → Group analysis → Reverse validation → Generate deliverables
- **Zero Omission Guarantee**: Systematic analysis process driven by TODOs
### 🎨 UI Design Support
- **Design Draft Viewing**: Batch download and display UI design images
- **Image Slicing Extraction**: Automatically identify and export design slices and icon resources
- **Intelligent Naming**: Automatically generate semantic file names based on layer paths
### 💬 Team Collaboration Bulletin Board - Breaking the AI IDE Isolation
> 🌟 **Core Innovation**: Allowing every developer's AI assistant to share team knowledge and context
**Background Issues**:
- Each developer's AI IDE (Cursor, Windsurf) is independent and cannot share context
- The pitfalls encountered by Developer A are unknown to Developer B's AI
- Requirement analysis results cannot be passed to the testing team's AI
- Team knowledge is fragmented across various chat windows and cannot be consolidated
**Innovative Solutions**:
- 🔗 **Unified Knowledge Base**: All AI assistants connect to the same MCP server, sharing bulletin board data
- 🧠 **Context Transfer**: The development AI analyzes requirements, and the testing AI can directly query and use this information
- 💡 **Knowledge Consolidation**: Pitfalls, experiences, and best practices are permanently saved as "knowledge base" types
- 📋 **Task Collaboration**: Leave messages of "task" type to let AI assist in querying code and databases
- 📨 **@Reminder Mechanism**: Supports Feishu notifications, bridging AI collaboration and human communication
- 👥 **Collaboration Tracking**: Automatically records which AI has accessed which documents, ensuring team transparency
### ⚡ Performance Optimization
- **Smart Caching**: A permanent caching mechanism based on document version numbers
- **Incremental Updates**: Only download changed resources
- **Concurrent Processing**: Supports batch page screenshots and resource downloads
## 🚀 Quick Start
> 💡 **New to this?** Just tell the AI "Help me clone and install the https://github.com/dsphper/lanhu-mcp project," and the AI will guide you through all the steps!
### Method 1: Let AI Help You Install (Recommended)
Simply tell AI in Cursor:
```
"Help me clone and install the project https://github.com/dsphper/lanhu-mcp"
```
AI will automatically complete: clone the project → install dependencies → guide to obtain Cookie → configure and start the service
📖 Reference documents: [AI Installation Guide](ai-install-guide.md) • [Cookie Acquisition Tutorial](GET-COOKIE-TUTORIAL.md)
---
### Method 2: Manual Installation
**2.1 Docker Deployment (Recommended)**
Advantages: Environment isolation, one-click deployment, easy management
```bash
# 1. Clone the Project
git clone https://github.com/dsphper/lanhu-mcp.git
cd lanhu-mcp
# 2. Configure Environment (will prompt you to enter Cookie)
bash setup-env.sh # Linux/Mac
# Or
setup-env.bat # Windows
# 3. Start the Service
docker-compose up -d
```
> 💡 `setup-env.sh` will interactively guide you to obtain and configure the Lark Cookie, automatically generating the `.env` file.
📖 Detailed documentation: [Docker Deployment Guide](DEPLOY.md)
**2.2 Running from Source**
Prerequisites: Python 3.10+
```bash
# 1. Clone the Project
git clone https://github.com/dsphper/lanhu-mcp.git
cd lanhu-mcp
# 2. One-Click Installation (Recommended, will guide you to configure Cookie)
bash easy-install.sh # Linux/Mac
# Or
easy-install.bat # Windows
```
> 💡 `easy-install.sh` will automatically install dependencies, guide you to obtain the Cookie, and configure the environment.
<details>
<summary>Or install manually (not recommended)</summary>
```bash
# Install Dependencies
pip install -r requirements.txt
playwright install chromium
# Manual Configuration (see the "Configuration" section below)
```
</details>
### Configuration (Required for Source Code Execution)
1. **Set Blue Lake Cookie** (Required)
```bash
export LANHU_COOKIE="your_lanhu_cookie_here"
```
> 💡 Get Cookie: Log in to the Blue Lake web version, open the browser developer tools, and copy the Cookie from the request headers.
2. **Configure Feishu Bot** (Optional)
**Method 1: Environment Variable (Recommended, supports Docker)**
```bash
export FEISHU_WEBHOOK_URL="https://open.feishu.cn/open-apis/bot/v2/hook/your-webhook-url"
```
**Method 2: Modify Code**
Modify in `lanhu_mcp_server.py`:
```python
DEFAULT_FEISHU_WEBHOOK = "https://open.feishu.cn/open-apis/bot/v2/hook/your-webhook-url"
```
3. **Configure User Information Mapping** (Optional)
Update the `FEISHU_USER_ID_MAP` dictionary to support @mention functionality.
4. **Other Environment Variables** (Optional)
```bash
# Server Configuration
export SERVER_HOST="0.0.0.0" # Server listening address
export SERVER_PORT=8000 # Server port
# Data Storage
export DATA_DIR="./data" # Data storage directory
# Performance Tuning
export HTTP_TIMEOUT=30 # HTTP request timeout (seconds)
export VIEWPORT_WIDTH=1920 # Browser viewport width
export VIEWPORT_HEIGHT=1080 # Browser viewport height
# Debug Options
export DEBUG="false" # Debug mode (true/false)
```
> 📝 For a complete description of environment variables, please refer to the `config.example.env` file.
### Running the Service
**Run from Source:**
```bash
python lanhu_mcp_server.py
```
**Run with Docker:**
```bash
docker-compose up -d # Start
docker-compose logs -f # View logs
docker-compose down # Stop
```
The server will start at `http://localhost:8000/mcp`
### Connecting to the AI Client
Configure in AI clients that support MCP (such as Claude Desktop, Cursor):
**Cursor Configuration Example:**
```json
{
"mcpServers": {
"lanhu": {
"url": "http://localhost:8000/mcp?role=backend&name=Zhang San"
}
}
}
```
> 📌 URL Parameter Explanation:
> - `role`: User role (backend/frontend/testing/product, etc.)
> - `name`: User name (used for collaboration tracking and @mentions)
## 🎯 Team Message Board: Breaking Through the Last Mile of AI Collaboration
### Why Do We Need a Team Message Board?
In the era of AI programming, every developer has their own AI assistant (Cursor, Windsurf, Claude Desktop). However, this brings a **serious problem**:
```
🤔 Pain Point Scenario:
┌─────────────────────────────────────────────┐
│ Backend Xiao Wang's AI: │
│ "I have analyzed the requirements for the │
│ login interface, and I am clear about the │
│ field validation rules, starting to write │
│ code..." │
└─────────────────────────────────────────────┘
❌ Context Gap
┌─────────────────────────────────────────────┐
│ Tester Xiao Li's AI: │
│ "What? Login interface? Let me review the │
│ requirements document again... What do these │
│ field rules mean? How do I test the boundary │
│ values?" │
└─────────────────────────────────────────────┘
```
**Each AI is repeating work and cannot reuse the analysis results of other AIs!**
### How does the team message board solve this?
**Design Concept: Connect all AI assistants to the same "brain"**
```
┌─────────────────────────────┐
│ Lanhu MCP Server │
│ (Unified Knowledge Hub) │
│ │
│ 📊 Requirement Analysis │
│ 🐛 Development Pitfall Log │
│ 📋 Test Case Template │
│ 💡 Technical Decision Document │
└──────────┬──────────────────┘
│
┌────────────┼────────────┐
│ │ │
┌────▼───┐ ┌───▼────┐ ┌──▼─────┐
│Backend AI│ │Frontend AI│ │Test AI │
│(Xiao Wang)│ │(Xiao Zhang)│ │(Xiao Li)│
└────────┘ └────────┘ └────────┘
Cursor Windsurf Claude
```
### Core Use Cases
#### Scenario 1: Sharing Requirement Analysis Results
**Backend AI (Xiao Wang) after analyzing the requirements:**
```
@Tester Xiao Li @Frontend Xiao Zhang I have completed the analysis of the "User Login" requirement, key information:
- Phone number is required, 11 digits
- Password is 6-20 characters, must include letters + numbers
- Verification code is a 4-digit numeric, valid for 5 minutes
- Lockout for 30 minutes after 3 incorrect attempts
[Message Type: knowledge]
```
**Tester AI (Xiao Li) when querying:**
```
AI: Query all knowledge base messages related to "Login"
→ Instantly retrieve Xiao Wang AI's analysis results without having to review the requirements again!
```
#### Scenario 2: Development Pitfall Records
**Backend AI (Xiao Wang) Encountered a Pitfall:**
```
[Knowledge Base] Redis connection timeout issue has been resolved
Issue: Frequent Redis timeouts in the production environment
Cause: Improper connection pool configuration, maxIdle set too low
Solution: Adjusted to maxTotal=20, maxIdle=10
[Message Type: knowledge]
```
**Other Development AIs Encountered the Same Issue:**
```
AI: Search for knowledge base related to "Redis timeout"
→ Found the solution to avoid repeating the pitfall!
```
#### Scenario 3: Cross-role Task Collaboration
**Product AI initiates a query task:**
```
@Backend Xiao Wang, please help me check how many test data entries are in the user table in the database?
[Message Type: task] // ⚠️ Security Restriction: can only query, cannot modify
```
**Backend AI (Xiao Wang) sees the notification:**
```
AI: Someone @ me, checking details
→ Execute SELECT COUNT(*) FROM user WHERE status='test'
→ Reply message: There are a total of 1234 test data entries
```
#### Scenario 4: Emergency Issue Broadcast
**Operations AI detects a production issue:**
```
🚨 Emergency: Abnormal payment interface in the production environment, please investigate immediately!
Time: 2025-01-15 14:30
Phenomenon: Payment success rate dropped from 99% to 60%
Impact: Approximately 200 orders affected
@everyone
[Message Type: urgent]
→ Automatically send Feishu notification to everyone
```
### Message Type Design
| Type | Purpose | Search Strategy | Lifecycle |
|------|---------|----------------|-----------|
| 📢 **normal** | Normal notification | Time decay | Archived after 7 days |
| 📋 **task** | Query task (security restriction: read-only) | Archived upon completion | Task lifecycle |
| ❓ **question** | Questions that need answers | Pinned if unanswered | Archived after answered |
| 🚨 **urgent** | Urgent notification | Forced push | Downgraded after 24 hours |
| 💡 **knowledge** | **Knowledge Base (Core)** | **Permanently searchable** | **Permanently stored** |
### Security Mechanism
**Security Restrictions for Task Types:**
```python
✅ Allowed Query Operations:
- Query code location, code logic
- Query database table structure, data
- Query test methods, coverage
- Query TODOs, comments
❌ Forbidden Dangerous Operations:
- Modify code
- Delete files
- Execute commands
- Commit code
```
### Search and Filter
**Smart Search (Prevent Context Overflow):**
```python
# Scenario 1: Query all test-related knowledge bases
lanhu_say_list(
url='all', # Global search
filter_type='knowledge',
search_regex='测试|test|单元测试',
limit=20
)
# Scenario 2: Query Urgent Messages for a Specific Project
lanhu_say_list(
url='Project URL',
filter_type='urgent',
limit=10
)
# Scenario 3: Find Unresolved Issues
```python
lanhu_say_list(
url='all',
filter_type='question',
search_regex='待解决|pending'
)
```
### Collaborator Tracking
**Automatically record team members' access history:**
```python
lanhu_get_members(url='Project URL')
Return result:
{
"collaborators": [
{
"name": "Xiao Wang",
"role": "Backend",
"first_seen": "2025-01-10 09:00:00",
"last_seen": "2025-01-15 16:30:00"
},
{
"name": "Xiao Li",
"role": "Testing",
"first_seen": "2025-01-12 10:00:00",
"last_seen": "2025-01-15 14:00:00"
}
]
}
💡 Purpose:
- Understand which colleagues' AI has viewed this requirement
- Identify potential collaborators
- Team transparency
```
### Feishu Notification Integration
**Bridging AI Collaboration and Human Communication:**
```python
# AI Automatically Sends Feishu Notifications (When @Someone)
lanhu_say(
url='Project URL',
summary='Need your help to review the code',
content='Please take a look at the password encryption logic of the login module',
mentions=['Xiao Wang', 'Xiao Zhang'] # Must be real names
)
# Feishu Group Received:
┌──────────────────────────────────┐
│ 📢 Lark Collaboration Notification │
│ │
│ 👤 Publisher: Xiao Li (Testing) │
│ 📨 Reminder: @Xiao Wang @Xiao Zhang │
│ 🏷️ Type: normal │
│ 📁 Project: User Center Redesign │
│ 📄 Document: Login and Registration Module │
│ │
│ 📝 Content: │
│ Please take a look at the password encryption logic of the login module │
│ │
│ 🔗 View Requirement Document │
└──────────────────────────────────┘
### Technical Advantages
1. **Zero Learning Cost**: AI handles everything automatically, developers only need to converse naturally.
2. **Real-time Synchronization**: All AI assistants connect to the same data source.
3. **Global Search**: Query the knowledge base across projects.
4. **Version Association**: Messages are automatically linked to document version numbers.
5. **Complete Metadata**: Automatically records 10 standard fields such as project, document, author, etc.
6. **Intelligent Filtering**: Supports regex search, type filtering, and quantity limits (to prevent token overflow).
## 📖 User Guide
### Requirement Document Analysis Workflow
**1. Obtain Page List**
```
Please take a look at this requirement document:
https://lanhuapp.com/web/#/item/project/product?tid=xxx&pid=xxx&docId=xxx
```
**2. AI Automatically Executes Four-Stage Analysis**
- ✅ STAGE 1: Global text scanning to establish overall understanding
- ✅ STAGE 2: Group detailed analysis (based on selected model)
- ✅ STAGE 3: Reverse validation to ensure zero omissions
- ✅ STAGE 4: Generate deliverables (Requirement Document / Test Plan / Review PPT)
**3. Obtain Deliverables**
- Development Perspective: Detailed Requirement Document + Global Business Process Diagram
- Testing Perspective: Test Plan + Test Case List + Field Validation Table
- Quick Exploration: Review Document + Module Dependency Diagram + Discussion Points
### UI Design Draft Review
```
Please take a look at this design draft:
https://lanhuapp.com/web/#/item/project/stage?tid=xxx&pid=xxx
```
### Slice Download
```
Help me download all the slices of the "Homepage Design"
```
The AI will automatically:
1. Detect the project type (React/Vue/Flutter, etc.)
2. Select the appropriate output directory
3. Generate semantic file names
4. Batch download the slices
### Team Messages
**Post a Message:**
```
@Zhang San @Li Si The password validation rules for this login page need to be confirmed.
```
**View Messages:**
```
View all messages @me.
```
**Filter Query:**
```
View all knowledge base messages related to "testing".
```
## 🛠️ Available Tools List
| Tool Name | Function Description | Usage Scenario |
|-----------|---------------------|----------------|
| `lanhu_resolve_invite_link` | Parse invitation link | When a user provides a share link |
| `lanhu_get_pages` | Retrieve prototype page list | Must be called before analyzing the requirement document |
| `lanhu_get_ai_analyze_page_result` | Analyze prototype page content | Extract requirement details |
| `lanhu_get_designs` | Retrieve UI design list | Must be called before viewing design drafts |
| `lanhu_get_ai_analyze_design_result` | Analyze UI design | View design drafts |
| `lanhu_get_design_slices` | Retrieve slice information | Download icons and materials |
| `lanhu_say` | Post a message | Team collaboration, @ reminders |
| `lanhu_say_list` | View message list | Query historical messages |
| `lanhu_say_detail` | View message details | See full content |
| `lanhu_say_edit` | Edit message | Modify published messages |
| `lanhu_say_delete` | Delete message | Remove messages |
| `lanhu_get_members` | View collaborators | Check team members |
## 🏗️ System Architecture
```
┌─────────────────────────────────────────────────────────────────┐
│ AI Client Layer │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Cursor │ │ Windsurf │ │ Claude │ │ ... │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │ │
│ └─────────────┴──────────────┴─────────────┘ │
└───────────────────────────┬─────────────────────────────────────┘
│ MCP Protocol (HTTP)
│
┌───────────────────────────▼─────────────────────────────────────┐
│ Lanhu MCP Server │
│ │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ FastMCP Service Framework │ │
│ │ ┌──────────┐ ┌──────────┐ ┌───────────────────┐ │ │
│ │ │ Tool API │ │ Resource │ │ Context Provider │ │ │
│ │ └────┬─────┘ └────┬─────┘ └─────────┬─────────┘ │ │
│ └───────┼─────────────┼──────────────────┼─────────────┘ │
│ │ │ │ │
│ ┌───────▼─────────────▼──────────────────▼─────────────┐ │
│ │ Core Business Logic Layer │ │
│ │ │ │
│ │ ┌─────────────────┐ ┌──────────────────────────┐ │ │
│ │ │ Requirement Document Analysis │ │ Team Collaboration Bulletin Board │ │ │
│ │ │ │ │ │ │ │
│ │ │ • Page Extraction │ │ • Message Storage Management │ │ │
│ │ │ • Content Analysis │ │ • Type Classification (5 types) │ │ │
│ │ │ • Intelligent Caching │ │ • @Reminder Function │ │ │
│ │ │ • Three Modes │ │ • Search Filtering │ │ │
│ │ └────────┬────────┘ └──────────┬───────────────┘ │ │
│ │ │ │ │ │
│ │ ┌────────▼──────────┐ ┌───────▼──────────────┐ │ │
│ │ │ UI Design Support │ │ Collaborator Tracking │ │ │
│ │ │ │ │ │ │ │
│ │ │ • Design File Download │ │ • Access Records │ │ │
│ │ │ • Slice Extraction │ │ • Team Transparency │ │ │
│ │ │ • Intelligent Naming │ │ • Metadata Association │ │ │
│ │ └───────────────────┘ └──────────────────────┘ │ │
│ └──────────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ Data Storage Layer │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ │ │
│ │ │ Message Data │ │ Resource Cache │ │ Screenshot Cache │ │ │
│ │ │ (JSON) │ │ (Files) │ │ (PNG) │ │ │
│ │ └─────────────┘ └─────────────┘ └──────────────┘ │ │
│ └────────────────────────────────────────────────────────┘ │
└────────────────┬─────────────────────┬────────────────────────┘
│ │
│ │ Feishu Notification
│ ▼
│ ┌─────────────────┐
│ │ Feishu Webhook │
│ └─────────────────┘
│
│ HTTP/JSON API
▼
┌─────────────────────────────────────────────────────────────────┐
│ Lanhu Platform API │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
│ │ Document Metadata │ │ Axure Resources │ │ UI Design & Slices │ │
│ └──────────────┘ └──────────────┘ └──────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
```
### Data Flow Diagram
```
User Request → AI Client → MCP Protocol
↓
Tool Call
↓
┌─────────┴─────────┐
│ │
Check Cache Extract Metadata
│ │
Hit? Associate Version Number
│ │
Yes/No Record Collaborators
│ │
├─Yes→Return Cache │
│ │
└─No→Call BlueLake API ←──┘
↓
Download Resource
↓
Process Conversion
↓
Save Cache
↓
Return Result
↓
AI Client Display
```
## 📁 Project Structure
```
lanhu-mcp-server/
├── lanhu_mcp_server.py # Main server file (3800+ lines)
├── requirements.txt # Python dependencies
├── Dockerfile # Docker image
├── docker-compose.yml # Docker Compose configuration
├── config.example.env # Configuration file example
├── quickstart.sh # Linux/Mac quick start script
├── quickstart.bat # Windows quick start script
├── .gitignore # Git ignore file
├── LICENSE # MIT License
├── README.md # Chinese documentation (this file)
├── README_EN.md # English documentation
├── CONTRIBUTING.md # Contribution guidelines
├── CHANGELOG.md # Changelog
├── data/ # Data storage directory (automatically created)
│ ├── messages/ # Message data (JSON files)
│ │ └── {project_id}.json # One file per project
│ ├── axure_extract_*/ # Axure resource cache
│ │ ├── *.html # Page HTML
│ │ ├── data/ # Axure data files
│ │ ├── resources/ # CSS/JS resources
│ │ ├── images/ # Image resources
│ │ └── .lanhu_cache.json # Cache metadata
│ └── lanhu_designs/ # Design draft cache
│ └── {project_id}/ # Categorized by project
└── logs/ # Log files (automatically created)
└── *.log # Runtime logs
```
## 🔧 Advanced Configuration
### Custom Role Mapping
Modify `ROLE_MAPPING_RULES` in the code to support more roles:
```python
ROLE_MAPPING_RULES = [
(["后端", "backend", "server"], "后端"),
(["前端", "frontend", "web"], "前端"),
# Add more rules...
]
```
### Cache Control
The cache directory is controlled by the environment variable `DATA_DIR`:
```bash
export DATA_DIR="/path/to/cache"
```
### Feishu Notification Customization
Customize the message format and style in the `send_feishu_notification()` function.
## 🤖 AI Assistant Integration
This project is specifically designed for AI assistants, featuring the built-in "ErGou" assistant persona:
- 🎯 **Intelligent Analysis**: Automatically identifies document types and optimal analysis modes
- 📋 **TODO-driven**: Systematic workflow based on task lists
- 🗣️ **Chinese Interaction**: Friendly conversational experience in Chinese
- ✨ **Proactive Service**: No manual operation required, AI completes the entire process automatically
## 📊 Performance Metrics
- ⚡ Page Screenshot: ~2 seconds/page (with cache)
- 💾 Resource Download: Supports resume and incremental updates
- 🔄 Cache Hit: Version-based permanent caching
- 📦 Batch Processing: Supports concurrent downloads and analysis
## 🐛 Frequently Asked Questions
<details>
<summary><b>Q: What should I do if the Cookie expires?</b></summary>
A: Log in again to the Lanhu web version to obtain a new Cookie and update the environment variables or configuration files.
</details>
<details>
<summary><b>Q: Screenshot failed or shows blank?</b></summary>
A: Ensure that the Playwright browser is installed:
```bash
playwright install chromium
```
</details>
<details>
<summary><b>Q: Feishu notification sending failed?</b></summary>
A: Check:
1. If the Webhook URL is correct
2. If the Feishu bot has been added to the group
3. If the user ID mapping is correctly configured
</details>
<details>
<summary><b>Q: How to clear the cache?</b></summary>
A: Simply delete the corresponding cache files in the `data/` directory. The system will automatically re-download them.
</details>
## 🔒 Security Notice
- ⚠️ **Cookie Security**: Do not submit configuration files containing cookies to public repositories.
- 🔐 **Access Control**: It is recommended to deploy in an internal network environment or configure firewall rules.
- 📝 **Data Privacy**: Message data is stored locally, please keep it secure.
## 🤝 Contribution Guidelines
We welcome code contributions! Please follow these steps:
1. Fork this repository
2. Create a feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
### Development Guide
```bash
```
# Install Development Dependencies
pip install -r requirements.txt
# Run Tests
python -m pytest tests/
# Code Formatting
black lanhu_mcp_server.py
```
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 🙏 Acknowledgments
### Open Source Projects
- [FastMCP](https://github.com/jlowin/fastmcp) - Excellent MCP Server framework
- [Playwright](https://playwright.dev/) - Reliable browser automation tool
- [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/) - Powerful HTML parsing tool
- [HTTPx](https://www.python-httpx.org/) - Modern asynchronous HTTP client
### Service Platform
- [Lanhu](https://lanhuapp.com/) - Provides a high-quality design collaboration platform
- [Feishu](https://www.feishu.cn/) - Offers enterprise collaboration and bot notifications
### Contributors
Thank you to all the developers who have contributed to this project!
<!-- ALL-CONTRIBUTORS-LIST:START -->
<!-- This will automatically generate the contributors list -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
### Special Thanks
- All contributors who submitted Issues and PRs
- All teams using it in production and providing feedback
- All friends who helped improve the documentation
## 📮 Contact Information
- Submit Issue: [GitHub Issues](https://github.com/dsphper/lanhu-mcp/issues)
- Email: dsphper@gmail.com
## 🗺️ Roadmap
- [ ] Support for more design platforms (Figma, Sketch)
- [ ] Web management interface
- [ ] More analysis dimensions (frontend and backend work hour estimation, technology stack recommendations)
- [ ] Support for enterprise-level permission management
- [ ] Automatic generation of API documentation
- [ ] Internationalization support
---
<p align="center">
If this project has been helpful to you, please give it a ⭐️
</p>
<p align="center">
Made with ❤️ by the Lanhu MCP Team
</p>
---
## ⚠️ Disclaimer
This project (Lanhu MCP Server) is a **third-party open-source project** developed and maintained independently by community developers, **and is not an official product of Lanhu**.
**Important Notes:**
- This project has no official affiliation or partnership with Lanhu.
- This project interacts with the Lanhu platform through public web interfaces and does not involve any unauthorized access.
- Using this project requires you to have a legitimate Lanhu account and access permissions.
- Please adhere to the service terms and usage policies of the Lanhu platform.
- This project is for learning and research purposes only, and users assume all risks associated with its use.
- The developers are not responsible for any data loss, account issues, or other damages resulting from the use of this project.
**Data and Privacy:**
- This project processes and caches data locally and does not transmit your data to third-party servers.
- Your Lanhu Cookie and project data are stored only in your local environment.
- Please keep your credential information secure and do not share it with others.
**Open Source License:**
- This project is licensed under the MIT open-source license and is provided "as is" without any warranties.
- See the [LICENSE](LICENSE) file for details.
If you have any questions or suggestions, feel free to communicate with us through [GitHub Issues](https://github.com/dsphper/lanhu-mcp/issues).
Connection Info
You Might Also Like
Git
Model Context Protocol Servers
TrendRadar
🎯 Say goodbye to information overload. AI helps you understand news hotspots...
repomix
📦 Repomix is a powerful tool that packs your entire repository into a...
Mastra
The TypeScript AI agent framework. ⚡ Assistants, RAG, observability....
Blender
BlenderMCP integrates Blender with Claude AI for enhanced 3D modeling.
cua
Open-source infrastructure for Computer-Use Agents. Sandboxes, SDKs, and...