mem0 MCP Server for Project Management

by KunihiroS
Verified

Integrations

  • Manages environment variables for the MCP server, allowing secure storage of API keys and configuration settings for the mem0 cloud service.

  • Provides version control capabilities for project management, referenced in the configuration setup for tracking project changes.

  • Supports structured data formatting for project management information using JavaScript object notation, enhancing searchability and organization of project data.

プロジェクト管理用の mem0 MCP サーバー

mem0 MCP サーバーは、MCP ホスト アプリケーションと mem0 クラウド サービス間のブリッジであり、MCP ホスト AI にメモリ機能を提供します。

これは、スコープをコーディングからプロジェクトマネジメントへと変更するためにフォークされたものです。フォークされた内容は、プロジェクトマネジメントのトピックに関連するより高レベルのコンテキストを扱います。

さらに、このフォークは、コーディング形式を人間のプロトコルのような高レベルのコンテキストに実験的に統合します。

特徴

  • 使用範囲を本来のコーディング範囲からプロジェクト管理範囲に変更するためにフォークしました。
  • プロジェクトメモリの保存と検索
  • 関連するプロジェクト情報を見つけるためのセマンティック検索
  • 構造化されたプロジェクト管理データ処理

インストールと使用方法

前提条件と要件

  • Python 12.0以降
  • mcp-proxy (Cline または Roo コードの場合)

詳細

  1. リポジトリをクローンして移動します。
  2. uvを使用して仮想環境をセットアップします。
uv venv --python 3.12
  1. uvを使用して仮想環境をアクティブ化します。
source .venv/bin/activate
  1. uvを使用して依存関係をインストールします。
# Install in editable mode from pyproject.toml uv pip install -e .
  1. リポジトリのルートに .gitignore を作成します。
touch .gitignore
  1. .gitignore を更新する
# Python __pycache__/ *.py[cod] *.egg-info/ # Environment variables .env # Egg info mem0_mcp.egg-info/
  1. リポジトリのルートに .env を作成します。
touch .env
  1. .env を更新する
MEM0_API_KEY={your API Key}
  1. 以下のOSSをクローンしてインストールします。

https://github.com/sparfenyuk/mcp-proxy

  1. MCP サーバー設定を追加します。
  • クライン
"mem0": { "command": "PATH_TO/mcp-proxy", # ex: /home/{user}/.local/bin/mcp-proxy "args": [ "http://127.0.0.1:6789/sse" # configure port as you need ] }
  1. MCP サーバーを起動します (アクティブ化された仮想環境が必要です)
python main.py --host 127.0.0.1 --port 6789
  1. MCPホスト(Clineなど)で機能を確認する
Hey, can you get all memories on mem0?

手術

  • MCP サーバーが高速に実行されるようにします。
  • スクリプト.bashrcを追加するなど、サーバーを自動実行する方法がいくつかあります。
  • ご使用の環境に合わせて自動設定すると使いやすくなります。

利用可能なツール

  • add_project_memory: 新しいプロジェクト管理情報を追加する
  • get_all_project_memories: 保存されているすべてのプロジェクト情報を取得する
  • search_project_memories: 特定のプロジェクト情報を検索する

技術的な詳細

このフォークのユニークな点は、MCPホストとmem0間の構造化フォーマットが、JavaScriptオブジェクトのようなコーディング形式で期待されることです。より適切に処理できるように、カスタム命令を設定してください。

カスタム指示

mem0 をプロジェクト管理の目的に合うように動作させるために、このフォークには AI に関する次の指示があります。

mem0の場合

  • ソースコードを確認してください。

MCPホストの場合

  • 以下は単なるサンプルです、ご自身でベストなものを見つけてください!!

mem0 効果的なプロジェクトメモリのためのガイド(拡張版)

このガイドでは、mem0を用いてプロジェクト情報を効果的に管理するための戦略とテンプレートについて概説します。構造化されたテンプレートとメタデータ管理を通じて、プロジェクトデータの検索性と再利用性を向上させることを目的としています。

情報構造とテンプレート

mem0 は以下の種類の情報を効果的に管理できます。構造化されたテンプレートを使用すると、検索性と再利用性が向上します。提供されているテンプレートはサンプルであり、特定のプロジェクトのニーズに合わせて調整する必要があることに注意してください。

1. プロジェクトステータス管理

テンプレート

// [PROJECT: project-name] [TIMESTAMP: yyyy-MM-ddTHH:mm:ss+09:00] [TYPE: Project Status] const projectStatus = { overview: { name: "Project Name", // Required purpose: "Project Purpose", // Required version: "1.2.0", // Optional phase: "development" // Optional }, progress: { completionLevel: 0.65, // Completion rate (value between 0 and 1) milestones: [ { name: "Planning Phase", status: "completed", date: "2025-02-15" }, { name: "Development Phase", status: "in-progress", progress: 0.70 } ] }, currentFocus: ["Implementing Feature X", "Optimizing Component Y"], risks: ["Concerns about API stability", "Resource shortage"] };

2. タスク管理

テンプレート

// [PROJECT: project-name] [TIMESTAMP: yyyy-MM-ddTHH:mm:ss+09:00] [TYPE: Task Management] const taskManagement = { highPriority: [ { description: "Implement Feature X", // Required status: "in-progress", // Required deadline: "2025-03-15", // Optional assignee: "Team A", // Optional dependencies: "Component Y" // Optional } ], mediumPriority: [], completedTasks: [ { description: "Setup Development Environment", status: "completed" } ] };

3. 会議概要

テンプレート

// [PROJECT: project-name] [TIMESTAMP: yyyy-MM-ddTHH:mm:ss+09:00] [TYPE: Meeting Summary] const meetingMinutes = { title: "Weekly Progress Meeting", date: "2025-03-23", attendees: [ { department: "Development", members: ["Sato", "Suzuki"] }, { department: "Design", members: ["Tanaka"] } ], topics: ["Progress Report", "Risk Management", "Next Week's Plan"], decisions: [ "Approve additional resource allocation", "Delay release date by one week" ], actionItems: [ { description: "Procedure for adding resources", assignee: "Sato", dueDate: "2025-03-25" }, { description: "Revise test plan", assignee: "Suzuki", dueDate: "2025-03-24" } ] };

効果的な情報管理技術

1. コンテキスト管理(run_id)

mem0のrun_idパラメータを使用すると、関連する情報を論理的にグループ化できます。これにより、特定の会話フローやプロジェクトのコンテキストを維持するのに役立ちます。

推奨フォーマット:

project:project-name:category:subcategory

使用例

// Managing information related to a specific feature add_project_memory( "// [PROJECT: Member System] [TYPE: Technical Specification]\nconst authSpec = {...};", run_id="project:member-system:feature:authentication", metadata={"type": "specification"} ); // Adding a task for the same feature add_project_memory( "// [PROJECT: Member System] [TYPE: Task Management]\nconst authTasks = {...};", run_id="project:member-system:feature:authentication", metadata={"type": "task"} ); // Searching for related information search_project_memories("authentication", { "run_id": "project:member-system:feature:authentication" });

2. メタデータの効果的な活用

メタデータを使用すると、情報の検索性が向上します。以下のスキーマの使用をお勧めします。

{ "type": "meeting|task|decision|status|risk", // Type of information "priority": "high|medium|low", // Priority "tags": ["frontend", "backend", "design"], // Related tags "status": "pending|in-progress|completed" // Status }

使用例

// Registering a high-priority task add_project_memory( "// [PROJECT: Member System] [TYPE: Task Management]\nconst task = {...};", metadata={ "type": "task", "priority": "high", "tags": ["frontend", "authentication"] } ); // Searching for tasks with a specific tag search_project_memories("task", { "metadata": { "tags": ["frontend"] } });

3. 情報ライフサイクル管理

immutableおよびexpiration_dateパラメータを使用して、情報のライフサイクルを管理できます。

使用例

// Recording an immutable decision add_project_memory( "// [PROJECT: Member System] [TYPE: Decision Record]\nconst decision = {...};", immutable=True, // Set as immutable metadata={"type": "decision"} ); // Information with an expiration date add_project_memory( "// [PROJECT: Member System] [TYPE: Meeting Summary]\nconst meeting = {...};", expiration_date="2025-06-30", // Expires on this date metadata={"type": "meeting"} );

実用的な使用パターン

1. スプリント管理の例

// Registering the sprint plan at the start add_project_memory( "// [PROJECT: Member System] [TIMESTAMP: 2025-05-01T10:00:00+09:00] [TYPE: Project Status]\n" + "const sprintPlan = {\n" + " sprint: \"Sprint-2025-05\",\n" + " duration: \"2 weeks\",\n" + " goals: [\"Implement authentication feature\", \"Improve UI\"],\n" + " tasks: [\n" + " { description: \"Implement login screen\", assignee: \"Tanaka\", estimate: \"3 days\" },\n" + " { description: \"API integration\", assignee: \"Sato\", estimate: \"2 days\" }\n" + " ]\n" + "};", run_id="project:member-system:sprint:2025-05", metadata={"type": "status", "tags": ["sprint-planning"]} ); // Mid-sprint progress report add_project_memory( "// [PROJECT: Member System] [TIMESTAMP: 2025-05-08T15:00:00+09:00] [TYPE: Project Status]\n" + "const progress = {\n" + " sprint: \"Sprint-2025-05\",\n" + " completionLevel: 0.4,\n" + " status: [\n" + " { task: \"Implement login screen\", progress: 0.7, status: \"in-progress\" },\n" + " { task: \"API integration\", progress: 0.2, status: \"in-progress\" }\n" + " ],\n" + " blockers: [\"Change in API response specification\"]\n" + "};", run_id="project:member-system:sprint:2025-05", metadata={"type": "status", "tags": ["sprint-progress"]} );

2. リスク管理の例

// Registering a risk add_project_memory( "// [PROJECT: Member System] [TIMESTAMP: 2025-05-03T11:00:00+09:00] [TYPE: Risk Assessment]\n" + "const risk = {\n" + " description: \"Concerns about external API stability\",\n" + " impact: \"High\",\n" + " probability: \"Medium\",\n" + " mitigation: \"Implement fallback mechanism\",\n" + " owner: \"Development Lead\"\n" + "};", run_id="project:member-system:risk:api-stability", metadata={"type": "risk", "priority": "high"} ); // Updating the risk status add_project_memory( "// [PROJECT: Member System] [TIMESTAMP: 2025-05-10T16:30:00+09:00] [TYPE: Risk Assessment]\n" + "const riskUpdate = {\n" + " description: \"Concerns about external API stability\",\n" + " status: \"Resolved\",\n" + " resolution: \"Fallback mechanism implementation completed\"\n" + "};", run_id="project:member-system:risk:api-stability", metadata={"type": "risk", "priority": "medium"} );

重要なポイント

  • 標準メタデータ: プロジェクト名とタイムスタンプを常に含めます。
  • データ形式: 構造化データ (JavaScript オブジェクト、JSON、YAML) を使用します。
  • コンテキスト管理: 情報の関連性を維持するために、 run_id階層的に使用します。
  • 検索効率: 一貫したメタデータと構造により、検索効率が向上します。

4. 実施戦略

上記の改善を実装するには、次の手順をお勧めします。

  1. add_project_memoryメソッドを強化します
    • ドキュメント文字列を更新: 使用例とパラメータの説明を改善します。
    • エラー処理: より詳細なエラー情報を提供します。
    • 応答形式: 使用されるパラメータを明示的に指定します。
  2. カスタム手順の更新:
    • テンプレートの例を充実させます。
    • run_idの推奨される使用方法を明確にします (階層構造を導入します)。
    • メタデータ スキーマを標準化します。
    • 実際の使用例を示します。

これらの改善により、既存の API との互換性を維持しながら、情報管理の使いやすさと効率性が向上します。

5. まとめ

提案された改善は、既存の mem0 MCP サーバー機能との互換性を維持しながら、次の点で価値を提供します。

  1. 強化された構造化情報管理: テンプレートと標準化されたメタデータにより、一貫した情報構造が促進されます。
  2. コンテキスト管理の改善: run_id階層的に使用することで、関連情報の管理が容易になります。
  3. 使いやすさの向上: 詳細なドキュメントと実用的な例により、学習曲線が短縮されます。

これらの機能強化により、プロジェクト管理ツールとしての mem0 MCP サーバーの有効性がさらに高まります。

-
security - not tested
F
license - not found
-
quality - not tested

MCP ホスト アプリケーションと mem0 クラウド サービス間のブリッジであり、構造化された形式でプロジェクト情報を保存、取得、検索する機能を備えたプロジェクト管理に特化しています。

  1. Features
    1. Installation and usage
      1. Pre-condition and requirement
      2. Details
    2. Operation
      1. Available Tools
        1. Technical details
          1. Custom instruction
            1. For mem0
            2. For MCP Host
          2. mem0 Guide for Effective Project Memory (Enhanced)
            1. Information Structure and Templates
            2. Effective Information Management Techniques
            3. Practical Usage Patterns
            4. Important Points
            5. 4. Implementation Strategy
            6. 5. Summary
          ID: ii5u2sijvv