second-brain-mcp

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.

Category
访问服务器

README

Second Brain MCP

English version

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.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选