zalo-mcp
Self-contained MCP server for Zalo that enables AI agents like Claude Code and Cursor to automate Zalo Personal and Official Accounts via a 1-click sandboxed deployment.
README
<p align="center"> <img src="https://raw.githubusercontent.com/ardennguyen/zalo-agent-cli/main/assets/mascot.png" width="120" alt="zalo-mcp mascot" /> </p>
zalo-mcp
Gói cài đặt độc lập Model Context Protocol (MCP) server cho Zalo. Môi trường đóng gói (sandbox) 1-click giúp AI agents (Claude Code, Cursor) tự động hóa Zalo Personal & Official Account mà không làm rác máy tính của bạn.
[!TIP] Sự khác biệt giữa
zalo-mcpvàzalo-agent-cli?
zalo-agent-cli: Là bộ mã nguồn lõi (engine). Xử lý toàn bộ logic API, login, và chứa mã nguồn thật sự của MCP Server.zalo-mcp(Repo này): Là vỏ bọc triển khai nhanh (deployment wrapper). Nó không chứa mã nguồn lõi. Thay vào đó, nó dùng lệnh tự động tạo ra một thư mục cục bộ an toàn, kéo engine về, tải Node/Python, cấu hình.envđể Claude/Cursor có thể chạy ngay lập tức mà hệ thống của bạn hoàn toàn sạch sẽ.
📋 Yêu cầu hệ thống
Trước khi chạy trình cài đặt, hãy đảm bảo máy bạn đã có:
- Node.js: Phiên bản 20 trở lên (Bắt buộc cho MCP server).
- Python: Phiên bản 3.8 trở lên (Tùy chọn, cần thiết nếu muốn server tự render biểu đồ hoặc PDF report).
- Git: Cần thiết để clone các bản cập nhật phụ thuộc.
🚀 Bắt đầu nhanh (Cài đặt 1 dòng lệnh)
Mọi phụ thuộc (dependencies) sẽ được tải vào một thư mục cách ly. Bạn có thể cài đặt server ở bất kỳ đâu trên máy tính chỉ với 1 lệnh duy nhất:
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/ardennguyen/zalo-mcp/main/zalo-mcp.sh | bash -s install
Windows (PowerShell):
Set-ExecutionPolicy Bypass -Scope Process -Force; irm https://raw.githubusercontent.com/ardennguyen/zalo-mcp/main/zalo-mcp.ps1 | Out-File $env:TEMP\zalo-mcp.ps1; & $env:TEMP\zalo-mcp.ps1 install
Trình cài đặt sẽ làm gì?
- Tạo thư mục
zalo-mcptại vị trí hiện tại. - Tải các file wrapper và cấu hình.
- Cài đặt các gói Node.js vào thư mục
node_modules/cục bộ. - Tạo môi trường ảo Python biệt lập (
venv/). - Tạo file cấu hình
.env.
(Lưu ý: Bạn có thể được hỏi nhập Port nếu chạy ở chế độ tương tác, hoặc bạn có thể tự sửa .env sau).
🔑 Đăng nhập & Xác thực
Mọi thông tin xác thực đều được lưu cục bộ và an toàn trên máy của bạn.
A. Zalo Cá Nhân (API Không chính thức)
- Chạy lệnh đăng nhập:
npx zalo-agent login - Một mã QR sẽ hiển thị trên terminal. Mở app Zalo trên điện thoại > Quét mã QR (đừng dùng camera thường của điện thoại).
[!IMPORTANT] Vị trí lưu trữ Credentials: Lưu mã hóa tại
~/.zalo-agent-cli/(quyền0600). Cảnh báo: Đây là API không chính thức, tài khoản cá nhân của bạn có thể bị khóa (ban) nếu dùng để spam liên tục. Không nên dùng nick chính.
B. Zalo Official Account (API v3.0 Chính thức)
- Khởi tạo kết nối OA:
npx zalo-agent oa init --app-id <YOUR_APP_ID> --secret <YOUR_APP_SECRET> - Làm theo hướng dẫn trên trình duyệt để ủy quyền ứng dụng.
[!IMPORTANT] Vị trí lưu trữ Credentials: Lưu an toàn tại
~/.zalo-agent/oa-credentials.json. OA Access Tokens hết hạn sau 25 giờ. Refresh bất cứ lúc nào bằng lệnh:npx zalo-agent oa refresh
🤖 Tích hợp AI Agent (MCP)
Đảm bảo cấu hình AI client của bạn trỏ tới file mcp-server.js trong thư mục cài đặt zalo-mcp.
1. Claude Code
Thêm đoạn sau vào mcpServers trong ~/.claude/settings.json:
{
"mcpServers": {
"zalo": {
"command": "node",
"args": ["/đường/dẫn/tuyệt/đối/zalo-mcp/mcp-server.js"],
"cwd": "/đường/dẫn/tuyệt/đối/zalo-mcp"
}
}
}
2. Cursor
Thêm MCP server mới trong settings của Cursor:
- Name:
zalo - Type:
stdio - Command:
node /đường/dẫn/tuyệt/đối/zalo-mcp/mcp-server.js
🛠️ Quản lý & Cập nhật
Cập nhật bản mới nhất: (Cập nhật engine, node_modules, python deps)
- Windows:
.\zalo-mcp.ps1 update - macOS / Linux:
./zalo-mcp.sh update
Dọn dẹp môi trường: (Xóa sạch mọi deps để cài lại từ đầu)
- Windows:
.\zalo-mcp.ps1 clean - macOS / Linux:
./zalo-mcp.sh clean
📖 Tài liệu đầy đủ
Wiki → github.com/ardennguyen/zalo-agent-cli/wiki
Hướng dẫn chi tiết cho tất cả lệnh, thiết lập MCP, cache cục bộ, Official Account API và nhiều hơn nữa — cả tiếng Việt lẫn tiếng Anh.
English
Self-contained Model Context Protocol (MCP) server installer for Zalo. A 1-click sandboxed deployment that enables AI agents (Claude Code, Cursor) to automate Zalo Personal & Official Accounts without cluttering your host system.
[!TIP] What is the difference between
zalo-mcpandzalo-agent-cli?
zalo-agent-cli: The core automation engine. It does all the heavy lifting, API logic, auth, and contains the actual MCP server source code.zalo-mcp(This Repo): The lightweight deployment wrapper. It contains no core code. Instead, its 1-click script safely pulls the engine into a local sandboxed folder, sets up Node/Python, and configures.envso Claude/Cursor can run instantly while keeping your global system pristine.
📋 Prerequisites
- Node.js: v20 or higher.
- Python: v3.8 or higher (Optional, for rendering charts and PDFs).
- Git: Required to pull dependencies.
🚀 Quick Start (One-Line Installation)
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/ardennguyen/zalo-mcp/main/zalo-mcp.sh | bash -s install
Windows (PowerShell):
Set-ExecutionPolicy Bypass -Scope Process -Force; irm https://raw.githubusercontent.com/ardennguyen/zalo-mcp/main/zalo-mcp.ps1 | Out-File $env:TEMP\zalo-mcp.ps1; & $env:TEMP\zalo-mcp.ps1 install
🔑 Authentication
A. Personal Zalo Account (Unofficial API)
- Run the login command:
npx zalo-agent login - Scan the printed QR code using the Zalo app on your phone.
[!IMPORTANT] Safety Notice: This uses an unofficial API. Your personal account can get banned if heavily abused for spam.
B. Zalo Official Account (Official API v3.0)
- Initialize OA credentials:
npx zalo-agent oa init --app-id <YOUR_APP_ID> --secret <YOUR_APP_SECRET> - Follow the browser prompt.
Refresh tokens anytime with:
npx zalo-agent oa refresh
🤖 AI Agent Integration (MCP)
Configure your AI clients to run the server in stdio mode:
Claude Code (~/.claude/settings.json):
{
"mcpServers": {
"zalo": {
"command": "node",
"args": ["/absolute/path/to/zalo-mcp/mcp-server.js"],
"cwd": "/absolute/path/to/zalo-mcp"
}
}
}
Cursor: Add new MCP server: stdio -> node /absolute/path/to/zalo-mcp/mcp-server.js
🛠️ Management Commands
- Update Deps:
.\zalo-mcp.ps1 updateor./zalo-mcp.sh update - Clean Env:
.\zalo-mcp.ps1 cleanor./zalo-mcp.sh clean
📖 Documentation
Full Wiki → github.com/ardennguyen/zalo-agent-cli/wiki
Detailed guides for all commands, MCP setup, local cache, Official Account API, and more — available in both English and Tiếng Việt.
License
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.