Personal Knowledge-Base MCP Server
Personal Knowledge-Base MCP Server
Ein Personal Knowledge-Base MCP Server, der semantische Suche über eine studenteneigene Dokumentsammlung unter Verwendung von Model Context Protocol (MCP), Gemini-Embeddings und Qdrant bietet.
Projektübersicht
Dieses Projekt stellt eine persönliche Wissensdatenbank als aufrufbare MCP-Tools bereit.
Anstatt auf Schlüsselwortabgleich zu setzen, konvertiert das System Benutzeranfragen in Vektor-Embeddings und ruft semantisch relevante Dokumentabschnitte aus Qdrant ab.
Related MCP server: Solarium
Architektur
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
Listet alle indizierten Quelldokumente auf.
Beispielausgabe:
1. Complex_Variables_Project_Report.pdfProjektstruktur
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.pyEinrichtung
1. Virtuelle Umgebung erstellen und aktivieren
python -m venv .venv
.venv\Scripts\Activate.ps12. Abhängigkeiten installieren
pip install -r requirements.txt3. Gemini-API-Schlüssel konfigurieren
Erstelle eine .env-Datei im Projektstammverzeichnis:
GEMINI_API_KEY=your_api_key_here.env darf niemals in Git committet werden.
4. Qdrant starten
Das Projekt verwendet lokales Qdrant unter:
http://localhost:6333Beispiel-Docker-Befehl:
docker run -d --name qdrant -p 6333:6333 -p 6334:6334 qdrant/qdrantDokumentenaufnahme
Lege das PDF in den folgenden Ordner:
documents/Führe aus:
python ingest.pyDie Aufnahmepipeline führt Folgendes aus:
PDF
↓
Page extraction
↓
Chunking
↓
Gemini embeddings
↓
Qdrant storageJeder gespeicherte Abschnitt enthält:
text
page
sourceDen MCP-Server ausführen
Starte den MCP Inspector:
mcp dev server.pyDer MCP-Server verwendet STDIO-Transport.
Verfügbare Tools:
search_notes
get_document
list_source_documentsRetrieval-Bewertung
Ein kleiner Evaluierungssatz von fünf Abfragen wurde verwendet, um zu prüfen, ob mindestens eine erwartete relevante Seite unter den drei besten abgerufenen Ergebnissen erschien.
Evaluierungsergebnis:
Tests: 5
Successful hits: 5
Hit@3: 100%Beispiel-Evaluierungsabfragen waren:
Was ist eine komplexe Variable?
Was sind die Cauchy-Riemann-Gleichungen?
Wie hilft die Laplace-Transformation bei technischen Systemen?
Was ist der Unterschied zwischen Laplace- und Fourier-Transformationen?
Wie wird FFT zur Rauschunterdrückung bei Audio verwendet?
Konfidenzfilterung
Das Suchwerkzeug verwendet einen anfänglichen Ähnlichkeitsschwellenwert von:
0.60Beispielsweise erzeugten relevante Abfragen Werte um:
0.79
0.76
0.75während eine nicht verwandte Abfrage Werte um:
0.52Daher werden Ergebnisse mit niedriger Punktzahl herausgefiltert und das Tool gibt Folgendes zurück:
No confident match found.Technologien
Python
FastMCP
Model Context Protocol (MCP)
Google Gemini Embeddings
Qdrant
PyMuPDF
LangChain Text Splitters
Docker
MCP Inspector
Aktuelle Wissensquelle
Das aktuelle Demonstrationskorpus ist:
Complex_Variables_Project_Report.pdfDas Dokument enthält 7 Seiten und wurde in 30 Abschnitte für die indizierte Sammlung personal_knowledge aufgeteilt.
Sicherheit
API-Schlüssel werden in
.envgespeichert.envwird über.gitignoreausgeschlossenGeheimnisse sollten niemals in die Versionskontrolle committet werden
Zukünftige Verbesserungen
Unterstützung für Markdown- und TXT-Dokumente
Hinzufügen persistenter IDs auf Dokumentebene
Verbesserung der Behandlung doppelter Abschnitte
Erweitern des Evaluierungsdatensatzes
Hinzufügen weiterer Retrieval-Metriken
Unterstützung mehrerer Dokumentsammlungen
Hinzufügen optionaler Qdrant-Cloud-Bereitstellung
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