Issue #95: Phase 2: Python FastAPIサーバーのMCP対応とObsidian統合実装
Opened 2025/8/2 by @nyasuto Open
enhancement priority: high
Description
概要
Issue #85 の Phase 2 実装: 既存のFastAPIサーバーにMCP (Model Context Protocol) 対応とObsidian統合機能を追加
背景
- ✅ Phase 1完了: データ移行とベースサーバー実装済み
- 🎯 現在: Claude DesktopからMCP経由でアクセスするための機能が不足
- 📊 データ: 67件のメモリデータ移行済み、サーバー稼働中
実装要件
🔌 MCP (Model Context Protocol) 対応
FastAPIサーバーにMCP機能を追加し、Claude Desktopから利用可能にする
必要なMCPツール実装
# 既存Go CLI版のMCPツールをPython FastAPI版に移植
1. save_memory # メモリ保存
2. get_memory # メモリ取得
3. list_memories # メモリ一覧
4. search_memories # セマンティック検索
5. obsidian_import # Obsidianヴォルト取り込み
6. generate_obsidian_note # Obsidianノート生成
📝 Obsidian統合機能
現在のGo CLI版の機能をPython版に移植
実装機能
- Obsidianヴォルトの監視とインポート
- ノート生成(テンプレート機能)
- ファイルシステム直接アクセス
- リアルタイム同期
🔍 検索・AI機能強化
ハイブリッド検索
- FTS5 + セマンティック検索の統合
- OpenAI embeddings最適化
- レスポンス性能向上(目標: 50ms以下)
AI機能
- 関連メモリ推薦
- セマンティック分類
- 自動タグ付け
技術仕様
MCPサーバー実装
# app/mcp_server.py
from mcp import McpServer
from app.core.memory import MemoryService
class MoryMcpServer(McpServer):
def __init__(self):
self.memory_service = MemoryService()
async def save_memory(self, category: str, key: str, value: str, tags: List[str]):
"""メモリ保存MCP tool"""
return await self.memory_service.save(category, key, value, tags)
Obsidian統合
# app/integrations/obsidian.py
class ObsidianIntegration:
def __init__(self, vault_path: str):
self.vault_path = Path(vault_path)
async def import_vault(self) -> ImportResult:
"""ヴォルト全体の取り込み"""
async def generate_note(self, template: str, context: Dict) -> str:
"""ノート生成"""
実装計画
Week 1-2: MCP基盤
- FastAPIアプリにMCP機能追加
- 基本MCPツール実装 (save/get/list/search)
- Claude Desktop接続テスト
Week 3: Obsidian統合
- Obsidianヴォルト読み込み機能
- ファイル監視とリアルタイム同期
- ノート生成機能
Week 4: 最適化・テスト
- セマンティック検索最適化
- パフォーマンスチューニング
- 統合テストと検証
成功基準
- ✅ Claude DesktopからMory MCPサーバーに接続可能
- ✅ 全MCPツールが正常動作
- ✅ Obsidian統合機能が期待通り動作
- ✅ 検索レスポンス時間 50ms以下達成
- ✅ 既存データの完全な利用可能性
依存関係
- 前提: Issue #89 (データ移行) 完了
- ブロッカー: なし
- 後続: Phase 3 (Web UI実装)
🤖 Generated with Claude Code
Comments
コメント機能は現在実装されていません。
GitHub API の comments エンドポイントを統合する予定です。
🤖 AI分析
分類結果
✨ 新機能
64%
🟠 高
72%
76 スコア
カテゴリ 40
優先度 36
0 適用されたルール
Enhanced Feature Request Detection
64%
• Has matching label: "enhancement"
Enhanced Performance Detection
56%
• Title contains keyword: "fast"• Body contains keyword: "fast"
fastfastmemory
Details
Assignees:
None
Milestone:
None
Created:
2025/8/2
Updated:
2025/8/2