Lucasle234/weblok
If you are the rightful owner of weblok and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Weblok is a local MCP server for web searching on Windows, enabling LLMs to extract full web page content without API keys.
Weblok (Windows only)
Weblok là một MCP server tìm kiếm web chạy cục bộ trên Windows.
Nó cho phép LLM (ví dụ: LM Studio) tìm kiếm và trích xuất toàn bộ nội dung trang bằng cách điều khiển trình duyệt headless — không cần API key.
Tính năng chính
- Không cần API: tìm kiếm trực tiếp, lấy nội dung bằng trình duyệt headless.
- 3 công cụ (tools) tích hợp cho nhu cầu khác nhau:
fw
– Full Web: tìm kiếm và lấy nội dung đầy đủ của các kết quả hàng đầu.ws
– Web Summaries: chỉ trả snippet/tóm tắt kết quả tìm kiếm (nhẹ, nhanh).pg
– Page: lấy nội dung từ một URL cụ thể.
- Alias dạng slash:
/fw
,/ws
,/pg
để gọi nhanh trong khung chat. - Giới hạn tần suất (rate limit) để tránh bị chặn.
- Viết bằng TypeScript, dễ mở rộng.
Lưu ý: weblok sử dụng kết hợp axios + cheerio để tải/phân tích HTML. Khi cần, nó fallback sang Playwright (Chromium/Firefox/WebKit) thông qua
BrowserPool
để tăng độ ổn định khi trích xuất nội dung.
Yêu cầu hệ thống (Windows)
- Windows 10/11 (64-bit)
- Node.js ≥ 18: tải từ https://nodejs.org
- PowerShell hoặc Command Prompt
- Kết nối mạng để Playwright cài đặt trình duyệt (lần đầu)
Cài đặt (Windows)
# 1) Clone mã nguồn
git clone https://github.com/Lucasle234/weblok.git
cd weblok
# 2) Cài phụ thuộc
npm install
# 3) Cài trình duyệt cho Playwright (lần đầu)
npx playwright install chromium firefox webkit
Build & chạy
npm run build
npm start
Mặc định server chạy qua STDIO (phục vụ cho MCP client).
Trường hợp cần chạy trực tiếp file đã build:
node .\dist\index.js
Tích hợp với MCP client (LM Studio – Windows)
Thêm vào MCP.json
:
{
"mcpServers": {
"weblok": {
"command": "node",
"args": ["C:/path/to/weblok/dist/index.js"]
}
}
}
Đường dẫn ví dụ:
C:/Users/<you>/Projects/weblok/dist/index.js
Gọi tool trong khung chat
Bạn có thể dùng alias dạng slash để gọi nhanh:
1) Tìm kiếm & lấy nội dung đầy đủ (khuyến nghị cho nghiên cứu)
/fw query="ai in education 2025" limit=5 includeContent=true
Tham số
query
(bắt buộc): chuỗi truy vấn.limit
(1–10, mặc định 5): số kết quả.includeContent
(mặc định true): có lấy toàn văn trang hay không.maxContentLength
(tùy chọn): giới hạn ký tự cho mỗi trang.
2) Tìm kiếm nhanh – chỉ lấy snippet
/ws query="typescript decorators tutorial" limit=5
Tham số
query
(bắt buộc)limit
(1–10, mặc định 5)
3) Lấy nội dung của một URL
/pg url="https://example.com/bai-viet-hay" maxContentLength=120000
Tham số
url
(bắt buộc): URL của trang.maxContentLength
(tùy chọn): giới hạn ký tự trả về.
Các lệnh trên tương ứng với tools
fw
,ws
,pg
nếu bạn gọi trực tiếp không dùng slash.
Biến môi trường (tùy chỉnh nâng cao)
Bạn có thể cấu hình hành vi thông qua các biến môi trường sau (tùy chọn):
MAX_BROWSERS
(mặc định3
) – số phiên trình duyệt tối đa trong pool.BROWSER_TYPES
(mặc địnhchromium,firefox
) – danh sách trình duyệt:chromium,firefox,webkit
.BROWSER_HEADLESS
(mặc địnhtrue
) – chạy headless hay hiển thị.DEFAULT_TIMEOUT
(mặc định6000
) – timeout tải trang (ms).MAX_CONTENT_LENGTH
(mặc định500000
) – trần ký tự nội dung.BROWSER_FALLBACK_THRESHOLD
(mặc định3
) – ngưỡng fallback sang trình duyệt.ENABLE_RELEVANCE_CHECKING
(mặc địnhtrue
) – bật kiểm tra mức liên quan.RELEVANCE_THRESHOLD
– ngưỡng liên quan (0–1).FORCE_MULTI_ENGINE_SEARCH
(mặc địnhfalse
) – ép tìm qua nhiều engine.DEBUG_BROWSER_LIFECYCLE
,DEBUG_BING_SEARCH
– bật log chi tiết.
Không cần thiết lập gì nếu bạn muốn chạy theo mặc định.
Cấu trúc thư mục
weblok/
├─ src/
│ ├─ browser-pool.ts # Quản lý Chromium/Firefox/WebKit
│ ├─ content-extractor.ts # Trích xuất nội dung cơ bản
│ ├─ enhanced-content-extractor.ts # Trích xuất nâng cao + fallback browser
│ ├─ search-engine.ts # Thực hiện tìm kiếm & hợp nhất kết quả
│ ├─ rate-limiter.ts # Rate limiter (mặc định 15 req/phút)
│ ├─ utils.ts # Tiện ích: làm sạch text, PDF check, v.v.
│ └─ index.ts # Khởi tạo MCP server & đăng ký tools
├─ package.json # script: build/dev/start
├─ tsconfig.json
└─ dist/ # (sinh ra sau khi build)
Khắc phục lỗi thường gặp (Windows)
1) Playwright không tìm thấy trình duyệt
npx playwright install chromium firefox webkit
Nếu mạng công ty chặn tải, cần cấu hình proxy trước khi cài.
2) Node quá cũ / không hỗ trợ ES modules
- Gỡ Node cũ, cài Node ≥ 18 từ https://nodejs.org
- Kiểm tra:
node -v
3) Lỗi khi npm start
: Cannot find module ./dist/index.js
npm run build
npm start
4) Module liên quan Playwright/axios/cheerio thiếu
rd /s /q node_modules
npm install
5) Lỗi quyền thực thi PowerShell script
Chạy terminal Run as administrator hoặc dùng Command Prompt bình thường.
Giấy phép
© 2025 Le Duc Khanh
Thông tin liên hệ
Mail: kkhhaannhh11999988@gmail.com
Insta: @khanhs_234
Hỗ trợ phát triển
Nếu bạn thấy weblok hữu ích và muốn đóng góp để dự án được duy trì & phát triển lâu dài,
bạn có thể ủng hộ qua các phương thức sau:
Cảm ơn bạn đã đồng hành! 💖