Bỏ qua tới nội dung chính
Quay lại tin tức

Show HN: KnowledgeMCP – Biến mọi tài liệu thành điểm cuối MCP (không cần LLM khi truy vấn)

Hacker News LLM· Hashwanths· 10/6/2026general

URL bài viết: https://github.com/hashwnath/KMCP URL bình luận: https://news.ycombinator.com/item?id=48469712 Điểm: 2 Bình luận: 0

KnowledgeMCP Cung cấp cho tài liệu của bạn một điểm cuối (endpoint) MCP. Mọi tác nhân AI đều có thể sử dụng chúng. draft.mp4 KnowledgeMCP chuyển đổi bất kỳ nguồn tài liệu nào (trang web, PDF, Confluence, Notion, S3, GitHub) thành một điểm cuối Giao thức Ngữ cảnh Mô hình (Model Context Protocol - MCP) tuân thủ tiêu chuẩn. Claude, GitHub Copilot, Cursor và bất kỳ tác nhân tương thích MCP nào khác có thể tìm kiếm và đọc các tài liệu đó ngay lập tức — mà không cần gọi LLM tại thời điểm truy vấn (chúng tôi sử dụng một mô hình nhúng cục bộ nhỏ + tìm kiếm lai BM25/kNN trong OpenSearch). 🔌 Tích hợp MCP — ba công cụ (docs_search, code_sample_search, docs_fetch) mà bất kỳ tác nhân nào cũng có thể kết nối. 💰 Đường dẫn truy vấn không tốn phí — nhúng cục bộ + tìm kiếm lai OpenSearch. Không có phí OpenAI/Bedrock cho mỗi truy vấn. 🐳 `docker compose up` hoạt động — chạy hoàn toàn cục bộ, không cần tài khoản AWS, không cần thẻ tín dụng. ☁️ Đường dẫn AWS sẵn sàng cho sản xuất khi bạn cần — Lambda + DynamoDB + SQS + S3 + OpenSearch được quản lý thông qua mẫu SAM đi kèm. Bắt đầu nhanh `git clone https://github.com/hashwnath/KMCP.git` `cd KMCP` `make up # docker compose up -d --build` Sau đó: Bảng điều khiển (Dashboard) → http://localhost:3000 (đăng ký → thêm nguồn → tìm kiếm) API REST quản trị (Admin REST API) → http://localhost:8081 Điểm cuối MCP (MCP endpoint) → http://localhost:8000/mcp/{your-tenant-slug} Lần khởi động đầu tiên sẽ tải xuống mô hình fastembed (~30 MB) và OpenSearch (ảnh ~700 MB). Cách các tác nhân sử dụng Trỏ bất kỳ máy khách MCP nào đến URL đối tượng thuê của bạn: ``` { "mcpServers": { "MyDocs": { "url": "http://localhost:8000/mcp/your-tenant-slug", "type": "http" } } } ``` Tác nhân nhận được ba công cụ: | Công cụ | Mục đích | Trả về | | :------------------ | :--------------------------------------- | :--------------------------------------------------------------------- | | `docs_search` | tìm kiếm ngữ nghĩa + từ khóa | tối đa 10 đoạn với tiêu đề, URL, đoạn trích ~500 token | | `code_sample_search` | tìm kiếm cụ thể theo mã với bộ lọc ngôn ngữ tùy chọn | tối đa 20 đoạn mã với ngôn ngữ + ngữ cảnh | | `docs_fetch` | nội dung trang đầy đủ | markdown sạch | Kiến trúc ``` ┌────────────────────────────────────────────────────────────┐ │ Tác nhân AI (Claude, Cursor, Copilot, Continue, ...) │ └──────────────────────────┬─────────────────────────────────┘ │ POST /mcp/{tenant_slug} ┌──────────────────────────▼─────────────────────────────────┐ │ Máy chủ MCP (FastMCP) — docs_search / code_search / fetch │ └──────────────────────────┬─────────────────────────────────┘ ┌──────────────┼──────────────┐ ▼ ▼ ▼ ┌───────────────┐ ┌──────────┐ ┌──────────────┐ │ OpenSearch │ │ SQLite │ │ Hệ thống tệp │ │ (BM25 + kNN) │ │ tenants │ │ blobs │ │ ~768 token │ │ sources │ │ uploads │ │ chunks │ │ jobs │ │ │ └───────────────┘ └──────────┘ └──────────────┘ ▲ ┌──────────────────────────┴─────────────────────────────────┐ │ API quản trị (Starlette) + Trình xử lý nền │ │ đăng ký/đăng nhập (JWT) crawl → markdown → chunk → │ │ CRUD nguồn nhúng → OpenSearch │ │ phân tích │ └────────────────────────────────────────────────────────────┘ ``` (Trong chế độ AWS, thay thế SQLite → DynamoDB, Filesystem → S3, hàng đợi trình xử lý → SQS, và chạy mỗi dịch vụ như một Lambda riêng. Mã ứng dụng không thay đổi vì mọi lệnh gọi AWS đều được định tuyến qua `src/common/backends/`.) Các loại nguồn được hỗ trợ | Loại | Nội dung được nhập | | :--------------- | :------------------------------------------------------------------------------ | | `website_url` | Thu thập toàn bộ sơ đồ trang web → markdown | | `paste_text` | Văn bản nội tuyến | | `file_upload` | PDF, DOCX, PPTX, MD, HTML, TXT | | `cloud_storage` | S3, Azure Blob, GCS | | `wiki_kb` | Confluence, Notion, SharePoint, GitBook | | `git_repo` | Kho lưu trữ GitHub/GitLab công khai hoặc riêng tư (mã thông báo tùy chọn) | Cấu hình Các giá trị mặc định hoạt động cho `docker-compose` cục bộ. Để tùy chỉnh, sao chép `.env.example` vào `.env` và chỉnh sửa. Các tùy chọn hữu ích nhất: | Biến | Mặc định | Ghi chú | | :----------------- | :------- | :---------------------------------------- | | `BACKEND` | `local` | `local` (mặc định) hoặc `aws` | | `EMBEDDING_PROVIDER` | `local` | `local` (fastembed) / `bedrock` / `openai` | LOCAL_EMBEDDING_MODEL BAAI/bge-small-en-v1.5 Bất kỳ mô hình nào được fastembed hỗ trợ OPENSEARCH_ENDPOINT http://opensearch:9200 Trong compose; ghi đè cho OpenSearch được lưu trữ MAX_DOCS_PER_TENANT 500 Hạn ngạch trên mỗi người thuê RATE_LIMIT_PER_SECOND 10 Giới hạn tốc độ điểm cuối MCP (trên mỗi người thuê) Triển khai sản xuất AWS Xem docs/AWS_DEPLOYMENT.md để biết mẫu SAM (Lambda + DynamoDB + SQS + S3 + OpenSearch + SES), ước tính chi phí và sổ tay vận hành. Đóng góp Các yêu cầu kéo (PR) được hoan nghênh. Xem CONTRIBUTING.md để biết tổng quan về cơ sở mã và thiết lập phát triển cục bộ. make test # bộ pytest đầy đủ (BACKEND=local) make test-aws # bộ mô phỏng AWS make up # docker compose up -d --build Giấy phép Phần phụ trợ (src/, infra/, cấu hình cấp cao nhất) — AGPL-3.0 Phần giao diện người dùng (frontend/) — MIT Giấy phép AGPL-3.0 có nghĩa là việc sử dụng được lưu trữ/SaaS phải công bố các sửa đổi theo cùng một giấy phép. Nếu điều đó gây ra vấn đề cho trường hợp sử dụng của quý vị, vui lòng mở một vấn đề để chúng ta có thể thảo luận về cấp phép thương mại. Tại sao lại là KnowledgeMCP? KnowledgeMCP Các công cụ RAG điển hình Chi phí truy vấn 0 USD (nhúng cục bộ + OpenSearch) 0,01-0,10 USD/truy vấn (xếp hạng lại LLM) Tích hợp tác nhân MCP gốc — cắm và chạy API REST + mã kết nối tùy chỉnh Tự lưu trữ docker compose up, không cần tài khoản đám mây Thường cần API đám mây Đa người thuê Cách ly trên mỗi người thuê được tích hợp sẵn Một người thuê, gắn thêm sau Độ trễ ~100ms (không có LLM trong đường dẫn) 1-5s (xếp hạng lại LLM) Cộng đồng Thảo luận trên GitHub — câu hỏi, ý tưởng, trình bày và chia sẻ Vấn đề — báo cáo lỗi, yêu cầu tính năng Lời cảm ơn FastMCP — khung máy chủ MCP fastembed — thư viện nhúng thời gian chạy ONNX OpenSearch — tìm kiếm kết hợp BM25 + kNN Nhóm máy chủ Microsoft Learn MCP — vì đã ghi lại những bài học kinh nghiệm quý báu đã định hình thiết kế ngữ cảnh người thuê thông qua phần mềm trung gian

Nguồn tin: Hacker News LLM — Tác giả: Hashwanths. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.