Inoyu Apache Unomi MCP サーバー
Claude が Apache Unomi プロファイル管理を通じてユーザー コンテキストを維持できるようにするモデル コンテキスト プロトコル サーバー。
⚠️早期導入のお知らせ
これはデモンストレーションを目的とした初期実装です。
- 実稼働環境での使用は検証されていません
- 変更される可能性があります
- まだ公式にはサポートされていません
- 学習と実験のみに使用
現在のスコープ
この実装では以下が提供されます。
- メールを使用したプロフィールの検索と作成
- プロフィールプロパティ管理
- 基本的なセッション処理
- コンテキスト分離のためのスコープ管理
その他のUnomi機能(イベント、セグメント、セッションプロパティなど)は現在実装されていません。今後の開発の優先順位について、コミュニティからのフィードバックをお待ちしております。
デモ
MCP サーバーによって Claude がコンテキストを維持し、ユーザー プロファイルを管理できるようになる様子をご覧ください。
インストール
Claude Desktop で使用するには、サーバー設定と環境変数を追加します。
MacOS の場合: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows の場合: %APPDATA%/Claude/claude_desktop_config.json
設定ファイルのenv
セクションでは、サーバーに必要な環境変数を設定できます。値を実際のUnomiサーバーの詳細に置き換えてください。
設定を更新した後は、必ずClaude Desktopを再起動してください。その後、チャットウィンドウの右下にあるツールアイコンをクリックして、このサーバーが提供するすべてのツールが認識されていることを確認してください。
特徴
プロフィールアクセス
- 自動作成によるメールベースのプロフィール検索
- プロフィールプロパティ、セグメント、スコアへのアクセス
- すべてのデータ交換にJSON形式を使用する
- 日付ベースのIDによる自動セッション管理
ツール
get_my_profile
- 環境変数を使用してプロファイルを取得する- 環境またはメール検索から UNOMI_PROFILE_ID を使用します
- 現在の日付に基づいてセッションIDを自動的に生成します
- オプションパラメータ:
- requireSegments: セグメント情報を含める
- requireScores: スコア情報を含める
update_my_profile
- プロフィールのプロパティを更新する- 環境またはメール検索から UNOMI_PROFILE_ID を使用します
- 更新するキーと値のペアを持つプロパティオブジェクトを取得します
- 文字列、数値、ブール値、および null 値をサポートします
- 例:
get_profile
- IDで特定のプロファイルを取得する- 必須パラメータとしてprofileIdを取ります
- Unomiから完全なプロフィールデータを返します
search_profiles
- プロフィールを検索する- クエリ文字列とオプションの制限/オフセットパラメータを受け取ります
- firstName、lastName、およびメールフィールドを検索します
create_scope
- 新しいUnomiスコープを作成する- スコープ識別子とオプションの名前/説明を取得します
- イベントの追跡とプロフィールの更新に必要
- 例:
スコープ管理
サーバーはスコープを自動的に管理します。
- デフォルトのスコープ:
- デフォルトのスコープ
claude-desktop
すべての操作に使用されます - 必要に応じて自動的に作成
- プロフィールの更新とイベントの追跡に使用されます
- デフォルトのスコープ
- カスタムスコープ:
create_scope
ツールを使用して作成できます- 異なるアプリケーションやコンテキストを分離するのに便利です
- プロファイル操作で使用する前に存在している必要があります
- 自動スコープ作成:
- サーバーは必要なスコープが存在するかどうかを確認します
- 不足している場合は自動的に作成します
- スコープメタデータに意味のあるデフォルトを使用する
注: スコープは必要に応じて自動的に作成されますが、
create_scope
ツールを使用してカスタム名と説明で手動で作成することもできます。
概要
このMCPサーバーにより、ClaudeはApache Unomiのプロファイル管理システムを通じてユーザーに関するコンテキストを維持できます。これにより、以下のことが可能になります。
主な機能
- ユーザー認識:
- メールまたはプロフィールIDを使用して会話全体でユーザーを識別する
- セッション間で一貫したユーザーコンテキストを維持する
- ユーザープロファイルを自動的に作成および管理する
- コンテキスト管理:
- ユーザー設定を保存および取得する
- 統合機能:
- シームレスなClaudeデスクトップ統合
- 自動セッション管理
- スコープベースのコンテキスト分離
あなたにできること
- 会話全体にわたってユーザーの好みをクロードに記憶させる
- ユーザー固有の情報を保存および取得する
- 一貫したユーザーコンテキストを維持する
- メール識別による複数ユーザー管理
前提条件
- Apache Unomiサーバーの実行
- クロードデスクトップインストール
- Unomiサーバーへのネットワークアクセス
- 適切なセキュリティ構成
- 必要な環境変数
構成
環境変数
サーバーには次の環境変数が必要です。
プロファイル解像度
サーバーは、プロファイル ID を解決するために 2 段階のプロセスを使用します。
- 電子メール検索(
UNOMI_EMAIL
が設定されている場合):- 一致するメールアドレスを持つプロフィールを検索します
- 見つかった場合は、そのプロファイルのIDを使用します
- セッション間で一貫したプロファイルを維持するのに役立ちます
- フォールバックプロファイルID:
- メール検索が失敗した場合、または
UNOMI_EMAIL
設定されていない場合 - 環境の
UNOMI_PROFILE_ID
を使用します - プロファイルが常に利用可能であることを保証する
- メール検索が失敗した場合、または
応答では、 source
フィールドを通じてどのメソッドが使用されたかが示されます。
"email_lookup"
: メールで見つかったプロフィール"environment"
: フォールバックプロファイルIDを使用
Unomiサーバーの構成
etc/org.apache.unomi.cluster.cfg
で保護されたイベントを設定します。- Unomi サーバーの
etc/org.apache.unomi.cors.cfg
で CORS が適切に設定されていることを確認します。 - 変更を適用するにはUnomiサーバーを再起動してください
重要: Unomi キーは、サーバー構成と Claude Desktop の UNOMI_KEY 環境変数の間で完全に一致する必要があります。
構成
環境変数
サーバーには次の環境変数が必要です。
プロファイル解像度
サーバーは、プロファイル ID を解決するために 2 段階のプロセスを使用します。
- 電子メール検索(
UNOMI_EMAIL
が設定されている場合):- 一致するメールアドレスを持つプロフィールを検索します
- 見つかった場合は、そのプロファイルのIDを使用します
- セッション間で一貫したプロファイルを維持するのに役立ちます
- フォールバックプロファイルID:
- メール検索が失敗した場合、または
UNOMI_EMAIL
設定されていない場合 - 環境の
UNOMI_PROFILE_ID
を使用します - プロファイルが常に利用可能であることを保証する
- メール検索が失敗した場合、または
応答では、 source
フィールドを通じてどのメソッドが使用されたかが示されます。
"email_lookup"
: メールで見つかったプロフィール"environment"
: フォールバックプロファイルIDを使用
Unomiサーバーの構成
etc/org.apache.unomi.cluster.cfg
で保護されたイベントを設定します。- Unomi サーバーの
etc/org.apache.unomi.cors.cfg
で CORS が適切に設定されていることを確認します。 - 変更を適用するにはUnomiサーバーを再起動してください
重要: Unomi キーは、サーバー構成と Claude Desktop の UNOMI_KEY 環境変数の間で完全に一致する必要があります。
発達
依存関係をインストールします:
サーバーを構築します。
自動リビルドを使用した開発の場合:
デバッグ
MCPサーバーはstdio経由で通信するため、デバッグが困難になる場合があります。パッケージスクリプトとして提供されているMCP Inspectorの使用をお勧めします。
インスペクターは、ブラウザでデバッグ ツールにアクセスするための URL を提供します。
Claude Desktop のログを tail して、MCP のリクエストと応答を確認することもできます。
セッションIDの形式
get_my_profile
を使用すると、セッション ID は次の形式で自動的に生成されます。
たとえば、プロフィール ID が「user123」で、今日が 2024 年 3 月 15 日の場合、セッション ID は次のようになります。
トラブルシューティング
よくある問題
- 保護されたイベントが失敗する
- 両方の構成でUnomiキーが完全に一致することを確認する
- IPアドレスが正しくホワイトリストに登録されているか確認する
- プロパティを更新する前にスコープが存在することを確認する
- 必要に応じて CORS 構成を確認する
- プロフィールが見つかりません
- UNOMI_EMAILが正しく設定されているか確認してください
- メールの形式が有効であることを確認してください
- Unomiにプロファイルが存在することを確認する
- フォールバックUNOMI_PROFILE_IDが有効かどうかを確認します
- セッションの問題
- セッションは日付ベースであることを覚えておいてください
- 1日に1つのプロファイルにつき1セッションのみ
- セッションIDの形式が
profileId-YYYYMMDD
と一致していることを確認します - セッションのスコープが存在することを確認する
- 接続の問題
- Unomiサーバーが実行中であることを確認する
- ネットワーク接続を確認する
- UNOMI_BASE_URLが正しいことを確認してください
- 認証資格情報を確認する
確認すべきログ
- クロードデスクトップログ:
- Unomi サーバーログ:
クイックフィックス
- リセット状態:
- 構成の確認:
クロードデスクトップの設定オプション
- Claude Desktop 構成を作成または編集します。
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
- MacOS:
- NPX を使用してサーバー構成を追加します。
注: NPX を使用すると、常に最新の公開バージョンのサーバーが実行されるようになります。
あるいは、特定のバージョンを使用する場合は、次のようにします。
開発またはローカルインストールの場合:
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Claude が Apache Unomi プロファイル管理を通じてユーザー コンテキストを維持できるようにするモデル コンテキスト プロトコル サーバー。
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that enables Claude to interact with the ConnectWise Manage API to perform operations like retrieving, creating, updating, and deleting tickets, companies, contacts, and other entities.Last updated -JavaScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that allows Claude to make API requests on your behalf, providing tools for testing various APIs including HTTP requests and OpenAI integrations without sharing your API keys in the chat.Last updated -Python
- -securityAlicense-qualityA Model Context Protocol server that enables seamless execution of commands, Python code, web content fetching, and reusable task management with secure credentials handling.Last updated -2PythonMIT License
- AsecurityAlicenseAqualityA collection of Model Context Protocol servers that enable Claude Desktop to provide development assistance capabilities with filesystem, Git, shell command, and web search functionality without incurring API usage costs.Last updated -219TypeScriptMIT License