knolia-connect-server について
knolia-connect-serverは、恋愛や心のつながりを求める人をマッチングするMCPサーバーです。ユーザープロフィールをベクトル化して意味的な類似度で候補を順位付けし、スコアや共通する性格タグで推薦理由を示します。
主な機能
- 01コネクションプロフィールの作成・更新・削除
- 02プロフィールのベクトル化
- 03コサイン類似度によるマッチ検索
- 04類似度スコアと共通タグの提示
活用シーン
- 01目標や価値観の合う相手探し
- 02相手が推薦された理由の確認
MCP 対応
プロフィールの作成、更新、削除、マッチ検索、マッチ理由の説明を行うFastMCPツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
knolia-connect-server
AI によるベクトルマッチングを使用して、ユーザーを恋愛関係や感情的なつながりに適した相手と結び付ける MCP サーバーです。
概要
Knolia Connect MCP サーバーは、有意義な関係を求めるユーザーのために、深く、コンテキストを考慮したマッチングを実現します。FastMCP を使用して構築され、pgvector を備えた Supabase をバックエンドとして利用しています。ユーザーは詳細なつながりプロフィールを作成でき、そのプロフィールは OpenAI のモデルを使用して埋め込み表現に変換され、他のユーザーと意味的に照合されます。
このサービスは、意図を持った質の高い関係を育むことで、ユーザーが孤独や感情的な孤立に立ち向かえるよう支援するという、Knolia の使命の一環です。
主なコンポーネント
📌 つながりプロフィール
Knolia Connect の利用を希望するユーザーは、目標、性格、好み、価値観を記録した構造化プロフィールを作成します。このプロフィールは 1536 次元のベクトルに変換され、類似度に基づく高速なマッチングのために保存されます。
ユーザーのつながりプロフィールの例
{
"user_id": "521cb145-d40a-4e8b-92a3-7e3cf03f7c00",
"relationship_goals": "Looking to build a deep emotional connection with someone who shares my values and growth mindset.",
"personality_tags": ["introverted", "empathetic", "spiritual"],
"sexual_preferences": {
"gender": "female",
"preference": "heterosexual"
},
"location": "Honolulu, HI",
"embedded_vector": [/* 1536-dim embedding */],
"opted_in": true,
"created_at": "2025-05-03T09:30:00Z",
"updated_at": "2025-05-03T09:30:00Z"
}
🧠 埋め込み形式
保存する前に、意味をより適切に理解できるよう、すべてのプロフィールデータを自然言語に変換します。
埋め込みに変換されたつながりプロフィールの例
Relationship Goals:
Looking to build a deep emotional connection with someone who shares my values and growth mindset.
Personality Tags:
introverted, empathetic, spiritual
Sexual Preferences:
Gender: female
Orientation: heterosexual
Location:
Honolulu, HI
エンドポイント(FastMCP ツール経由)
create_profileupdate_profiledelete_profilefind_matchesexplain_match
マッチングロジック
他のすべての埋め込み済みつながりプロフィールを取得し、リクエストしたユーザーと他のユーザーのコサイン類似度を計算することで、マッチング相手を見つけます。類似度スコアで候補を絞り込み、並べ替えて、最も相性のよい相手を見つけます。
説明可能なマッチング
explain_match エンドポイントは、2 人のユーザー間の類似度スコアと、共通する性格タグを返します。これにより、候補者が提案された理由をより明確に理解できます。
ローカル開発
pip install -r requirements.txt
python connect_mcp_server/main.py
Uvicorn でローカル実行
python -m uvicorn connect_mcp_server.main:mcp --reload
Docker
docker build -t connect-mcp .
docker run -p 8002:8000 --env-file .env connect-mcp
テスト
テストを実行します:
pytest
Knolia での使用方法
ユーザーが関係性の探索を希望すると、Knolia のオーケストレーターである Noelle が Connect フローを開始します。利用を開始すると、プロフィールが埋め込み表現に変換され、マッチング可能な他のユーザーと照合されます。その後、Noelle はマッチング相手を紹介し、引き合わせを始め、会話を促進できます。
成長、仲間とのつながり、愛を求める人々に有意義なつながりをもたらすため、Knolia プラットフォームの一環として構築されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。