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_matchFastAPI製のマルチユーザーWebデモ(サインアップ/ログイン、アップロード、検索を行う)
手作業でラベル付けした検索評価スクリプト
アーキテクチャ
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.exampleから.envを作成します。
QDRANT_URL=https://YOUR-CLUSTER.qdrant.io
QDRANT_API_KEY=YOUR_KEY3. 実際のコーパスを追加する
自分の学期のノートを2〜5つcorpus/に配置し、次のコマンドを実行します:
python ingest.py --user demo --path corpus4. Webデモを実行する
uvicorn api:app --reloadhttp://127.0.0.1:8000 をブラウザで開きます。
5. MCPサーバーを実行する
python server.pyClaude Desktopで使用する場合は、server.pyの絶対パスと、仮想環境と同じPythonインタプリタを使います。MCP設定にサーバーの起動コマンドを追加します。
設定例:
{
"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最終的なREADMEには、実際に計測したPrecision@kを記載してください。数値を捏造してはいけません。
デモ
5分間のライブデモの流れは demo_script.md を参照してください。
技術スタック
Python · FastAPI · Qdrant Cloud · Sentence Transformers · FastAPI · SQLite · PDF/Markdown/TXT
なぜこれが有用なのか
MCP層はプロトコルレベルのサーバーです。同じ検索機能を独自のチャットボットUIに閉じ込めず、Claude Desktopや他のMCP互換クライアントから直接呼び出すことができます。
制限事項
これはフェローシップ/デモ用の実装です。認証は意図的にシンプルにされています。本番運用では、セキュアなセッション、パスワードのハッシュ化、認可ミドルウェア、レート制限、暗号化ストレージ、そしてより強いテナント分離を追加してください。
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.
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