mcpField
D
Darwin RAG

Darwin RAG

ローカル
github.com/Brightdotdevメモリ・ナレッジ32 週間前に更新

Darwin RAG について

Darwin RAGは、AIエージェントでプライベートな文書を検索したい人向けのローカル優先RAGエンジンです。キーワードと密ベクトルのインデックスを組み合わせ、MCP経由で検索や文書管理を提供します。

主な機能

  1. 01文書、表計算、画像、URLの取り込み
  2. 02BM25と密ベクトルによるインデックス
  3. 03キーワード・セマンティック・ハイブリッド検索
  4. 04任意のLLMによる回答生成
  5. 05独立ストアと構造化セッションログ

活用シーン

  1. 01エージェントでローカルPDFやメモを検索
  2. 02構造化CSVファイルからレコードを検索
  3. 03プロジェクトやテナントごとにインデックスを分離
  4. 04インデックス済みファイルや検索ログを確認

MCP 対応

Darwin RAGは、文書の取り込み、検索、ストア管理、ファイル状態、ログをMCPツールとして公開します。stdio、SSE、Streamable HTTPの各トランスポートに対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"brightdotdev-darwin-rag": {
"command": "uvx",
"args": [
"darwin-rag"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"DARWIN_BASE_DIR": "<DARWIN_BASE_DIR>"
}
}
}
}
起動コマンドuvx darwin-rag
設定が必要な環境変数
OPENAI_API_KEYシークレットOpenAI API key for LLM answer generation
ANTHROPIC_API_KEYシークレットAnthropic API key for LLM answer generation
GEMINI_API_KEYシークレットGoogle Gemini API key
DARWIN_BASE_DIROverride the base data directory

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

パッケージ
pypidarwin-rag0.2.18

ツール

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

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

詳細

Darwin RAG

自分のマシン上でプライバシーを保ちながら、あらゆる AI エージェントで自分のドキュメントを検索できます。

Darwin はローカルファーストの RAG エンジンです。ドキュメントを取り込み、BM25 と高密度埋め込みでインデックスを作成し、MCP サーバーを通じて検索機能を提供します。Claude、Cursor、または任意の MCP クライアントを接続すれば、PDF、メモ、スプレッドシート、ウェブページをクラウドのインデックスに送信することなく、エージェントから検索できます。

セットアップ中にモデルをダウンロードするため、一度だけインターネット接続が必要です。その後は、検索もインデックス作成も完全にオフラインで実行できます。

License: MIT PyPI

  • 取り込み:PDF、Markdown、HTML、画像(OCR)、CSV、Excel、ODS、URL
  • インデックス作成:BM25 キーワード検索と高密度埋め込みによるハイブリッドインデックス。チャンク分割方式を設定できます
  • 検索:再ランキング、多様性のための再ランキング、構造上のペナルティに対応したハイブリッド、セマンティック、またはキーワード検索
  • 生成:LiteLLM(OpenAI、Anthropic、Gemini など)による LLM ベースの回答生成
  • 可観測性:セッションごとの履歴を含む構造化ログ。MCP 経由で検索できます
  • 分離:テナントやプロジェクトごとに分離された複数のストア
  • デプロイ:stdio(AI エージェントのサブプロセス)、SSE、または Streamable HTTP に対応。Docker 対応
  • ローカルファースト:すべてローカルで動作し、セットアップ後は完全にオフラインで利用できます

BrightDotDev が開発しています。


Darwin を選ぶ理由

  • デフォルトでプライベート。 ドキュメントは自分のマシンから外に出ません。
  • エージェントと連携。 標準の MCP サーバーとして、Claude Desktop、Cursor、その他の MCP クライアントで利用できます。
  • 質問に合った検索。 正確な用語にはキーワード検索、意味の検索にはセマンティック検索、判断が難しい場合はハイブリッド検索を使えます。
  • 手軽に始められます。 required プリセットでは、埋め込みモデルを 1 つだけダウンロードします。

クイックスタート

1. インストール
pip install darwin-rag
2. モデルをセットアップ
# Interactive: detects hardware, pick your models
darwin-admin setup interactive

# Or one-shot (embedding-only, no prompts)
darwin-admin setup --preset required
3. MCP サーバーを起動して接続
# stdio mode: for AI agent subprocess (Claude Desktop, Cursor, etc.)
darwin mcp

# Or HTTP mode: for remote clients
darwin mcp --http --port 8765

MCP クライアントを設定します。

{
  "mcpServers": {
    "darwin": {
      "command": "darwin",
      "args": ["mcp"],
      "env": {
        "OPENAI_API_KEY": "sk-..."  // At least one LLM provider key
      }
    }
  }
}

または、設定を自動生成します。

darwin config claude          # Claude Desktop config
darwin config cursor          # Cursor config
darwin config all --copy      # All clients + copy to clipboard
4. 試してみる

エージェントに次のように尋ねてください:「Darwin で ./my-notes を取り込み、 について書いたものをすべて見つけてください。」


エージェントスキルとして使う

Darwin には、MCP ツールをいつ、どのように使うかをエージェントに伝えるスキル(skills/darwin-rag/SKILL.md)が付属しています。インデックスの確認、ドキュメントの取り込み、検索モードの選択、情報源に基づく回答の作成ができます。darwin-rag フォルダーをエージェントのスキルディレクトリにコピーしてください(Claude Code の場合は ~/.claude/skills/)。


MCP ツール

ツール説明
search_darwinハイブリッド/セマンティック/キーワード検索でナレッジベースを検索
search_listsフィールド値で構造化データ(CSV、JSON 配列)を検索
get_search_results保存済みの検索結果を一覧表示
get_search_result_by_idファイル名を指定して保存済みの検索結果を読み込み
get_schema構造化ファイルのスキーマ(キー、型、レコード数)を確認
run_pipelineパスまたは URL からドキュメントを取り込み、インデックスを作成
purge_artifacts特定のファイルに対するパイプラインの生成物を削除
create_store新しい分離データストアを作成
list_filesパイプラインのステータスとともに、追跡中のファイルをすべて一覧表示
file_status単一ファイルの全ステージにおける詳細なステータス
get_logsセッションログを検索(古い順、INFO を除外)

詳細なドキュメント:docs/mcp.md


リモート/HTTP モード

ネットワークからアクセス可能なエンドポイントでサーバーを起動します。

# SSE transport (legacy)
darwin mcp --sse --host 0.0.0.0 --port 8765

# Streamable HTTP transport (recommended for production)
darwin mcp --http --host 0.0.0.0 --port 8765

URL を指定して MCP クライアントを設定します。

{
  "mcpServers": {
    "darwin": {
      "url": "http://your-host:8765/mcp"  // or /sse for SSE mode
    }
  }
}

環境変数

変数必須説明
OPENAI_API_KEYいいえ*OpenAI プロバイダーキー
ANTHROPIC_API_KEYいいえ*Anthropic プロバイダーキー
GEMINI_API_KEYいいえ*Google Gemini プロバイダーキー
MISTRAL_API_KEYいいえ*Mistral AI プロバイダーキー
GROQ_API_KEYいいえ*Groq プロバイダーキー
COHERE_API_KEYいいえ*Cohere プロバイダーキー
TOGETHER_API_KEYいいえ*Together AI プロバイダーキー
OPENROUTER_API_KEYいいえ*OpenRouter プロバイダーキー
DEEPSEEK_API_KEYいいえ*DeepSeek プロバイダーキー
DARWIN_BASE_DIRいいえベースデータディレクトリを上書きします
NO_COLORいいえ任意の値を設定すると、ANSI カラー出力を無効にします

* 回答の生成には、少なくとも1つの LLM プロバイダーキーが必要です。検索/インデックス作成はキーなしで動作します。


セットアップの詳細

コマンド動作
darwin-admin setup interactiveガイド付きセットアップ:ハードウェアを検出し、モデルを選択します
darwin-admin setup --preset required埋め込みモデルのみをダウンロードします(最速)
darwin-admin setup --preset recommended埋め込み、再ランキング、OCR モデルをダウンロードします
darwin-admin setup loggingロギングのみを再設定します
darwin-admin setup validate現在のセットアップを検証します

Docker、ソースからのインストール、API キーの設定を含む詳しい手順については、docs/setup.md を参照してください。


CLI リファレンス

darwin:ユーザー向け CLI

コマンド説明
darwin mcpMCP サーバーを起動します(stdio。ネットワーク経由の場合は --sse または --http)
darwin config [client]MCP クライアント設定を生成します

darwin-admin:上級ユーザー向け CLI

コマンド説明
darwin-admin setupモデル、ロギング、設定をセットアップします
darwin-admin statusシステムステータスの概要
darwin-admin modelsモデルレジストリ:一覧表示、インストール、切り替え、キー
darwin-admin storeデータストア:ステータス、ファイル、監査、ヘルスチェック、修復
darwin-admin pipeline取り込みパイプライン:実行、取り込み、インデックス作成、消去
darwin-admin search対話型検索
darwin-admin logs構造化ログの表示と管理
darwin-admin systemシステム情報
darwin-admin uninstallDarwin のデータと設定を削除します

すべてのコマンドのリファレンスについては、docs/admin.md を参照してください。


Python API

darwin-rag をライブラリとして独自のアプリに組み込む方法:

from core import Darwin

d = Darwin()
d.ingest("./papers", recursive=True)
results = d.search("what is this paper about")
records = d.search_records(filters={"status": "active"})

詳細なリファレンス:docs/api.md


ドキュメント

ドキュメント内容
setup.mdセットアップの詳しい手順
mcp.mdMCP サーバー、ツール、リソース、トランスポート
admin.md管理 CLI リファレンス
architecture.md開発者およびコントリビューター向け
pipeline.md取り込みとインデックス作成
retrieval.md検索エンジン
storage.mdDarwinStore
models.mdモデルレジストリと推論
logger.md構造化ロギング
orchestrators.md高水準のビジネスロジック
api.mdPython API(Darwin クラス)

貢献

バグを見つけましたか?何かを追加したいですか?ぜひご参加ください。

  • Issue: github.com/BrightDotDev/DARWIN/issues で Issue を作成してください
  • コード:フォークし、ブランチを作成して、PR を送ってください。変更は最小限にしてください。
  • AI が生成したコードでも問題ありませんが、提出するコードには責任を持ってください。提出前にテストしてください。

詳しいガイドラインについては、CONTRIBUTING.md をお読みください。


ライセンス

MIT。LICENSE をご覧ください。

コアアーキテクチャと実装は BrightDotDev によるものです。

コメント

MCP は初めてですか?

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

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