Personal Knowledge-Base MCP Server
Personal Knowledge-Base MCP Server
Готовый к показу рекрутерам MCP-сервер, предоставляющий семантический поиск по реальному личному корпусу документов.
Проблема
Поиск по ключевым словам упускает семантически связанную информацию, если формулировки отличаются. Этот проект индексирует личные заметки с помощью эмбеддингов и предоставляет переиспользуемые инструменты поиска через Model Context Protocol.
Related MCP server: Personal Knowledge-Base MCP Server
Что входит
Сервер FastMCP с 3 вызываемыми инструментами:
search_notes(user_id, query, top_k)— ранжированные фрагменты + ссылки на источникиget_document(user_id, doc_id)— полный контекст проиндексированного документаlist_sources(user_id)— проиндексированные источники
Импорт PDF/Markdown/TXT и чанкинг с учётом перекрытий
Эмбеддинги
sentence-transformers/all-MiniLM-L6-v2Векторное хранилище Qdrant с коллекциями для каждого пользователя
Порог сходства с явным результатом
no_confident_matchМногопользовательское веб-демо на FastAPI с регистрацией/входом, загрузкой и поиском
Скрипт оценки поиска на вручную размеченных данных
Архитектура
См. architecture.md.
Быстрый старт
1. Установка
python -m venv .venv
# Windows:
.venv\Scripts\activate
# macOS/Linux:
source .venv/bin/activate
pip install -r requirements.txt2. Настройка Qdrant Cloud
Создайте бесплатный кластер Qdrant Cloud, скопируйте его URL/API-ключ и создайте .env из .env.example.
QDRANT_URL=https://YOUR-CLUSTER.qdrant.io
QDRANT_API_KEY=YOUR_KEY3. Добавьте свой реальный корпус
Положите 2–5 своих конспектов за семестр в corpus/, затем:
python ingest.py --user demo --path corpus4. Запустите веб-демо
uvicorn api:app --reloadОткройте http://127.0.0.1:8000.
5. Запустите MCP-сервер
python server.pyДля Claude Desktop добавьте команду сервера в конфигурацию MCP, указав абсолютный путь к server.py и тот же интерпретатор Python из вашего виртуального окружения.
Пример структуры:
{
"mcpServers": {
"personal-knowledge-base": {
"command": "C:\\PATH\\TO\\.venv\\Scripts\\python.exe",
"args": ["C:\\PATH\\TO\\personal-knowledge-base-mcp\\server.py"]
}
}
}Качество поиска
Создайте небольшой вручную размеченный набор в evaluation_queries.json, где каждый запрос сопоставлен с правильным doc_id, затем выполните:
python evaluate.py --user demoУкажите фактически измеренное Precision@k в финальном README. Не выдумывайте цифру.
Демо
См. demo_script.md — сценарий 5-минутной живой демонстрации.
Технический стек
Python · FastMCP · Qdrant Cloud · Sentence Transformers · FastAPI · SQLite · PDF/Markdown/TXT
Почему это полезно
Слой MCP работает на уровне протокола: ту же функцию поиска может вызывать Claude Desktop или другой MCP-совместимый клиент, а не только кастомный интерфейс чат-бота.
Ограничения
Это учебная/демонстрационная реализация. Аутентификация намеренно базовая; в продакшен-деплойментах стоит добавить защищённые сессии, хеширование паролей, middleware авторизации, лимиты запросов, шифрованное хранилище и более строгую изоляцию арендаторов.
This server cannot be deployed
Maintenance
Related MCP Connectors
The Needle MCP server enables semantic search on documents stored in files like PDFs, DOCX, and XLSX by connecting AI applications to external data sources. It provides capabilities to create and manage document collections, perform natural language searches on stored content, and retrieve relevant information without requiring exact keyword matches.
- docs2mcpOAuthcom.docs2mcp
Query your own PDFs and documents from any MCP client. Every answer cites the page it came from.
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
Self-hosted AI workspace: semantic RAG document search, long-term memory, and AI chat via MCP.
Related MCP Servers
- FlicenseAqualityBmaintenanceEnables semantic search across personal PDF paper collections with page-level citations, allowing users to query their library from any MCP-capable client.9-
- FlicenseNot gradedqualityCmaintenanceA Personal Knowledge-Base MCP Server that provides semantic search over a student-owned document collection using MCP, Gemini embeddings, and Qdrant. It exposes tools for searching notes, retrieving full documents, and listing indexed sources.-
- AlicenseNot gradedqualityCmaintenanceEnables local semantic and full-text search over Markdown notes through MCP, returning relevant passages ranked by meaning and exact terms without requiring a GPU or hosted APIs.MIT
- AlicenseNot gradedqualityBmaintenanceEnables researchers to interact with a personal corpus of academic papers through semantic search, grounded question answering with source citations, and document summarization or comparison via MCP tools.Apache 2.0