Về Field Notes
Series: OpenClaw

Skills, MCP Servers & Plugins:
Mở rộng sức mạnh OpenClaw không giới hạn

Bốn lớp mở rộng: Skills, MCP, Plugins, Hooks

Agent chỉ biết trả lời câu hỏi thì không khác gì chatbot. Agent thực sự mạnh khi nó có thể hành động: đọc file, gọi API, kiểm tra server, tạo ticket, gửi Telegram. OpenClaw cung cấp bốn cơ chế để trang bị khả năng hành động cho agent — mỗi cơ chế có vai trò riêng biệt:

🧩
Skills
Bộ hướng dẫn chuyên biệt — dạy agent cách làm một nhóm tác vụ
🔌
MCP Servers
Công cụ kết nối — cấp cho agent quyền hành động với hệ thống bên ngoài
📦
Plugins
Gói trọn bộ — kết hợp skills + MCP + hooks thành một trải nghiệm liền mạch
Hooks
Tự động hóa sự kiện — chạy code khi có trigger, không cần agent chủ động

Skills — Bộ kỹ năng chuyên biệt

Skills là "bộ hướng dẫn nghiệp vụ" được đóng gói sẵn. Mỗi skill bao gồm prompt (hướng dẫn cho agent), custom tools (Python/JS), và hooks tùy chọn. Khi agent nhận yêu cầu phù hợp, nó tự nhận ra skill nào cần áp dụng — không cần bạn chỉ định tường minh.

Quản lý skills

bash
# Xem skills đang có
openclaw skills list

# Cài từ ClawHub (kho skill cộng đồng)
openclaw skills install memory-manager
openclaw skills install code-reviewer
openclaw skills install web-scraper

Cấu trúc một skill

skills/
└── my-custom-skill/
    ├── SKILL.md # Hướng dẫn cho agent khi dùng skill
    ├── tools/ # Custom tools (Python/JS)
    │   └── analyze.py
    └── hooks/ # Tự động trigger theo sự kiện
        └── on-message.js

Tạo skill đầu tiên: VPS Health Check

Ví dụ thực tế: skill kiểm tra sức khỏe server khi bạn hỏi.

1
Tạo thư mục skill
bash
mkdir -p ~/.openclaw/workspace/skills/vps-health
2
Viết SKILL.md — hướng dẫn cho agent
skills/vps-health/SKILL.md
# VPS Health Check

## Khi nào dùng
Khi user hỏi về tình trạng server, VPS, hoặc muốn
kiểm tra health/status của hệ thống.

## Cách thực hiện
1. SSH vào server theo thông tin trong TOOLS.md
2. Chạy: df -h, free -m, uptime, docker ps,
   systemctl status nginx
3. Tóm tắt ngắn gọn — cảnh báo nếu disk > 80%,
   RAM > 90%, hoặc có service down

## Format trả lời
- Server: [IP] | Uptime: [thời gian]
- CPU: [%] | RAM: [used/total] | Disk: [used/total]
- Services: [status]
- ⚠ Cảnh báo: [nếu có]
3
Dùng ngay — Hỏi agent "server ổn không?", nó tự nhận ra cần skill vps-health và làm theo hướng dẫn.

Giới hạn skill bằng allowList

openclaw.json
{
  "skills": {
    "allowList": ["vps-health", "code-reviewer", "memory-manager"],
    "locations": [
      "~/.openclaw/workspace/skills",
      "/shared/team-skills"   // skill dùng chung cả team
    ]
  }
}
SKILL.md đơn giản là đủ. Bạn không cần viết code để tạo skill cơ bản — chỉ cần mô tả rõ ràng trong SKILL.md. Agent đủ thông minh để làm theo hướng dẫn văn bản nếu hướng dẫn đó rõ ràng và có cấu trúc.

MCP Servers — Cổng kết nối vạn năng

MCP (Model Context Protocol) là giao thức chuẩn mở cho phép AI agent kết nối với bất kỳ dịch vụ bên ngoài nào theo một cách thống nhất. Thay vì viết code tích hợp riêng cho GitHub, database, Slack — bạn chỉ cần cắm MCP server tương ứng, agent tự biết có tool mới để dùng.

Hình dung đơn giản: MCP giống như cổng USB cho AI agent. Cắm MCP server vào là agent có thêm khả năng mới — không cần restart, không cần cấu hình phức tạp.

Cài đặt MCP Server

bash — Ví dụ các loại kết nối
# Kết nối GitHub
openclaw mcp set github \
  --command "npx" \
  --args "-y @modelcontextprotocol/server-github" \
  --env "GITHUB_TOKEN=ghp_your_token"

# Kết nối PostgreSQL
openclaw mcp set postgres \
  --command "npx" \
  --args "-y @modelcontextprotocol/server-postgres" \
  --env "DATABASE_URL=postgresql://user:pass@localhost/mydb"

# MCP server qua HTTP remote
openclaw mcp set my-api \
  --url "https://my-mcp-server.example.com/mcp" \
  --transport "streamable-http" \
  --headers '{"Authorization": "Bearer token"}'

# Quản lý
openclaw mcp list           # xem tất cả
openclaw mcp show github    # xem chi tiết
openclaw mcp remove github  # xoá

MCP Servers phổ biến cho developer

Quản lý code
server-github
Tạo issue, PR, review code, quản lý branch — trực tiếp từ chat
Official
server-gitlab
Tương tự cho GitLab — MR, pipeline, issue management
Official
Database
server-postgres
Query PostgreSQL trực tiếp — schema inspection, data analysis
Official
server-sqlite
SQLite local — tốt cho prototyping và project nhỏ
Official
Giao tiếp & Thông báo
server-slack
Gửi/đọc tin nhắn Slack, tạo channel, upload file
Official
mcp-telegram-bot
Gửi thông báo qua Telegram bot — phổ biến với developer VN
Community
DevOps & Infrastructure
server-docker
Quản lý containers, images, volumes, networks
Official
server-filesystem
Đọc/ghi file hệ thống trong phạm vi được cấp quyền
Official
mcp-proxmox
Quản lý VPS Proxmox — VM lifecycle, snapshot, resource
Community
Tool naming convention: Khi cài MCP server tên github có tool create_issue, OpenClaw đăng ký tool đó thành github__create_issue. Bạn không cần nhớ tên — agent tự chọn tool phù hợp dựa trên mô tả và ngữ cảnh yêu cầu.

Plugins — Gói mở rộng trọn bộ

Plugins là cấp cao nhất của hệ sinh thái mở rộng — kết hợp skills + MCP tools + hooks thành một gói hoàn chỉnh, cài một lần là dùng được ngay. Có hai loại:

  • Native plugins: Chạy trong process OpenClaw, có toàn quyền truy cập. Cần xác minh nguồn gốc tin cậy trước khi cài.
  • Bundle plugins: Gói content từ hệ sinh thái khác (Claude, Cursor), được map vào tính năng native của OpenClaw với boundary bảo mật chặt hơn.
bash — Quản lý plugins
# Tìm plugin trên ClawHub
openclaw plugins search "monitoring"

# Cài, bật, tắt
openclaw plugins install monitoring-suite
openclaw plugins enable  monitoring-suite
openclaw plugins disable monitoring-suite
openclaw plugins list
openclaw.json — Plugin config
{
  "plugins": {
    "entries": {
      "active-memory": {
        "enabled":        true,
        "updateInterval": "5m"
      },
      "monitoring-suite": {
        "enabled":         true,
        "alertThreshold": "warning"
      }
    }
  }
}

Hooks — Tự động phản ứng với sự kiện

Hooks cho phép chạy code tự động khi có sự kiện nhất định xảy ra trong OpenClaw — không cần agent chủ động, không cần bạn nhắc. Có ba nhóm hook events:

Command Events
  • before_tool_call
  • after_tool_call
  • on_tool_error
Agent Events
  • on_session_start
  • on_session_end
  • on_agent_response
Gateway Events
  • on_message_received
  • on_heartbeat_tick
  • on_heartbeat_alert

Hook: log mỗi lần agent gọi tool

hooks/log-tool-calls.js
export default {
  event: "after_tool_call",
  handler: async (context) => {
    const { toolName, result, duration } = context;
    console.log(`[TOOL] ${toolName} — ${duration}ms`);
    // Ghi vào daily note nếu cần
  }
};

Hook: chặn và xác nhận trước tool nguy hiểm

hooks/safety-check.js
export default {
  event: "before_tool_call",
  handler: async (context) => {
    const dangerous = ["bash_execute", "file_delete", "db_write"];
    if (dangerous.includes(context.toolName)) {
      return { requireConfirmation: true };
      // Agent sẽ hỏi bạn xác nhận trước khi chạy
    }
  }
};

Kết hợp tất cả: end-to-end example

Dưới đây là setup hoàn chỉnh cho developer chạy OpenClaw trên VPS, và luồng xử lý khi bạn nhắn một câu đơn giản:

Setup đã cài đặt:

  • Skills: vps-health, code-reviewer, deploy-assistant
  • MCP Servers: github, postgres, telegram-bot
  • Hooks: log-tool-calls, safety-check, auto-commit-log
Bạn nhắn: "deploy version mới lên production"
  • 1
    Skill deploy-assistant được kích hoạt — agent biết quy trình deploy của bạn
  • 2
    MCP github__create_release — tạo release tag tự động từ latest commit
  • 3
    Hook safety-check chặn — yêu cầu xác nhận trước khi chạy deploy script trên production
  • 4
    Bạn xác nhận → bash_execute chạy deploy script
  • 5
    MCP postgres__query — kiểm tra migration có chạy thành công không
  • 6
    MCP telegram-bot__send_message — báo kết quả cho team channel
  • 7
    Hook log-tool-calls ghi toàn bộ audit trail vào daily note
✓ Done — Tất cả từ một câu nhắn 5 từ. Không cần SSH thủ công, không cần copy lệnh, không cần nhớ quy trình.

Bảo mật khi mở rộng tools

Mỗi tool bạn thêm là một attack surface mới. Bốn nguyên tắc cần giữ nhất quán:

🔒
Least Privilege
Chỉ cấp quyền tối thiểu cần thiết. GitHub token chỉ cần repo scope, không cần admin. Database user chỉ cần SELECT nếu agent không cần ghi.
🔍
Review trước khi cài
Đọc source code của native plugin trước khi cài. Ưu tiên plugin từ nguồn tin cậy hoặc được verified trên ClawHub. Bundle plugins an toàn hơn native plugins.
📋
Dùng allowList
Cấu hình skills.allowList để giới hạn skill agent được phép dùng — ngay cả khi bạn cài nhiều skill, chỉ những skill trong list mới được kích hoạt.
Hook safety-check
Luôn có hook kiểm tra trước các tool nguy hiểm: xóa file, chạy bash, gửi data ra ngoài, ghi vào database. Một confirm prompt nhỏ có thể ngăn được sự cố lớn.
Native plugins có full access: Không giống bundle plugins, native plugins chạy trong cùng process với OpenClaw và có thể đọc mọi thứ trong workspace — bao gồm MEMORY.md, API keys, và file logs. Chỉ cài native plugin từ tác giả bạn tin tưởng tuyệt đối.