Mình thích Nushell nên cũng mong muốn trợ lý AI viết script shell bằng Nu, và gắn Nushell vào agent Crush dưới dạng MCP server để "nhắc khéo". Trong một lần cập nhật Crush gần đây thì tự dưng nó không khởi chạy Nushell MCP lên được nữa, nhưng chỉ bị trục trặc với phương vận stdio, do bất đồng giữa Crush và Nushell khi bắt tay, còn http thì vẫn bình thường. Thế là mình chuyển sang dùng Nushell MCP ở giao thức http và khám phá ra nó tối ưu hơn ở một chuyện: Có thể cài đặt để chỉ cần chạy một tiến trình Nushell MCP server và cho tất cả agent kết nối vào MCP chung này, thay vì mỗi agent khởi chạy một process MCP server như khi dùng stdio.
Khi dùng MCP ở phương vận http, agent sẽ không tự khởi chạy MCP server như đối với stdio, nên người ta ngại dùng. Nhưng đây là lúc Linux toả sáng vì trên Linux ta dễ dàng biến MCP service thành dịch vụ tự khởi động, ta không cần bận tay bận chân tắt mở MCP server mỗi khi cần dùng đến. Ý tưởng là dùng systemd để tự động bật server MCP lên.
Phần sau đây sẽ hướng dẫn cách cài đặt MCP server Lightpanda thay vì Nushell vì ngay hôm mình viết bài này thì Nushell lại có một cập nhật khiến MCP http không bắt tay được với Crush nhưng stdio thì được.
Lightpanda là một trình duyệt dành cho agent AI, nhẹ và chạy nhanh, dùng cho hoàn cảnh không cần render đồ hoạ. Lightpanda được viết mới từ đầu, không phải fork từ Chromium hay Firefox.
Đầu tiên, hãy chọn port cho MCP server Lightpanda. Mình sẽ chọn port 3232, vì nó dễ nhớ và vì máy mình không có phần mềm nào đang dùng port này cả. Trước khi chọn port, bạn nên kiểm tra máy mình đang có phần mềm nào giành trước port này không:
ss -ln4 | rg 3232
Tham số -ln4 của lệnh ss nghĩa là:
-l: Chỉ liệt kê socket nào đang "lắng nghe" (listening).-n: Giữ port dạng số, nghĩa là đừng dịch80thànhhttp.-4: Chỉ liệt kê socket trên IPv4.
Ta sẽ tạo một service ở cấp user cho Lightpanda, bằng cách tạo một file ~/.config/systemd/user/lightpanda-mcp-server.service với nội dung như sau:
[Unit]
Description=Lightpanda MCP HTTP Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/lightpanda mcp --port 3232
[Install]
WantedBy=default.target
Lưu ý về đường dẫn file chạy của Lightpanda. Do mình cài nó từ file deb nên nó được cài vào /usr/bin/. Nếu bạn cài từ script install.sh theo trang chủ thì đường dẫn sẽ khác.
Chạy thử service này coi có thành công không:
$ systemctl --user start lightpanda-mcp-server
$ systemctl --user status lightpanda-mcp-server
● lightpanda-mcp-server.service - Lightpanda MCP HTTP Service
Loaded: loaded (/home/quan/.config/systemd/user/lightpanda-mcp-server.service; enabled; preset: enabled)
Active: active (running) since Sun 2026-08-23 16:50:42 +07; 3min 56s ago
Invocation: e1a36cee78dd4766a07f9a21b0c713cc
Main PID: 206288 (lightpanda)
Tasks: 16 (limit: 12946)
Memory: 4.7M (peak: 6.6M)
CPU: 80ms
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/lightpanda-mcp-server.service
└─206288 /usr/bin/lightpanda mcp --port 3232
Aug 23 16:50:42 MiniDesk systemd[156186]: Started lightpanda-mcp-server.service - Lightpanda MCP HTTP Service.
Aug 23 16:50:42 MiniDesk lightpanda[206288]: $time=1787478642208 $scope=mcp $level=note $msg="mcp http server running" address=127.0.0.1:3232
Lưu ý, với service ở cấp user (được lưu trong $HOME thay vì thư mục hệ thống /etc/, /usr/), bạn sẽ chạy với systemctl --user và không có sudo.
Tiếp đến, thêm MCP này vào Crush, bằng cách sửa file ~/.config/crush/crushrc và thêm vào dòng:
mcp add lightpanda --type http --url 'http://localhost:3232'
Mở Crush lên và kiểm tra trong mục MCP xem có xuất hiện "Lightpanda" với chấm xanh lá không.

Sau khi đã ưng ý rồi thì "enable" dịch vụ này để systemd tự động chạy Lightpanda mỗi khi ta login:
$ systemctl --user enable lightpanda-mcp-server
Điều hay ho với systemd là bất kể ta có login bao nhiêu session, dù là session desktop hay SSH, thì systemd cũng chỉ chạy một tiến trình Lightpanda, và sẽ tắt đi khi ta đã logout hết các session.
Với systemd, ta còn có thể làm tiết kiệm tài nguyên hơn nữa bằng cách trì hoãn khởi động MCP server đến khi nào có phần mềm client nào cần kết nối đến nó. Cơ chế này gọi là "socket activation", systemd sẽ tạo socket lắng nghe trước, khi nào có ai kết nối vào socket thì mới gọi dịch vụ tương ứng dậy, và chuyển giao socket qua. Tuy nhiên để tận dụng được tính năng này thì phần mềm đối tượng được gọi dậy phải hỗ trợ "socket passing". Thường các phần mềm cross-platform sẽ không hỗ trợ các tính năng này.
Một tiện lợi khác nữa là ta có thể quan sát log của MCP qua journald:
journalctl --user -fu lightpanda-mcp-server.service

Trên hình là mình đang kiểm tra tại sao Lightpanda không chạy được một số website viết bằng VueJS.
Để khép lại thì mình đưa ra một số đánh giá về các phần mềm MCP, nói chung là không được như kì vọng:
- Đa số được viết bằng NodeJS nên mình "né" (ngai cài nhiều đống node_modules) nên chúng không có cơ hội tỏ ra hữu ích.
- Nushell được gắn vào dưới dạng MCP nhưng phần lớn thời gian các model LLM phớt lờ không chịu xài.
- Lightpanda chưa đủ hoàn thiện để xử lý website nặng về JavaScript.