second-brain-mcp
Enables AI assistants to capture, search, update, and delete notes in a local Markdown vault with automatic categorization and tagging, making knowledge management seamless.
README
Second Brain MCP
Một MCP server giúp AI ghi chú giùm bạn — vào một thư mục Markdown bình thường, kiểu Obsidian đọc được.
Bạn cứ trò chuyện với AI như thường. Khi có gì đáng lưu, bảo nó lưu lại: nó tự chọn category, tự gắn tag, tự ghi thành file .md. Lần sau muốn tìm lại thì hỏi nó. Ghi chú vẫn là của bạn — file thường nằm trên ổ cứng, không cần công cụ này cũng đọc được.
Cài đặt
Bước 1 — Chuẩn bị
Bạn cần:
- Node.js phiên bản 20 trở lên. Kiểm tra bằng cách mở Terminal (macOS) hoặc Command Prompt (Windows) rồi gõ
node --version. Nếu báo lỗi hoặc số nhỏ hơn 20, tải tại nodejs.org. - Một AI client hỗ trợ MCP — Claude Desktop, Antigravity, Cursor, hoặc tương tự.
Bước 2 — Chọn nơi lưu ghi chú
Quyết định thư mục sẽ chứa ghi chú, ví dụ /Users/ban/Documents/Notes. Thư mục chưa tồn tại cũng được, nó sẽ tự tạo.
Nếu bạn đã dùng Obsidian, có thể trỏ thẳng vào vault sẵn có.
Bước 3 — Thêm vào cấu hình AI client
Mở file cấu hình MCP của client bạn dùng, thêm đoạn này:
{
"mcpServers": {
"second-brain": {
"command": "npx",
"args": ["-y", "@pthieenlong/second-brain-mcp"],
"env": {
"VAULT_PATH": "/Users/ban/Documents/Notes"
}
}
}
}
Nhớ thay /Users/ban/Documents/Notes bằng đường dẫn thật của bạn. Đường dẫn phải đầy đủ từ gốc, không dùng ~.
Nếu file cấu hình đã có sẵn mcpServers với server khác, chỉ cần thêm "second-brain": {...} vào bên trong, đừng ghi đè cả khối.
Chỗ đặt file cấu hình tùy client — tìm trong tài liệu của client mục "MCP servers".
Bước 4 — Khởi động lại client
Đóng hẳn và mở lại AI client. Lần đầu chạy hơi chậm vì npx tải package về, những lần sau dùng bản đã cache nên nhanh.
Bước 5 — Thử
Nhắn với AI: "Lưu note này vào second brain: hôm nay học được cách dùng React hooks"
Nếu thành công, nó sẽ báo đã lưu và bạn thấy file .md mới trong thư mục vừa chọn.
AI làm được gì
| Công cụ | Chức năng |
|---|---|
capture_note |
Lưu ghi chú mới. AI tự phân loại category và tag. |
search_notes |
Tìm theo từ khóa tiêu đề, category, hoặc tag. |
get_note |
Đọc toàn bộ nội dung một ghi chú. |
update_note |
Sửa ghi chú. Đổi tiêu đề hoặc category thì file tự chuyển sang chỗ mới. |
delete_note |
Xóa ghi chú khỏi cả thư mục lẫn chỉ mục. |
reindex_vault |
Quét lại thư mục và dựng lại chỉ mục tìm kiếm từ đầu. |
Bạn không cần gọi tên các công cụ này. Cứ nói bình thường — "tìm giúp tôi mấy note về React" — AI tự biết dùng cái nào.
Ghi chú được lưu thế nào
File .md nằm trong VAULT_PATH/<category>/, có phần thông tin ở đầu:
---
date: 2026-07-20
category: 01-Fundamentals
tags:
- react
- hooks
source: chat-capture
---
# React hooks
Nội dung ghi chú...
Đây là bản gốc, là nguồn sự thật. Mở bằng Obsidian, tìm bằng grep, đồng bộ, sao lưu — tùy bạn. Công cụ này không giữ khóa gì trên chúng.
Bên cạnh đó có file <VAULT_PATH>/.second-brain/index.db — một file SQLite nhỏ lưu thông tin tóm tắt để tìm kiếm nhanh, khỏi phải đọc từng file. Nó là dữ liệu phái sinh: xóa đi thì tự tạo lại (nhưng sẽ rỗng — xem phần Hạn chế).
Đổi danh sách category
Mặc định có 7 nhóm:
01-Fundamentals 02-Work 03-Product-Thinking 04-Learning
05-Career 06-Personal 07-Projects
Muốn dùng nhóm của riêng bạn, thêm NOTE_CATEGORIES vào phần env trong cấu hình client:
"env": {
"VAULT_PATH": "/Users/ban/Documents/Notes",
"NOTE_CATEGORIES": "Nau-an,Du-lich,Cong-viec,Y-tuong"
}
Ngăn cách bằng dấu phẩy, không có khoảng trắng thừa. Sau đó khởi động lại client.
Nếu AI chọn nhầm nhóm không có trong danh sách, ghi chú sẽ rơi vào 00-Inbox chứ không bị từ chối — bạn sắp xếp lại sau, không mất gì.
Khi gặp trục trặc
AI không thấy công cụ nào Kiểm tra JSON có đúng cú pháp không (thiếu dấu phẩy, thừa dấu ngoặc là hỏng). Rồi khởi động lại client.
Báo lỗi liên quan VAULT_PATH
Đường dẫn phải đầy đủ từ gốc: /Users/ban/Documents/Notes, không phải ~/Documents/Notes hay ./Notes.
Lần đầu chạy rất lâu
Bình thường — npx đang tải package về. Những lần sau nhanh hơn nhiều.
Ghi chú lưu rồi nhưng tìm không ra Có thể chỉ mục bị lệch với thư mục. Xem phần dưới.
Hạn chế hiện tại
Nói thẳng để bạn biết trước:
Chỉ mục có thể lệch với thư mục. Ghi chú được ghi ra file trước, rồi mới đưa vào chỉ mục. Nếu bước sau lỗi, file vẫn có nhưng tìm không thấy. Sửa hoặc thêm note trực tiếp trong Obsidian cũng không tự cập nhật chỉ mục. Khi nghi ngờ lệch, bảo AI "reindex vault giúp tôi" — nó quét lại toàn bộ thư mục và dựng chỉ mục từ đầu.
Chỉ tìm được tiêu đề, chưa tìm trong nội dung. search_notes khớp theo tiêu đề, category và tag. Chưa tìm được chữ nằm trong thân ghi chú.
Chữ có dấu phân biệt hoa thường. Tìm tiêu đề tiếng Anh không phân biệt hoa thường, nhưng tiếng Việt có dấu thì có — hạn chế của SQLite.
Windows chạy chip ARM không dùng được. Thư viện SQLite không có bản cho nền tảng đó. macOS (cả Intel lẫn Apple Silicon), Windows x64 và Linux đều chạy bình thường.
Dành cho lập trình viên
Cần pnpm. Chép .env.example thành .env rồi điền VAULT_PATH.
pnpm install
pnpm run build
pnpm run test
pnpm run lint
npx prisma migrate dev # sau khi sửa prisma/schema.prisma
npx prisma generate
Chạy tay để thử — server nói chuyện bằng JSON-RPC qua stdin/stdout:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' \
| VAULT_PATH=/tmp/test-vault node dist/src/main.js
Một nguyên tắc bắt buộc khi sửa code: không được ghi gì ra stdout. Luồng đó dành riêng cho giao thức; một dòng console.log lạc là hỏng kết nối. Cần log thì dùng console.error (ghi ra stderr).
Đóng góp
Rất hoan nghênh issue và pull request. Những việc thực sự cần:
- Tìm kiếm toàn văn trong nội dung note
- Tự động cập nhật chỉ mục khi file trong vault thay đổi (thay vì phải reindex tay)
- Viết test — tầng service hiện chưa có test nào
Giấy phép
MIT — xem 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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.