Mnemosyne
Mnemosyne 🧠
本番環境対応・ローカルファーストの階層型メモリエンジン。自律型AIエージェント向け。
Mnemosyne は、AIエージェント(Hermes、OpenClaw、OpenManus、Claude Desktop、Cursor、Windsurf、CrewAI、LangChain)に、永続的で構造化された長期記憶を提供します。人間が読める Obsidian Markdown Vault と、高速な PostgreSQL + pgvector (HNSW) または設定不要の SQLite を橋渡しし、ハイブリッド Reciprocal Rank Fusion (RRF) 検索、wikilink ナレッジグラフ、エビングハウス時間減衰、クロスエージェントフリート共有、非同期 Google Drive クラウド同期を実現します。
📑 目次
Related MCP server: Synapto
⚡ 完全機能マトリクス
機能 | 説明 | 利点 | ||
🤖 MCP ネイティブ (v2024-11-05) | 標準化された stdio JSON-RPC プロトコルサーバー | Claude、Cursor、Windsurf、Hermes、OpenClaw へのシームレスなドロップイン | ||
🔎 高再現率 HNSW ベクトル検索 |
| クラスタリング再学習なしでサブミリ秒のベクトル再現 | ||
⚖️ ハイブリッド RRF 検索 | 高密度埋め込み (1.0) + GIN FTS (0.8) + グラフ (0.6) + 顕著性 (0.2) の Reciprocal Rank Fusion | 正確な技術キーワード(CVE、コードトークン)と曖昧な意味論の両方を捕捉 | ||
🏛️ Wing & Room スコープ | 2レベル分類( | コンテキストウィンドウの肥大化とクロスドメイン幻覚を排除 | ||
🌐 クロスエージェント共有メモリ | 資格情報スクリーニング付きでマルチエージェントフリート全体からクエリ可能な中央 | プライベートデータベースを損なわずにフリート全体の集合知を実現 | ||
☁️ 非同期 Google Drive 同期 | MD5 差分検出と | ローカルでサブミリ秒のエージェント I/O + 自動クラウドバックアップとチーム共有 | ||
⏳ エビングハウス時間減衰 | 指数減衰 $Salience_t = Salience_0 \times (0.95)^{\Delta t}$ と90日後の自動アーカイブ | アクティブな記憶を鮮明に保ちながら一時的なノイズを自動的に刈り取る | ||
📌 ピン留めメモリ免疫 |
| 基盤となる指示とコアルールが決して薄れないことを保証 | ||
📖 Obsidian Zettelkasten | YAML frontmatter と | Obsidian での直接の視覚的検査、編集、グラフ可視化 | ||
📜 ターン認識取り込み | ターン境界に沿った 200 文字オーバーラップの 1,500 文字スライディングウィンドウチャンク化 | コードブロックを壊さずに会話履歴全体を保持 | ||
🛡️ プロンプトインジェクション対策 | 散文内の制御トークン(`< | im_start | > | メモリポイズニングとコンテキストハイジャック攻撃を防止 |
⚡ FastEmbed ONNX サポート | 超軽量 ONNX ランタイム埋め込みエンジン(約30MB RAM) | 重い PyTorch | ||
🔄 設定不要 SQLite フォールバック | PostgreSQL がオフラインの場合にローカル SQLite へ自動フォールバック | スタンドアロン開発ワークステーション向けに100%機能パリティを実現 |
🏗️ システムアーキテクチャ
┌──────────────────────────────────────────────┐
│ AI Agents & LLM Frameworks │
│ Hermes • OpenClaw • Claude • Cursor • Manus │
└──────────────────────┬───────────────────────┘
│ JSON-RPC (stdio) / Python SDK
▼
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Mnemosyne Core (v3.4.0) │
│ │
│ ┌─────────────────────────┐ ┌─────────────────────────┐ ┌─────────────────────────────────────────────┐ │
│ │ Admission & Security │ │ Multi-Backend Embedder │ │ Turn-Aware Session Ingestor │ │
│ │ - Secret Regex Guard │ │ - FastEmbed (ONNX 30MB) │ │ - Turn boundary splitting │ │
│ │ - Injection Neutralizer │ │ - Remote Microservice │ │ - 1500-char linear sliding window │ │
│ │ - Path Traversal Guard │ │ - SentenceTransformers │ │ - Sequential [[Wiki Link]] chaining │ │
│ └─────────────────────────┘ └─────────────────────────┘ └─────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ Hybrid RRF Retrieval & Graph Ranker │ │
│ │ RRF Score = 1.0 * Dense(HNSW) + 0.8 * Keyword(FTS) + 0.6 * Graph + 0.2 * Salience │ │
│ └───────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
└───────────────────────────────────────┬───────────────────────────────────────┬─────────────────────────────┘
│ │
┌───────────────────────┴───────────────────────┐ │
▼ ▼ ▼
┌─────────────────────────────┐ ┌─────────────────────────────────────────────┐
│ PostgreSQL + pgvector │ │ Obsidian Markdown Vault (Local) │
│ - HNSW vector_cosine_ops │ │ - Human-Readable Markdown + YAML Frontmatter │
│ - GIN tsvector English FTS │ │ - [[Wikilink]] Knowledge Graph Visualizer │
│ - Self-Healing DB Pool │ │ - Atomic Writes with EXDEV Fallback │
│ - Private DB + shared_db │ └──────────────────────┬──────────────────────┘
└─────────────────────────────┘ │ Async Background Sync
▼
┌─────────────────────────────────────────────┐
│ Google Drive Cloud │
│ - Service Account / OAuth2 Authentication │
│ - MD5 Checksum Verification │
│ - Sibling .conflict-TIMESTAMP.md Resolution │
└─────────────────────────────────────────────┘🧠 主要機能の詳細解説
1. 階層型 Wing & Room 分類
メモリの相互汚染は、マルチエージェントフリートにおける主要な障害モードです。Mnemosyne はメモリを2レベルの物理的な宮殿として構造化します:
wing(ドメイン/プロジェクト): 最上位のドメイン境界(例:ecommerce、pentest、devops、shared)。room(トピック/チャンネル): 詳細なトピックパーティション(例:database、firewall、stripe_api)。
クエリは特定の wing または room に厳密にスコープでき、マーケティングプロンプトがペネトレーションテストの結果を呼び出してしまうことを防ぎます。
2. ハイブリッド Reciprocal Rank Fusion (RRF) 検索
標準的なベクトル検索は、正確な技術文字列(例:CVE-2024-38077、0x7fff5fbff8c0)では失敗し、キーワード検索は意味論的な概念では失敗します。Mnemosyne はマルチ候補検索を実行し、重み付き RRF で結果を統合します:
$$\text{RRF Score}(d) = \sum_{m \in \text{modes}} w_m \cdot \frac{1}{k + \text{rank}_m(d)} + 0.2 \cdot \text{Salience}(d)$$
高密度 HNSW ベクトル検索: 重み $1.0$(384次元埋め込みのコサイン距離)。
PostgreSQL 全文検索: 重み $0.8$(タイトルを
A、コンテンツをBとして重み付けしたtsvector)。再帰的グラフトラバーサル: 重み $0.6$(1ホップおよび2ホップの
[[Wiki Links]]を発見する再帰的 CTE)。メモリ顕著性エンジン: 重み $0.2$($0.0$ から $1.0$ までの重要度スコア)。
3. クロスエージェント共有メモリレイヤー (shared_db)
自律型マルチエージェント環境では、エージェントは状態破損を防ぐために、分離されたプライベートデータベース(toy_db、old_db、candy_db など)を維持します。しかし、集合知にはグローバルポリシーと検証済み事実の共有が必要です。
公開:
memory_publish_sharedを使用して、検証済みノートがshared_dbに公開されます。資格情報スクリーニング: コンテンツは、Anthropic キー(
sk-ant-)、Google Gemini キー(AIza...)、HuggingFace トークン(hf_...)、OpenAI キー(sk-proj-...)、AWS アクセスキー(AKIA...)、Slack トークン(xox-)、秘密鍵に対する厳格な正規表現フィルターでスキャンされます。フェイルソフトな呼び出し: エージェントがメモリをクエリするとき、
memory_recallはプライベートストアとshared_dbの両方をクエリします。共有データベースが一時的に到達不能な場合、エージェントを中断することなくグレースフルに劣化します。
4. エビングハウス時間減衰とピン留め免疫
記憶は時間の経過とともに自然に重要性を失います。Mnemosyne はヘルマン・エビングハウスの指数関数的忘却曲線を実装しています:
$$\text{Salience}(t) = \text{Salience}0 \times (0.95)^{\Delta t{\text{days}}}$$
タッチフィードバック: メモリにアクセスすると
last_accessed_atが更新され、減衰がリセットされます。夜間自動アーカイブ: 統合処理により、$\text{Salience} < 0.05$ かつ $>90\text{ 日}$ アクセスされていないノートが自動的に
status = 'archived'に移行されます。ピン留め免疫: システムルール、コアポリシー、または
pinned=Trueとマークされた、あるいは#pinnedタグが付いたノートは、時間減衰に対して永久的な免疫を受けます($\text{Salience} = 1.0$)。
5. Obsidian Markdown Vault と双方向グラフ
エージェントによって作成されたすべてのメモリは、同時に Obsidian vault 内の人間が読める .md ファイルとして書き出されます:
Zettelkasten Frontmatter:
title、date、tags、type、salience、wing、roomを含みます。ナレッジグラフ:
[[Target Note]]として言及されたターゲットノートは、PostgreSQL 内の双方向エッジに自動的に解析されます。ライブ検査: デスクトップまたはモバイルデバイスで Obsidian を開き、Obsidian のインタラクティブなグラフビューでエージェントフリートの集合メモリを探索できます。
6. ターン認識・逐語セッション取り込み
会話のトランスクリプトには、損失の多い要約では失われる重要なニュアンスが含まれることがよくあります。memory_ingest_session は:
生のトランスクリプトをターン境界(
User:、Assistant:、### Turn、**Human**:)に沿って分割します。1,500 文字を超えるターンには、線形スライディングウィンドウ(200 文字オーバーラップの 1,500 文字)を適用します。
[[Session ... Turn 01 Part 02]]wikilink を使用して連続チャンクをチェーンし、コードブロック、実行トレース、会話の流れを保持します。
7. 非同期 Google Drive クラウド同期
エージェント vault を安全にバックアップし、複数のマシンやモバイルデバイス間で同期します:
ローカルファーストの速度: エージェントのツール呼び出しは、Google Drive のネットワークレイテンシにブロックされることなく、ローカル SSD 速度(<1ms)で実行されます。
バックグラウンドデーモン / Cron 同期: ボールトファイルをスキャンし、MD5 チェックサムを計算し、Google Drive と双方向に差分を同期します。
競合解決: ファイルが Google Drive とローカルのエージェントボールトの両方で同時に変更された場合、Mnemosyne は受信バージョンを
NoteName.conflict-YYYYMMDD-HHMMSS.mdとして保存し、データ損失を防ぎます。認証: Google Cloud サービスアカウント JSON(
GOOGLE_APPLICATION_CREDENTIALS、GDRIVE_SERVICE_ACCOUNT_JSON)と OAuth2 ユーザートークン(GDRIVE_TOKEN_JSON)をサポートします。
8. 柔軟な埋め込みバックエンド(FastEmbed / マイクロサービス / ローカル)
Mnemosyne はあらゆるデプロイ環境のリソース予算に適応します:
FastEmbed ONNX Runtime(スタンドアロンノードに推奨): ONNX Runtime C++ 実行(約30MB RAM)を使用します。PyTorch のオーバーヘッドはゼロです。
集中型マイクロサービス(
mnemosyne.embed_service): sentence-transformers を単一の専用コンテナにホストし、HTTP(MEMORY_EMBED_URL)経由で複数のエージェントコンテナにサービスを提供します。ローカル SentenceTransformers: スタンドアロンの PyTorch 実行(
all-MiniLM-L6-v2、384次元)。決定論的ハッシュフォールバック: 超制約環境向けのゼロ RAM 数学的ベクトルハッシュ。
9. 多層防御セキュリティ&インジェクション装甲
パストラバーサル耐性: 二重解決された正規パスチェック(
is_relative_to)により、ファイル操作がボールトルートから逃げ出せないことを保証します。アトミックな兄弟ファイル書き込み: ファイルは兄弟一時ファイル(
.note.pid.tmp)に書き込まれ、アトミックにリネームされます。EXDEVクロスデバイスボリュームマウントの場合は自動フォールバックがあります。制御トークン無害化: 散文内の LLM インジェクショントークン(
<|im_start|>、<|system|>、[INST]、<<SYS>>)を無害化し、コードブロックは逐語的に保持します。構造化 XML コンテキスト封入: 呼び出されたメモリは
<recalled_memory_context id="..." title="..." source="...">タグでラップされ、内部タグはエスケープされます。これにより、ホスト LLM が呼び出されたメモリをアクティブなシステムディレクティブと混同することがなくなります。
🛠️ MCP ツールリファレンス(8ツール)
全8ツールは、標準の MCP JSON-RPC stdio を介してエージェントにネイティブに公開されます:
1. memory_remember
セマンティック埋め込み、タグ、階層スコープを使用して、ボールトにプライベートメモリノートを保存します。
{
"title": "PostgreSQL HNSW Tuning",
"content": "For datasets >10,000 vectors, use HNSW with m=16 and ef_construction=64 for optimal recall.",
"tags": ["database", "pgvector", "performance"],
"wing": "engineering",
"room": "databases",
"salience": 0.8,
"pinned": true
}2. memory_publish_shared
サニタイズされ検証済みの調査結果またはポリシーを、クロスエージェント共有フリートメモリ(shared_db)に公開します。
{
"title": "Fleet Security Policy: SSL Verification",
"content": "All internal agent HTTP requests must enforce SSL certificate validation.",
"tags": ["security", "policy"],
"wing": "shared",
"room": "general"
}3. memory_recall
ハイブリッド RRF、HNSW ベクトル、キーワード、またはグラフを使用して、プライベートおよび共有フリートデータベース全体でメモリを検索します。
{
"query": "HNSW index configuration parameters",
"mode": "hybrid",
"top_k": 5,
"scope": {
"wing": "engineering",
"room": "databases"
},
"include_shared": true
}4. memory_ingest_session
完全な会話トランスクリプトをターン境界に沿って逐語的に取り込み、チャンク化します。
{
"transcript": "User: How do we configure pgvector?\nAssistant: Use CREATE EXTENSION vector; then create an HNSW index.",
"wing": "engineering",
"room": "sessions"
}5. memory_timeline
最近のメモリ操作(remember、recall、remind、consolidate)を時系列順に検査します。
{
"limit": 20
}6. memory_history
更新前に特定のメモリノートのバージョン履歴と過去の編集スナップショットを表示します。
{
"title": "PostgreSQL HNSW Tuning",
"limit": 5
}7. memory_remind_me
将来のプロスペクティブリマインダーまたは定期タスクをスケジュールします。
{
"title": "Rotate Database Credentials",
"content": "Verify that all 5 agent connection pools are refreshed with new passwords.",
"trigger_at": "2026-09-01T00:00:00Z",
"recurring": "monthly"
}8. memory_audit
リアルタイムのメモリヘルスメトリクス、ストアバックエンドステータス、リクエスト数、アクティブなウィングを取得します。
{}🌐 マルチエージェントフリート本番アーキテクチャ
マルチエージェント本番環境(5エージェントの Hermes フリートなど)では、Mnemosyne は内部 Docker ネットワーク上でエージェントデータベースを分離しつつ、共有インテリジェンスを提供します:
┌─────────────────────────────────────────┐
│ Production VPS (${VPS_HOST}) │
└────────────────────┬────────────────────┘
│
┌───────────────────┬──────────────────┼───────────────────┬──────────────────┐
▼ ▼ ▼ ▼ ▼
┌──────────────────┐┌──────────────────┐┌──────────────────┐┌──────────────────┐┌──────────────────┐
│ hermes-agent ││ hermes-assistant ││ hermes-marketing ││ hermes-pentest ││ hermes-trader │
│ (Toy) ││ (Old) ││ (Candy) ││ (Pencil) ││ (Coin) │
│ Database: ││ Database: ││ Database: ││ Database: ││ Database: │
│ toy_db ││ old_db ││ candy_db ││ pencil_db ││ trader_db │
└────────┬─────────┘└────────┬─────────┘└────────┬─────────┘└────────┬─────────┘└────────┬─────────┘
│ │ │ │ │
└───────────────────┴──────────────────┼───────────────────┴──────────────────┘
│
▼
┌───────────────────────────────────┐
│ PostgreSQL + pgvector (HNSW) │
│ - Private DBs: toy_db, old_db.. │
│ - Shared DB: shared_db │
└───────────────────────────────────┘🚀 クイックスタート&インストール
1. インストール
# Standard installation
pip install mnemosyne-memory
# With Google Drive Cloud Synchronization support
pip install "mnemosyne-memory[gdrive]"
# With lightweight FastEmbed ONNX support (~30MB RAM)
pip install "mnemosyne-memory[fastembed]"
# Full installation (All extras + Dev dependencies)
pip install "mnemosyne-memory[dev,gdrive,fastembed,embed-service]"2. Docker Compose で実行
PostgreSQL + pgvector コンテナを起動します:
docker compose up -d3. MCP サーバーの起動
# Standalone with local SQLite (Zero configuration)
python -m mnemosyne server
# With PostgreSQL + pgvector
MEMORY_DB_DSN="postgresql://mnemosyne:***@localhost:5432/my_agent_db" python -m mnemosyne server🤖 エージェントフレームワーク統合レシピ
1. Claude Desktop(claude_desktop_config.json)
{
"mcpServers": {
"mnemosyne": {
"command": "python3",
"args": ["-m", "mnemosyne", "server"],
"env": {
"MEMORY_VAULT_PATH": "/Users/username/Documents/Obsidian/AgentVault",
"MEMORY_DEFAULT_WING": "claude"
}
}
}
}2. Cursor IDE(.cursor/mcp.json)
{
"mcpServers": {
"mnemosyne": {
"command": "python3",
"args": ["-m", "mnemosyne", "server"],
"env": {
"MEMORY_VAULT_PATH": "./.vault",
"MEMORY_DEFAULT_WING": "codebase"
}
}
}
}3. Hermes Agent(~/.hermes/config.yaml)
mcp_servers:
obsidian_memory:
command: python3
args: ["-m", "mnemosyne", "server"]
env:
MEMORY_DB_DSN: "postgresql://mnemosyne:***@${DB_HOST}:5432/toy_db"
MEMORY_SHARED_DSN: "postgresql://mnemosyne:***@${DB_HOST}:5432/shared_db"
MEMORY_VAULT_PATH: "/opt/data/vault"4. OpenClaw(openclaw-config.yaml)
plugins:
mcp_servers:
mnemosyne:
command: "python3"
args: ["-m", "mnemosyne", "server"]
env:
MEMORY_VAULT_PATH: "~/.openclaw/vault"
MEMORY_DEFAULT_WING: "openclaw"5. Python SDK &自律エージェントスクリプト
from mnemosyne import UnifiedMemorySystem
mem = UnifiedMemorySystem(
vault_path="~/.agent/vault",
dsn="postgresql://mnemosyne:***@localhost:5432/agent_db",
shared_dsn="postgresql://mnemosyne:***@localhost:5432/shared_db"
)
# Remember fact
mem.remember(
title="Kubernetes Cluster Policy",
content="Deployments in staging must specify resource memory limits.",
wing="infrastructure",
room="k8s",
tags=["kubernetes", "policy"],
pinned=True
)
# Hybrid recall
results = mem.recall(
query="staging memory limits",
mode="hybrid",
scope={"wing": "infrastructure"}
)
for r in results:
print(r["title"], "->", r["formatted_context"])💻 完全な CLI コマンドリファレンス
Mnemosyne にはフル機能の管理 CLI が含まれています:
# 1. Store a memory note
python -m mnemosyne remember "API Architecture" "Uses Bearer JWT auth." --tags security auth --wing backend --room api --salience 0.8 --pinned
# 2. Publish shared fleet memory
python -m mnemosyne publish-shared "Global Production Policy" "Always check SSL certs." --wing devops
# 3. Search memories
python -m mnemosyne recall "JWT authentication" --mode hybrid --top-k 5 --wing backend
# 4. View activity timeline
python -m mnemosyne timeline --limit 20
# 5. Trigger Ebbinghaus decay & link reconciliation
python -m mnemosyne consolidate --decay-rate 0.95 --archive-threshold 0.05
# 6. Check system statistics & health
python -m mnemosyne stats
# 7. Synchronize with Google Drive (One-off pass)
python -m mnemosyne sync-gdrive --folder "My-Agent-Vault" --credentials service-account.json
# 8. Run Google Drive Sync as a background daemon
python -m mnemosyne sync-gdrive --daemon --interval 60
# 9. Run standalone Centralized Embedding Microservice
python -m mnemosyne embed-service --host 0.0.0.0 --port 8000 --model all-MiniLM-L6-v2⚙️ 環境変数リファレンス
変数 | デフォルト | 説明 |
|
| ローカルの Obsidian Markdown ボールトディレクトリへのファイルシステムパス |
| (なし) | PostgreSQL DSN(例: |
| (なし) | オプションのクロスエージェント共有フリートデータベース用の PostgreSQL DSN |
|
| マルチエージェントフリートデプロイにおける発信元エージェントの識別子 |
| (なし) | リモート集中型埋め込みマイクロサービスの URL(例: |
|
| PostgreSQL が失敗した場合に SQLite へフォールバックする代わりにエラーを発生させるには |
| (なし) | Google Drive 同期用の Google Cloud サービスアカウント JSON へのファイルパス |
| (なし) | Google Cloud サービスアカウント認証情報の文字列化された JSON コンテンツ |
| (なし) | 認可された Google OAuth2 ユーザートークンの文字列化された JSON コンテンツ |
|
| stdio JSON-RPC ストリームの整合性を保つため、HuggingFace トークナイザーのフォークを無効化 |
|
| MCP ストリームをクリーンに保つため、stdio のプログレスバーを無効化 |
|
| ローカルキャッシュを使用して SentenceTransformers を100%オフラインで実行するには |
|
| transformers が外部の HuggingFace ネットワークリクエストを行わないようにするには |
🧪 テスト&ベンチマーク
Mnemosyne は包括的なテストスイート(ユニットテスト、セキュリティインジェクションテスト、SQLite テスト、ライブ PostgreSQL pgvector 統合テスト)を維持しています:
# Run all unit tests
pytest tests/ -v -m "not integration"
# Run full test suite including live PostgreSQL + pgvector tests
MEMORY_DB_DSN="postgresql://mnemosyne:***@localhost:5432/test_db" pytest tests/ -v📄 ライセンス
Apache-2.0 ライセンス。オープンな自律エージェントエコシステムのために構築されました。詳細は LICENSE を参照してください。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceGives AI agents persistent memory with semantic search, automatic extraction, and memory decay, accessible via MCP protocol.12MIT
- AlicenseNot gradedqualityAmaintenanceProvides persistent, searchable memory for MCP-compatible agents, enabling recall by meaning, automatic decay, trust scoring, and cross-agent handoffs.5MIT
- AlicenseAqualityDmaintenanceProvides persistent memory with semantic search for MCP-based AI agents, enabling them to store and recall information across sessions using vector embeddings.41MIT
- FlicenseNot gradedqualityBmaintenanceProvides persistent, causal memory for AI agents with semantic recall, causal tracking, and importance-based forgetting through MCP tools.
Related MCP Connectors
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Shared long-term memory vault for AI agents with 20 MCP tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/M4F-S/gomaa'
If you have feedback or need assistance with the MCP directory API, please join our Discord server