mcpField
C
Connapse

Connapse

ローカル
github.com/Destrayonメモリ・ナレッジ20今日更新

Connapse について

Connapse はセルフホスト可能なナレッジバックエンドで、AI エージェントに永続的で検索可能なメモリを提供します。アップロードした文書や、既存の S3 バケット・ローカルファイルシステムを対象にでき、MCP ツール、REST API、コマンドラインから利用できます。プロジェクトごとに分離された知識ベースを必要とするチーム向けです。

主な機能

  1. 01ベクター検索とキーワード検索のハイブリッド検索
  2. 02コンテナ単位で分離された知識と検索設定
  3. 03S3、MinIO、ローカルファイルシステムへのコネクタ
  4. 04埋め込みとチャンク分割の実行時設定変更
  5. 05MCP、REST API、コマンドライン、Web UI による利用
  6. 06ロールベースのアクセス制御と監査ログ

活用シーン

  1. 01セッションをまたいで研究メモを保持する
  2. 02エージェントに文書コーパスを構築させ検索させる
  3. 03既存の S3 やローカルフォルダを再アップロードせずに索引化する

MCP 対応

MCP サーバーを内蔵しており、コンテナ管理、ファイルのアップロードと削除、ファイル一覧、ドキュメント取得、search_knowledge による検索など 11 のツールをクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"destrayon-connapse": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/destrayon/connapse:v0.3.2"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/destrayon/connapse:v0.3.2

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/destrayon/connapse:v0.3.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Connapse のロゴ

AI セッション間でコンテキストを失わないようにしましょう。エージェントに、永続的で検索可能なメモリを与えます。

ライセンス:MIT .NET ビルド テスト PR を歓迎 GitHub の課題 GitHub のスター Connapse MCP サーバー Docker

Connapse のデモ — PDF をアップロードし、ベクトル検索とキーワード検索を組み合わせて検索して、出典を引用した結果を数秒で取得

AI エージェントはセッション間ですべてを忘れてしまいます。Connapse がそれを解決します。

新しい会話を始めるたびに、AI エージェントはゼロから始まります。過去の調査を覚えておらず、ドキュメントにもアクセスできず、蓄積された知識もありません。Connapse は、エージェントに永続的で検索可能なメモリを提供するオープンソースのナレッジバックエンドです。ドキュメントをアップロードするか、既存の Amazon S3 バケットやローカルファイルシステムを指定してください。エージェントは、11 個の MCP ツール、REST API、または CLI を使って、独自の調査コーパスを検索し、構築します。コンテナで分離され、ハイブリッド検索(ベクトル+キーワード)に対応し、セルフホスト可能でプライベートです。Docker を使えば 60 秒でデプロイできます。.NET 10 を基盤として構築されています。

🤖 AI エージェント連携 — Claude が MCP 経由でナレッジベースを検索し、構築します

MCP サーバー経由で Connapse のナレッジベースを検索する Claude — マイクロサービスでの連鎖障害を防ぐ方法を質問し、distributed-systems-notes.md を出典として、サーキットブレーカーパターンの詳細を含む構造化された回答を取得

AI エージェントは MCP サーバーを通じてナレッジベースを検索し、ドキュメントを出典として引用した構造化された回答を受け取ります。

🎛️ 知識を、思いどおりに — 再起動せずに実行時設定を変更

Connapse の設定パネル — 再起動せずに実行時に埋め込みプロバイダーを切り替え、チャンク分割パラメーターを調整し、検索設定を構成

埋め込みプロバイダーの切り替え、チャンク分割パラメーターの調整、検索の構成を、すべて再起動せずに実行時に行えます。


📦 クイックスタート

git clone https://github.com/Destrayon/Connapse.git && cd Connapse && docker-compose up -d
# Open http://localhost:5001
前提条件
Docker Compose で実行する
# Clone the repository
git clone https://github.com/Destrayon/Connapse.git
cd Connapse

# Set required auth environment variables (or use a .env file)
export [email protected]
export CONNAPSE_ADMIN_PASSWORD=YourSecurePassword123!
export Identity__Jwt__Secret=$(openssl rand -base64 64)

# Start all services (PostgreSQL, MinIO, Web App)
docker-compose up -d

# Open http://localhost:5001 — log in with the admin credentials above

初回実行時には、次の処理が行われます。

  1. Docker イメージをプルします(約2~5分)
  2. pgvector 拡張機能を使用して PostgreSQL を初期化し、EF Core のマイグレーションを実行します
  3. MinIO バケットを作成します
  4. 管理者アカウントを(環境変数から)シードし、ウェブアプリケーションを起動します
開発環境のセットアップ
# Start infrastructure only (database + object storage)
docker-compose up -d postgres minio

# Run the web app locally
dotnet run --project src/Connapse.Web

# Run all tests
dotnet test

# Run just unit tests
dotnet test --filter "Category=Unit"
コマンドラインクライアント

connapse CLI は Destrayon/connapse-cli で別途公開されています。

インストール:

dotnet tool install -g Connapse.CLI
# or: download a binary from https://github.com/Destrayon/connapse-cli/releases/latest

始める:

connapse auth login --server https://localhost:5001
connapse --help
Claude(MCP)で使用する

Connapse には、Claude およびあらゆる MCP クライアントとの統合に使用する Model Context Protocol(MCP)サーバーが含まれています。

セットアップ:ウェブ UI(Settings → Agent API Keys)からエージェント API キーを作成し、使用するクライアントの設定スニペットを追加します。

Claude Code(CLI)
claude mcp add connapse --transport streamable-http http://localhost:5001/mcp --header "X-Agent-Api-Key: YOUR_API_KEY"
Claude Desktop

claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "connapse": {
      "transport": "streamable-http",
      "url": "http://localhost:5001/mcp",
      "headers": {
        "X-Agent-Api-Key": "YOUR_API_KEY"
      }
    }
  }
}
VS Code / Cursor

.vscode/settings.json(VS Code の場合)または Cursor の MCP 設定に追加します。

{
  "mcp": {
    "servers": {
      "connapse": {
        "transport": "streamable-http",
        "url": "http://localhost:5001/mcp",
        "headers": {
          "X-Agent-Api-Key": "${input:connapseApiKey}"
        }
      }
    }
  }
}

VS Code は初回使用時に API キーの入力を求めます。

MCP サーバーが公開するツール:

ツール説明
container_createファイルを整理するための新しいコンテナーを作成します
container_listすべてのコンテナーをドキュメント数とともに一覧表示します
container_deleteコンテナーを削除します
container_statsコンテナーの統計情報(ドキュメント、チャンク、ストレージ、埋め込み)を取得します
upload_file1つのファイルをコンテナーにアップロードします
bulk_upload1回の操作で最大100個のファイルをアップロードします
list_filesパス上のファイルとフォルダーを一覧表示します
get_documentドキュメントの解析済み全文を取得します
delete_fileコンテナーから1つのファイルを削除します
bulk_delete1回の操作で最大100個のファイルを削除します
search_knowledgeコンテナー内をセマンティック検索、キーワード検索、またはハイブリッド検索します

詳細なリファレンス: パラメーター表、戻り値の形式、エラーケース、使用例については、docs/mcp-tools.md を参照してください。

コンテナーとソース:container_list は各スコープに managed または source のタグを付けます。ソースは Connapse が読み取り専用でミラーリングする外部システムです。検索はできますが、閲覧や書き込みはできません。list_files とすべての書き込みツールはコンテナーのみを対象とします。ソース ID を渡すと、見つからないものとして報告されます。詳しくは docs/connectors.md を参照してください。

プロンプトの例 — エージェントへの依頼
  • 「アーキテクチャのメモ用に、'project-research' というコンテナーを作成して」
  • 「ダウンロードフォルダーにある PDF をすべて project-research コンテナーにアップロードして」
  • 「project-research コンテナーで、レート制限の戦略に関する情報を検索して」
  • 「project-research コンテナーの /notes/ フォルダーにあるファイルをすべて一覧表示して」
  • 「project-research から distributed-systems-notes.md の全文を取得して」
  • 「project-research から meeting-2026-03-14.md を削除して、この更新版をアップロードして」
  • 「project-research の /drafts/ フォルダーにあるファイルをすべて削除して」
  • 「project-research コンテナーにはドキュメントとチャンクがいくつある?」
トラブルシューティング

localhost:5001 で接続が拒否される — Docker が実行されていないか、ポートが競合しています。docker compose ps と docker compose logs web を確認してください。

401 Unauthorized / API キーが機能しない — Settings > Agent API Keys でキーを確認してください。キーは作成時に一度だけ表示されます。

Claude にツールが表示されない — 設定を変更した後、MCP クライアントを再起動してください。curl http://localhost:5001/mcp でエンドポイントを確認してください。

アップロードに失敗する、またはタイムアウトする — ファイルの種類が許可リストに含まれていることを確認してください。最大ファイルサイズはサーバーの設定によって異なります。

検索結果が返されない — アップロード後、ドキュメントの埋め込み処理が完了するまで時間がかかります。コンテナーの統計情報で埋め込みの進行状況を確認してください。


🚀 機能

  • 🗂️ コンテナーで分離されたナレッジ — プロジェクトごとに独自のベクトルインデックス、ストレージコネクター、検索設定を使用します。プロジェクト、チーム、クライアント間でデータが混在することはありません。
  • 🔍 ハイブリッド検索 — ベクトル類似度検索とキーワードによる全文検索を組み合わせ、設定可能な統合方式(凸結合、DBSF、AutoCut)を利用できます。ベクトル検索だけでは見つからない結果も取得できます。
  • 🧠 マルチプロバイダー AI — Ollama、OpenAI、Azure OpenAI、Anthropic を、埋め込みと LLM の両方に利用できます。再起動せず、実行時にコンテナーごとに切り替えられます。
  • 🔌 既存のストレージをインデックス化 — MinIO、ローカルファイルシステム(ファイルのライブ監視)、Amazon S3(IAM 認証)に接続できます。ファイルは現在の場所に保管したままです。
  • 🤖 4 つのアクセス手段 — Web UI、REST API、CLI(ネイティブバイナリ)、Claude 用 MCP サーバーを利用できます。人間、スクリプト、AI エージェントのすべてを対象に設計されています。
  • 🔐 エンタープライズ認証 — AWS ID 連携に対応した多層 RBAC(Cookie + OAuth 2.1 + PAT + JWT)を備えています。ID 連携を設定すると、AWS の権限に基づくユーザーごとの検索結果フィルタリングが適用されます(オプトイン方式。設定するまでは制限されません)。
  • 🐳 1 コマンドでデプロイ — PostgreSQL + pgvector、MinIO、オプションの Ollama を含む Docker Compose を利用できます。構造化監査ログとレート制限も組み込まれています。
すべての機能を見る
  • 📄 マルチフォーマットの取り込み:PDF、Office ドキュメント、Markdown、プレーンテキストを自動的に解析、チャンク分割、埋め込みします
  • ⚡ リアルタイム処理:SignalR による進捗状況のライブ更新に対応したバックグラウンド取り込み
  • 🎛️ 実行時の設定:再起動せずに、コンテナーごとのチャンク分割方式、埋め込みモデル、検索設定を変更できます
  • ☁️ クラウド ID 連携:AWS IAM Identity Center(SAML)の ID 連携に対応しています。設定すると、AWS の権限に基づくユーザーごとのフィルタリングが適用されます(オプトイン方式。設定するまでは制限されません)
  • 👥 招待制アクセス:管理者がユーザー登録を管理し、4 つのロール(Admin / Editor / Viewer / Agent)を設定できます
  • 🤖 エージェント管理:API キーのライフサイクル、スコープ付き権限、監査証跡を備えた専用のエージェントエンティティ
  • 📋 監査ログ:アップロード、削除、コンテナー操作、認証イベントの構造化された監査証跡
  • 📦 CLI 配布:セルフコンテインドのネイティブバイナリ(Windows/Linux/macOS)と、NuGet 経由の .NET グローバルツール
  • 🔄 モデルをまたいだ検索:プロジェクトの途中で埋め込みモデルを切り替えられます。以前のベクトルに対して、Semantic から Hybrid へ自動的にフォールバックします

🎯 Connapse の対象ユーザー

  • MCP または REST API 経由で検索できるだけでなく、リサーチのアップロード、コーパスの整理、検索を行えるナレッジバックエンドを必要とする AI エージェント開発者
  • 既存のスタックやクラウド ID に適合する RAG プラットフォームを求める .NET / Azure チーム
  • 適切な RBAC と監査証跡を備えた、プロジェクトごとに分離されたナレッジベースを必要とする エンタープライズチーム
  • ファイルの再アップロードにうんざりしている すべての方 — Connapse を既存の Amazon S3 / ファイルシステムストレージに接続できます
⚠️ セキュリティ状況(v0.3.x)

このプロジェクトは現在開発中(v0.3.2)で、プロダクション対応に近づいています。

v0.3.x では、クラウドコネクターのアーキテクチャ、マルチプロバイダーの埋め込みと LLM のサポート、クラウド ID 連携、レート制限が追加されました。

  • ✅ 認証と認可(v0.2.0)
  • ✅ ロールベースアクセス制御(Admin / Editor / Viewer / Agent)
  • ✅ 監査ログ
  • ✅ クラウド ID 連携 — AWS IAM Identity Center(SAML)
  • ✅ ユーザーごとの検索フィルタリング(オプトイン) — AWS ID 連携の設定後に適用されます(AWS S3 Access Grants、フェイルクローズ)。未設定の環境ではユーザーごとのフィルタリングは行われません。詳しくは SECURITY.md を参照してください
  • ✅ レート制限 — ユーザーごとおよび IP ごとのポリシーを備えた ASP.NET Core 組み込みミドルウェア(v0.3.2)
  • ⚠️ プロダクション環境では強力な Identity__Jwt__Secret を設定してください — デプロイガイドを参照してください

セキュリティポリシーの全文は SECURITY.md を参照してください。


🏗️ アーキテクチャ

┌──────────────────────────────────────────────────────────────────────┐
│                         Access Surfaces                              │
│  Web UI (Blazor)  │  REST API  │  CLI  │  MCP Server                │
└─────────────┬────────────────────────────────────────────────────────┘
              │
┌─────────────▼────────────────────────────────────────────────────────┐
│                       Core Services Layer                            │
│  Document Store  │  Vector Store  │  Search  │  Ingestion           │
└─────────────┬────────────────────────────────────────────────────────┘
              │
┌─────────────▼────────────────────────────────────────────────────────┐
│                        Connectors Layer                              │
│  MinIO  │  Filesystem  │  Amazon S3  │                               │
└─────────────┬────────────────────────────────────────────────────────┘
              │
┌─────────────▼────────────────────────────────────────────────────────┐
│                        Infrastructure                                │
│  PostgreSQL+pgvector  │  MinIO (S3)  │  Ollama (optional)           │
└──────────────────────────────────────────────────────────────────────┘
データフロー:アップロード → 検索
[Upload] → [Parse] → [Chunk] → [Embed] → [Store] → [Searchable]
              ↓
         [Metadata]
              ↓
        [Document Store]

目標:アップロードから検索可能になるまで 30 秒未満。

主な技術:

  • データベース:ベクトル埋め込み用の PostgreSQL 17 + pgvector
  • オブジェクトストレージ:マネージドストレージの抽象化 — デフォルトは MinIO(S3 互換)。デプロイごとに変更できます
  • バックエンド:ASP.NET Core 10 Minimal APIs
  • フロントエンド:Blazor Server(インタラクティブモード)
  • 埋め込み:Ollama(デフォルト)、OpenAI、Azure OpenAI(設定可能)
  • LLM:Ollama、OpenAI、Azure OpenAI、Anthropic(設定可能)
  • 検索:凸結合フュージョンによるベクトル検索とキーワード検索のハイブリッド
  • コネクター:マネージドストレージ(デフォルトは MinIO)、ファイルシステム、Amazon S3

📚 ドキュメント


🗺️ ロードマップ

Connapse は 1.0 以前の段階です。主要な設計作業は Discussions で管理されています。

v0.1.0 — 基盤(完了)
  • ✅ ドキュメント取り込みパイプライン(PDF、Office、Markdown、テキスト)
  • ✅ ハイブリッド検索(凸結合フュージョンによるベクトル検索とキーワード検索)
  • ✅ フォルダー付きコンテナベースのファイルブラウザー
  • ✅ Web UI、REST API、CLI、MCP サーバー
v0.2.0 — セキュリティと認証(完了)
  • ✅ 3 層認証:Cookie + Personal Access Tokens + JWT(HS256)
  • ✅ ロールベースのアクセス制御(Admin / Editor / Viewer / Agent)
  • ✅ 招待制のユーザー登録(管理者が制御)
  • ✅ API キーのライフサイクルを備えた第一級のエージェントエンティティ
  • ✅ エージェント管理 UI + PAT 管理 UI
  • ✅ 監査ログ(アップロード、削除、コンテナ操作)
  • ✅ CLI 認証コマンド(auth login、auth whoami、auth pat)
  • ✅ GitHub Actions リリースパイプライン(ネイティブバイナリ + NuGet ツール)
  • ✅ 256 件のテストに合格(単体 + 統合)
v0.3.0 — コネクターアーキテクチャ(完了)
  • ✅ 3 種類のコネクター:マネージドストレージ(デフォルトは MinIO、プロバイダー抽象化)、ファイルシステム(FileSystemWatcher)、Amazon S3(IAM のみ)
  • ↩️ Azure Blob Storage コネクター(マネージド ID)— v0.3.0 でリリース後、削除済み(#476):検証されておらず、クリーンな再構築のために解体されました
  • ✅ コンテナごとの設定の上書き(チャンク化、埋め込み、検索、アップロード)
  • ↩️ クラウド ID の連携:Azure AD(OAuth2+PKCE)— v0.3.0 でリリース後、Azure Blob コネクターとともに削除済み(#476)
  • ↩️ AWS IAM Identity Center(デバイス認証フロー)— v0.3.0 でリリース後、削除済み(#435):デバイスフローでは、ユーザーごとの ID をトークンに引き継げませんでした
  • ⚠️ IAM に基づくスコープの適用 — v0.3.0 の CloudScopeService は構築されましたが、検索に接続されないまま(#422)削除されました。ユーザーごとの AWS 検索フィルタリングは ISearchScopeResolver + AWS S3 Access Grants を使って再構築されました(エピック #436)— オプトイン方式で、AWS ID の連携が設定されるとフェイルクローズになります
  • ✅ マルチプロバイダー対応の埋め込み:Ollama、OpenAI、Azure OpenAI
  • ✅ マルチプロバイダー対応の LLM:Ollama、OpenAI、Azure OpenAI、Anthropic
  • ✅ モデルごとの部分的な IVFFlat インデックスによる複数次元ベクトルのサポート
  • ✅ モデルをまたぐ検索:レガシーベクトルに対する Semantic から Hybrid への自動フォールバック
  • ✅ バックグラウンド同期:ローカルでは FileSystemWatcher、クラウドコンテナでは 5 分間隔のポーリング
  • ✅ すべてのプロバイダー(Amazon S3、MinIO、LLM、埋め込み)の接続テスト
  • ✅ 457 件のテストに合格(単体 + 統合)
v0.3.2 — 強化と仕上げ(完了)
  • ✅ 入力検証の強化:ファイル名の長さ、パスの深さ、制御文字、検索パラメーター、エージェントのフィールド
  • ✅ セキュリティ修正:空の API キーによる認証の回避、パストラバーサル、セキュリティヘッダーのミドルウェア
  • ✅ API と MCP で共有する統合アップロードパイプライン(IUploadService)
  • ✅ アップロード可能なファイル形式の許可リスト
  • ✅ レート制限ミドルウェア(ユーザーごと、IP ごと)
  • ✅ 一括操作用の MCP ツール:bulk_upload と bulk_delete
  • ✅ CLI の改善:files コマンド、container stats、--pre による更新、--help フラグ
  • ✅ セルフホストのフォント(CDN 依存なし)
  • ✅ ghcr.io での Docker リリースパッケージ
今後の予定
  • v0.4.0:コミュニケーションコネクター(Slack、Discord)。(ユーザーごとの AWS 検索権限 — エピック #436 は Cognito ではなく、IAM Identity Center の SAML ID リンクを通じて、すでにリリース済みです。)
  • v0.5.0:ナレッジプラットフォームのコネクター(Notion、Confluence、GitHub)
  • v1.0.0:本番環境で利用可能な安定版リリース

❓ よくある質問

Connapse の利用にはインターネット接続が必要ですか? — いいえ。Ollama を使用すれば、完全にオフラインで埋め込みと検索を利用できます。

何件のドキュメントを処理できますか? — コンテナーごとに数千件です。PostgreSQL と pgvector を基盤としています。

Connapse に対応している MCP クライアントはどれですか? — Streamable HTTP トランスポートに対応するクライアントであれば、どれでも利用できます。Claude Desktop、Claude Code、VS Code、Cursor などに対応しています。

データのプライバシーは守られますか? — 完全なセルフホスト型です。Ollama を使用すれば、データがマシンの外に出ることはありません。クラウドプロバイダー(OpenAI、Azure)の利用は任意です。

どの埋め込みプロバイダーに対応していますか? — Ollama(ローカル)、OpenAI、Azure OpenAI に対応しています。再デプロイせずに、実行時に切り替えられます。


🤝 コントリビューション

コントリビューションを歓迎します!ガイドラインについては、CONTRIBUTING.md をご覧ください。

コントリビューションの簡単なチェックリスト:

  • リポジトリをフォークし、機能ブランチを作成する
  • CONTRIBUTING.md のコード規約に従う
  • 新機能のテストを作成する(xUnit + FluentAssertions)
  • すべてのテストが通ることを確認する:dotnet test
  • 必要に応じてドキュメントを更新する
  • プルリクエストを送信する

初めての方におすすめの課題:ラベル good-first-issue が付いたイシューをご確認ください。


📄 ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE をご覧ください。

以下のことができます:

  • ✅ 商用利用
  • ✅ 改変
  • ✅ 配布
  • ✅ サブライセンス
  • ✅ 私的利用

唯一の要件は、ソフトウェアの実質的な部分を利用する際に、著作権表示とライセンスを含めることです。


💬 サポートとコミュニティ


🙏 謝辞

以下を使用して構築されています:

  • .NET - アプリケーションフレームワーク
  • Blazor - Web UI
  • PostgreSQL + pgvector - ベクトルデータベース
  • MinIO - S3 互換オブジェクトストレージ
  • Ollama - ローカル LLM 推論

⭐ このプロジェクトが役に立ったら、リポジトリにスターを付けて応援してください!

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。