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: 最適化・テスト

  • セマンティック検索最適化
  • パフォーマンスチューニング
  • 統合テストと検証

成功基準

  1. ✅ Claude DesktopからMory MCPサーバーに接続可能
  2. ✅ 全MCPツールが正常動作
  3. ✅ Obsidian統合機能が期待通り動作
  4. ✅ 検索レスポンス時間 50ms以下達成
  5. ✅ 既存データの完全な利用可能性

依存関係

  • 前提: Issue #89 (データ移行) 完了
  • ブロッカー: なし
  • 後続: Phase 3 (Web UI実装)

🤖 Generated with Claude Code

Comments

コメント機能は現在実装されていません。
GitHub API の comments エンドポイントを統合する予定です。

🤖 AI分析

分類結果

✨ 新機能
🟠 高
76 スコア
カテゴリ 40
優先度 36
0

適用されたルール

Enhanced Feature Request Detection
• Has matching label: "enhancement"
Enhanced Performance Detection
• Title contains keyword: "fast"• Body contains keyword: "fast"
fastfastmemory

Details

Assignees:

None

Milestone:

None

Created:

2025/8/2

Updated:

2025/8/2