Personal Knowledge-Base MCP Server
Personal Knowledge-Base MCP Server
Personal Knowledge-Base MCP Server, обеспечивающий семантический поиск по коллекции документов, принадлежащей студенту, с использованием Model Context Protocol (MCP), эмбеддингов Gemini и Qdrant.
Обзор проекта
Этот проект предоставляет личную базу знаний в виде вызываемых инструментов MCP.
Вместо поиска по ключевым словам система преобразует запросы пользователей в векторные эмбеддинги и извлекает семантически релевантные фрагменты документов из Qdrant.
Related MCP server: Solarium
Архитектура
User / MCP Client
|
v
MCP Server (FastMCP)
|
+----------------------+
| |
v v
search_notes() get_document()
|
v
Gemini Embedding API
|
v
Qdrant Vector Database
|
v
Ranked Chunks
|
v
Source + Page + Score + Text
## Features
* PDF document ingestion
* Page-by-page text extraction
* Recursive text chunking
* Gemini `gemini-embedding-001` embeddings
* Qdrant vector storage
* Semantic similarity search
* Source and page citations
* Confidence threshold for low-relevance queries
* Full-document retrieval
* Indexed-source listing
* MCP Inspector support
## MCP Tools
### `search_notes`
Searches the knowledge base using semantic similarity.
Arguments:
* `query`: search question or topic
* `top_k`: maximum number of results
Returns:
* similarity score
* source filename
* page number
* relevant text chunk
### `get_document`
Returns the complete text of an indexed PDF document.
Argument:
* `doc_id`: document filename
Example:
```text
Complex_Variables_Project_Report.pdflist_source_documents
Перечисляет все индексированные исходные документы.
Пример вывода:
1. Complex_Variables_Project_Report.pdfСтруктура проекта
Personal-Knowledge-MCP/
├── documents/
│ └── Complex_Variables_Project_Report.pdf
├── services/
│ ├── chunking.py
│ ├── embedding.py
│ ├── pdf_reader.py
│ └── qdrant_service.py
├── .env
├── .gitignore
├── evaluation.py
├── ingest.py
├── requirements.txt
└── server.pyНастройка
1. Создайте и активируйте виртуальное окружение
python -m venv .venv
.venv\Scripts\Activate.ps12. Установите зависимости
pip install -r requirements.txt3. Настройте API-ключ Gemini
Создайте файл .env в корне проекта:
GEMINI_API_KEY=your_api_key_hereНикогда не коммитьте .env в Git.
4. Запустите Qdrant
Проект использует локальный Qdrant по адресу:
http://localhost:6333Пример команды Docker:
docker run -d --name qdrant -p 6333:6333 -p 6334:6334 qdrant/qdrantЗагрузка документов
Поместите PDF внутрь:
documents/Запустите:
python ingest.pyКонвейер загрузки выполняет:
PDF
↓
Page extraction
↓
Chunking
↓
Gemini embeddings
↓
Qdrant storageКаждый сохранённый фрагмент содержит:
text
page
sourceЗапуск MCP-сервера
Запустите MCP Inspector:
mcp dev server.pyMCP-сервер использует транспорт STDIO.
Доступные инструменты:
search_notes
get_document
list_source_documentsОценка поиска
Небольшой оценочный набор из пяти запросов использовался для проверки того, появилась ли хотя бы одна ожидаемая релевантная страница среди первых трёх полученных результатов.
Результат оценки:
Tests: 5
Successful hits: 5
Hit@3: 100%Примеры оценочных запросов:
Что такое комплексная переменная?
Что такое уравнения Коши-Римана?
Как преобразование Лапласа помогает инженерным системам?
В чём разница между преобразованиями Лапласа и Фурье?
Как БПФ используется для подавления шума в аудио?
Фильтрация по уверенности
Инструмент поиска использует начальный порог сходства:
0.60Например, релевантные запросы давали оценки около:
0.79
0.76
0.75в то время как несвязанный запрос давал оценки около:
0.52Поэтому результаты с низкими оценками отфильтровываются, и инструмент возвращает:
No confident match found.Технологии
Python
FastMCP
Model Context Protocol (MCP)
Google Gemini Embeddings
Qdrant
PyMuPDF
LangChain Text Splitters
Docker
MCP Inspector
Текущий источник знаний
Текущий демонстрационный корпус:
Complex_Variables_Project_Report.pdfДокумент содержит 7 страниц и был разбит на 30 фрагментов для индексированной коллекции personal_knowledge.
Безопасность
API-ключи хранятся в
.env.envисключён с помощью.gitignoreСекреты никогда не должны попадать в систему контроля версий
Будущие улучшения
Поддерживать документы Markdown и TXT
Добавить постоянные идентификаторы на уровне документов
Улучшить обработку дублирующихся фрагментов
Расширить набор оценочных данных
Добавить больше метрик поиска
Поддерживать несколько коллекций документов
Добавить опциональное развертывание Qdrant Cloud
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityCmaintenanceMCP server that indexes a knowledge base into Chroma and provides search tools for retrieving document fragments via vector embeddings.
- Alicense-qualityDmaintenanceA knowledge base MCP server backed by Qdrant vector database with local embeddings for semantic search and document management.51ISC
- Flicense-qualityCmaintenanceMCP server providing RAG tools (search_notes, answer_from_notes) and resources for grounded answers over a local knowledge base.
- Flicense-qualityAmaintenanceA local knowledge base MCP server that enables retrieval and evidence-based Q&A over Obsidian Markdown notes, with high-recall embedding search, chunked indexing, hybrid retrieval, and three STDIO MCP tools for agent-driven recollection and quality-gated recall.
Related MCP Connectors
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Agentic search over your Dewey document collections from any MCP-compatible client.
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AmnaSarwar522/Personal-Knowledge-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server