GZOO Cortex MCP Server

chính thức

Đồ thị tri thức ưu tiên cục bộ dành cho nhà phát triển. Theo dõi các tệp dự án, trích xuất thực thể và mối quan hệ qua LLM, cho phép bạn truy vấn xuyên suốt các dự án bằng ngôn ngữ tự nhiên và trích dẫn nguồn.

Tài liệu

GZOO Cortex

GZOO Cortex — Local-first knowledge graph for developers

Đồ thị tri thức cục bộ dành cho nhà phát triển. Theo dõi các tệp dự án của bạn, trích xuất thực thể và mối quan hệ bằng LLM, đồng thời cho phép bạn truy vấn trên tất cả các dự án bằng ngôn ngữ tự nhiên.

“Tôi đã đưa ra những quyết định kiến trúc nào trên các dự án?”

Cortex tìm thấy các quyết định từ README, tệp TypeScript, tệp cấu hình và các bản xuất hội thoại — sau đó tổng hợp câu trả lời kèm trích dẫn nguồn.

Tại sao

Bạn làm việc trên nhiều dự án. Các quyết định, mẫu hình và ngữ cảnh nằm rải rác trên hàng trăm tệp. Bạn quên mất mình đã quyết định gì ba tháng trước. Bạn giải quyết lại những vấn đề đã từng giải quyết trong một repo khác.

Cortex theo dõi các thư mục dự án của bạn, tự động trích xuất tri thức và trả lại cho bạn khi bạn cần.

Nó làm gì

  • Theo dõi các tệp dự án của bạn (md, ts, js, py, json, yaml) để phát hiện thay đổi
  • Trích xuất các thực thể: quyết định, mẫu hình, thành phần, phụ thuộc, ràng buộc, mục hành động
  • Suy luận mối quan hệ giữa các thực thể trên các dự án
  • Phát hiện mâu thuẫn khi các quyết định xung đột
  • Truy vấn bằng ngôn ngữ tự nhiên kèm trích dẫn nguồn
  • Tìm kiếm ngữ nghĩa — kết hợp từ khóa và độ tương đồng vector (embedding) để truy vấn khớp theo ý nghĩa, không chỉ từ khóa (tùy chọn; xem Tìm kiếm ngữ nghĩa)
  • Định tuyến thông minh giữa LLM đám mây và cục bộ
  • Tôn trọng quyền riêng tư — các dự án bị hạn chế không bao giờ rời khỏi máy của bạn
  • Bảng điều khiển web với trực quan hóa đồ thị tri thức, nguồn cấp trực tiếp và trình khám phá truy vấn
  • Máy chủ MCP để tích hợp trực tiếp với Claude Code

Bắt đầu nhanh

1. Cài đặt

npm install -g @gzoo/cortex

Nếu cài đặt toàn cục thất bại với EACCES, hãy sử dụng tiền tố người dùng thay thế:

mkdir -p ~/.local
npm config set prefix ~/.local
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
npm install -g @gzoo/cortex

Hoặc cài đặt từ mã nguồn:

git clone https://github.com/gzoonet/cortex.git
cd cortex
npm install && npm run build && npm link

Xác minh: cortex --version (bản phát hành hiện tại: 0.8.1)

2. Thiết lập

Chạy trình hướng dẫn tương tác:

cortex init
cortex doctor                              # verify config, providers, and DB

Trình hướng dẫn này sẽ hướng dẫn bạn qua:

  • Nhà cung cấp LLM — Anthropic, Google Gemini, DeepSeek, Groq, OpenRouter hoặc Ollama (cục bộ)
  • Khóa API — được lưu an toàn vào ~/.cortex/.env
  • Chế độ định tuyến — ưu tiên đám mây, lai, ưu tiên cục bộ hoặc chỉ cục bộ
  • Thư mục theo dõi — những thư mục nào Cortex nên giám sát
  • Giới hạn ngân sách — giới hạn chi tiêu LLM hàng tháng

cortex init ghi cấu hình toàn cục vào ~/.cortex/cortex.config.json. Khóa API được lưu trong ~/.cortex/.env.

3. Đăng ký dự án

cortex projects add my-app ~/projects/app
cortex projects add api ~/projects/api
cortex projects list                       # verify

4. Nhập, Theo dõi & Truy vấn

Điền dữ liệu các tệp hiện có trước — trình theo dõi chỉ nhận các thay đổi mới:

cortex ingest "~/projects/app/src/**/*.ts"   # one-shot backfill
cortex serve                                 # dashboard + API + file watcher (recommended)
LệnhChức năng
cortex serveBảng điều khiển web + API + trình theo dõi tệp (ignoreInitial — không nhập lại khi khởi động)
cortex watchTrình theo dõi tệp chỉ dùng CLI (không có bảng điều khiển)
cortex ingestNhập một lần; các sự kiện không xuất hiện trong Nguồn cấp trực tiếp

Không chạy watchserve cùng nhau — chúng cạnh tranh các thay đổi tệp. Nguồn cấp trực tiếp chỉ hiển thị các sự kiện thời gian thực từ cortex serve (lưu tệp khi máy chủ đang chạy).

cortex query "what caching strategies am I using?"
cortex query "what decisions have I made about authentication?"
cortex find "PostgreSQL" --expand 2
cortex contradictions

5. Bảng điều khiển Web

cortex serve                               # open http://localhost:3710

Truy cập từ xa:

cortex serve --host 0.0.0.0

Xác thực được thực thi tự động trên các máy chủ không phải localhost. Một mã thông báo bearer được tự động tạo và lưu vào ~/.cortex/.env (đọc nó bằng grep CORTEX_SERVER_AUTH_TOKEN ~/.cortex/.env). Mở bảng điều khiển một lần với http://<host>:3710/?token=<token> — mã thông báo chỉ được nhúng cho các yêu cầu đã chứng minh quyền sở hữu nó và sau đó được giữ cho tab trình duyệt (vì vậy khách truy cập ẩn danh không bao giờ nhận được nó). Các cuộc gọi API/WebSocket đằng sau proxy ngược sử dụng Authorization: Bearer <token>.

Loại trừ Tệp & Thư mục

Cortex bỏ qua node_modules, dist, .git và các thư mục phổ biến khác theo mặc định. Để thêm nhiều hơn:

cortex config exclude add docs             # exclude a directory
cortex config exclude add "*.log"          # exclude by pattern
cortex config exclude list                 # see all excludes
cortex config exclude remove docs          # remove an exclude

Cách thức hoạt động

Cortex chạy một quy trình trên mỗi thay đổi tệp:

  1. Phân tích cú pháp — nội dung tệp được chia thành các đoạn bởi trình phân tích cú pháp nhận biết ngôn ngữ (tree-sitter cho mã, remark cho markdown)
  2. Trích xuất — LLM xác định các thực thể (quyết định, thành phần, mẫu hình, v.v.)
  3. Liên hệ — LLM suy luận mối quan hệ giữa các thực thể mới và hiện có
  4. Phát hiện — mâu thuẫn và trùng lặp được gắn cờ tự động
  5. Lưu trữ — thực thể, mối quan hệ và vector được đưa vào SQLite + LanceDB
  6. Truy vấn — truy vấn ngôn ngữ tự nhiên tìm kiếm đồ thị và tổng hợp câu trả lời

Tất cả dữ liệu được lưu cục bộ trong ~/.cortex/. Chỉ các cuộc gọi API LLM rời khỏi máy của bạn (và không bao giờ cho các dự án bị hạn chế).

Nhà cung cấp LLM

Cortex không phụ thuộc vào nhà cung cấp. Nó hỗ trợ:

  • Anthropic Claude (Sonnet, Haiku) — qua API Anthropic gốc
  • Google Gemini — qua API tương thích OpenAI
  • DeepSeek (Reasoner, Chat) — suy luận mạnh mẽ, rất phải chăng
  • Groq — suy luận nhanh với bậc miễn phí
  • Bất kỳ API tương thích OpenAI nào — OpenRouter, proxy cục bộ, v.v.
  • Ollama (Mistral, Llama, v.v.) — hoàn toàn cục bộ, không cần đám mây

Theo dõi chi phí sử dụng tỷ lệ nhận biết nhà cung cấp cho các mô hình DeepSeek, Gemini, Groq và OpenRouter — không phải dự phòng Anthropic chung chung.

Embeddings (cho tìm kiếm ngữ nghĩa) được cấu hình như một nhà cung cấp riêng biệt — độc lập với mô hình trò chuyện của bạn — vì vậy bạn có thể chạy trò chuyện trên DeepSeek và embeddings trên OpenAI. Xem Tìm kiếm ngữ nghĩa.

Chế độ định tuyến

Chế độChi phí đám mâyChất lượngYêu cầu Ollama
cloud-firstThay đổi theo nhà cung cấpCao nhấtKhông
hybridGiảmCao
local-firstTối thiểuTốt
local-only$0Tốt

Trong chế độ ưu tiên đám mây, tất cả các tác vụ được định tuyến đến nhà cung cấp đám mây của bạn. Ollama không bắt buộc và chỉ được sử dụng nếu dự phòng ngân sách được bật. Chế độ lai định tuyến các tác vụ khối lượng lớn (trích xuất thực thể, xếp hạng) đến Ollama và các tác vụ nặng về suy luận (suy luận mối quan hệ, truy vấn) đến nhà cung cấp đám mây của bạn.

Yêu cầu

  • Node.js 20+
  • Khóa API LLM cho các chế độ đám mây — Anthropic, Google Gemini, DeepSeek, Groq hoặc bất kỳ nhà cung cấp tương thích OpenAI nào
  • Ollama — chỉ cho các chế độ hybrid, local-first hoặc local-only (cài đặt)

Cấu hình

Cấu hình được phân lớp — các nguồn sau ghi đè các nguồn trước:

Ưu tiênVị tríPhạm vi
1Mặc định tích hợpToàn cục
2~/.cortex/cortex.config.jsonToàn cục (được tạo bởi cortex init)
3./cortex.config.jsonGhi đè dự án (tùy chọn)
4Biến môi trường CORTEX_*Phiên

Khóa API được lưu trữ riêng biệt trong ~/.cortex/.env (không bao giờ trong JSON cấu hình).

cortex config list                       # see all non-default settings
cortex config set llm.mode hybrid        # switch routing mode
cortex config set llm.budget.monthlyLimitUsd 10  # set budget
cortex config exclude add vendor         # exclude a directory from watching
cortex privacy set ~/clients restricted  # mark directory as restricted
cortex doctor                            # validate setup

Tham khảo cấu hình đầy đủ: docs/configuration.md

Tìm kiếm ngữ nghĩa (Embeddings)

Cortex kết hợp tìm kiếm từ khóa (toàn văn) với độ tương đồng vector, để các truy vấn khớp theo ý nghĩa thay vì từ chính xác. Embeddings là tùy chọn và tắt theo mặc định — bật chúng với nhà cung cấp embeddings đám mây (không yêu cầu GPU cục bộ hoặc Ollama):

cortex config set llm.embeddings.enabled true
cortex config set llm.embeddings.baseUrl https://api.openai.com/v1
cortex config set llm.embeddings.model text-embedding-3-small
cortex config set llm.embeddings.apiKeySource env:OPENAI_API_KEY
cortex config set llm.embeddings.dimensions 1536
# then add the key to ~/.cortex/.env:
echo 'OPENAI_API_KEY=sk-...' >> ~/.cortex/.env

Nhà cung cấp embeddings độc lập với nhà cung cấp trò chuyện của bạn — chạy trò chuyện trên DeepSeek (hoặc Anthropic, Groq, …) và embeddings trên OpenAI. Bất kỳ điểm cuối embeddings tương thích OpenAI nào cũng hoạt động.

Các tệp mới được nhúng tự động khi chúng được nhập. Để xây dựng chỉ mục cho một đồ thị bạn đã nhập, hãy chạy lập chỉ mục lại một lần:

cortex reindex                 # all projects
cortex reindex my-app          # a single project

Lệnh

LệnhMô tả
cortex initTrình hướng dẫn thiết lập tương tác
cortex doctorXác thực cấu hình, nhà cung cấp, dự án, bí mật và cơ sở dữ liệu
cortex projects add/list/remove/showQuản lý các dự án đã đăng ký
cortex serveBảng điều khiển web + API + trình theo dõi tệp (cổng 3710)
cortex watch [project]Trình theo dõi tệp chỉ dùng CLI
cortex ingest <file-or-glob>Nhập tệp một lần (tách biệt khỏi Nguồn cấp trực tiếp)
cortex reindex [project]Xây dựng lại chỉ mục tìm kiếm ngữ nghĩa (embedding) cho các thực thể hiện có
cortex query <question>Truy vấn ngôn ngữ tự nhiên kèm trích dẫn
cortex find <term>Tìm thực thể theo tên
cortex statusThống kê đồ thị, chi phí, trạng thái nhà cung cấp
cortex costsPhân tích chi phí chi tiết
cortex contradictionsLiệt kê các mâu thuẫn đang hoạt động
cortex resolve <id>Giải quyết một mâu thuẫn
cortex models list/pull/test/infoQuản lý mô hình Ollama
cortex mcpKhởi động máy chủ MCP cho Claude Code
cortex reportTóm tắt sau khi nhập
cortex privacy set/listĐặt quyền riêng tư thư mục
cortex config list/get/set/validateĐọc/ghi cấu hình
cortex config exclude add/remove/listQuản lý loại trừ tệp/thư mục
cortex stop / cortex restartQuản lý các tiến trình theo dõi/phục vụ đang chạy
cortex dbThao tác cơ sở dữ liệu

Tham khảo CLI đầy đủ: docs/cli-reference.md

Bảng điều khiển Web

Chạy cortex serve để mở bảng điều khiển web đầy đủ tại http://localhost:3710 với:

  • Trang chủ Bảng điều khiển — thống kê đồ thị, hoạt động gần đây, phân tích loại thực thể
  • Đồ thị tri thức — đồ thị lực D3 tương tác với phân cụm, nhấp để khám phá
  • Nguồn cấp trực tiếp — sự kiện thay đổi tệp và trích xuất thực thể thời gian thực qua WebSocket (chỉ từ cortex serve)
  • Trình khám phá truy vấn — truy vấn ngôn ngữ tự nhiên với phản hồi trực tuyến
  • Trình giải quyết mâu thuẫn — xem xét và giải quyết các quyết định xung đột

Triển khai từ xa

Để truy cập ngoài localhost, liên kết với tất cả các giao diện và đặt Cortex sau proxy ngược:

cortex serve --host 0.0.0.0

Ví dụ cấu hình nginx — bảo vệ /api//ws bằng xác thực cơ bản; phục vụ tài nguyên tĩnh mà không cần xác thực (bảng điều khiển nhúng mã thông báo bearer vào HTML):

location /api/ {
    auth_basic "Cortex";
    auth_basic_user_file /etc/nginx/.htpasswd;
    proxy_pass http://127.0.0.1:3710;
    proxy_set_header Authorization "Bearer $CORTEX_TOKEN";
}

location /ws {
    auth_basic "Cortex";
    auth_basic_user_file /etc/nginx/.htpasswd;
    proxy_pass http://127.0.0.1:3710;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

location / {
    auth_basic off;
    proxy_pass http://127.0.0.1:3710;
}

Đặt CORTEX_SERVER_AUTH_TOKEN hoặc server.auth.token trong cấu hình. Khi xác thực được bật, Cortex nhúng mã thông báo vào HTML bảng điều khiển để các cuộc gọi API và WebSocket tự động xác thực.

Máy chủ MCP (Tích hợp Claude Code)

Cortex bao gồm một máy chủ MCP để Claude Code có thể truy vấn trực tiếp đồ thị tri thức của bạn:

claude mcp add cortex --scope user -- npx @gzoo/cortex mcp

Điều này cung cấp cho Claude Code 12 công cụ:

Công cụMô tả
cortex_askCâu hỏi ngôn ngữ tự nhiên về các dự án của bạn
get_statusTrạng thái hệ thống và thống kê đồ thị
list_projectsLiệt kê các dự án đã đăng ký
find_entityTra cứu thực thể theo tên
query_cortexTruy vấn đồ thị tri thức có cấu trúc
get_contradictionsLiệt kê các mâu thuẫn đã phát hiện
resolve_contradictionGiải quyết một mâu thuẫn
search_entitiesTìm kiếm thực thể với bộ lọc
ingest_fileKích hoạt nhập tệp
add_projectĐăng ký một dự án mới
remove_projectHủy đăng ký một dự án
session_briefTóm tắt ngữ cảnh cho phiên hiện tại

Kiến trúc

Monorepo với tám gói:

  • @cortex/core — kiểu, EventBus, trình tải cấu hình, lớp lỗi
  • @cortex/ingest — trình phân tích cú pháp tệp (tree-sitter + remark), trình chia đoạn, trình theo dõi, quy trình
  • @cortex/graph — kho lưu trữ SQLite, vector LanceDB, công cụ truy vấn
  • @cortex/llm — nhà cung cấp Anthropic/Gemini/tương thích OpenAI/Ollama, bộ định tuyến, lời nhắc, bộ nhớ đệm
  • @cortex/cli — CLI Commander.js
  • @cortex/mcp — máy chủ Model Context Protocol (vận chuyển stdio, 12 công cụ)
  • @cortex/server — Express REST API + chuyển tiếp WebSocket
  • @cortex/web — Bảng điều khiển web React + Vite + D3

Tài liệu kiến trúc: docs/

Quyền riêng tư & Bảo mật

  • Các tệp được phân loại là restricted không bao giờ được gửi đến LLM đám mây
  • Các tệp nhạy cảm (.env, .pem, .key) được tự động phát hiện và chặn
  • Bí mật khóa API được quét và biên tập lại trước khi truyền lên đám mây
  • Tất cả dữ liệu được lưu trữ cục bộ trong ~/.cortex/ — không có gì gọi về nhà

Kiến trúc bảo mật đầy đủ: docs/security.md

Được xây dựng bằng

  • SQLite qua better-sqlite3 — lưu trữ thực thể và quan hệ
  • LanceDB — nhúng vector cho tìm kiếm ngữ nghĩa
  • Anthropic Claude — nhà cung cấp LLM đám mây
  • Google Gemini — nhà cung cấp LLM đám mây (qua API tương thích OpenAI)
  • DeepSeek — nhà cung cấp LLM đám mây (suy luận + trò chuyện)
  • Groq — suy luận đám mây tốc độ cao
  • Ollama — suy luận LLM cục bộ
  • tree-sitter — phân tích tệp theo ngôn ngữ
  • Chokidar — theo dõi tệp đa nền tảng
  • Commander.js — khung CLI
  • React + Vite — bảng điều khiển web
  • D3 — trực quan hóa đồ thị tri thức

Đóng góp

Xem CONTRIBUTING.md để biết hướng dẫn.

Giấy phép

MIT — xem LICENSE

Giới thiệu

Được xây dựng bởi GZOO — một nền tảng tự động hóa kinh doanh sử dụng AI.

Cortex khởi đầu là một công cụ nội bộ để duy trì ngữ cảnh qua nhiều dự án khách hàng. Chúng tôi đã mở mã nguồn vì mọi lập trình viên làm việc trên nhiều thứ đều mất ngữ cảnh, và chúng tôi tin rằng cách tiếp cận này — tự động theo dõi tệp + đồ thị tri thức + truy vấn ngôn ngữ tự nhiên — là cách đúng đắn để giải quyết vấn đề đó.