mcp-local-rag について
mcp-local-ragは、MCPクライアントやコマンドラインから使えるローカル文書検索サーバーです。セマンティック検索とキーワード検索を組み合わせ、出典を確認できる文章を返します。
主な機能
- 01PDF、DOCX、Markdown、テキストの索引化
- 02セマンティック検索とキーワード検索
- 03出典の文章と位置の提示
- 04ディレクトリ同期と差分更新
- 05MCPツールとコマンドラインの提供
活用シーン
- 01ローカルAPI文書から認証情報を探す
- 02エラーコードで文書の記述を検索
- 03クライアントが取得したHTMLを索引化
- 04指定パス内のプロジェクト資料を検索
MCP 対応
MCPサーバーとして、索引同期、ファイル取り込み、文書検索、前後チャンクの取得、状態確認のツールを提供します。クライアントは取得済みHTMLやメモリ上のテキストを渡して索引化できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y mcp-local-ragBASE_DIRBase directory for document storage (defaults to current working directory). Ignored when BASE_DIRS is set.BASE_DIRSJSON array of base directories (e.g. '["/a","/b"]'). Takes precedence over BASE_DIR.IGNORE_PATHSJSON array of glob patterns for files to keep out of the index, each matched against the file's path relative to its root (e.g. '["plugs/**","**/*.draft.md"]').DB_PATHPath to LanceDB database directory (defaults to ./lancedb/)CACHE_DIRDirectory where Transformers.js models are cached (defaults to ./models/)HF_ENDPOINTHugging Face model download endpoint. Set this to a mirror URL when direct downloads are blocked (defaults to https://huggingface.co).MODEL_NAMEEmbedding model name (defaults to Xenova/all-MiniLM-L6-v2)MAX_FILE_SIZEMaximum file size in bytes (defaults to 104857600 / 100MB)RAG_MAX_DISTANCEMaximum distance threshold for filtering search results. Results with distance greater than this value will be excluded. Lower values mean stricter filtering (e.g., 0.5 for high relevance only)RAG_GROUPINGGrouping mode for quality filtering. 'similar' returns only the most similar group (stops at first distance jump). 'related' includes related groups (stops at second distance jump). Unset means no grouping filterRAG_MAX_FILESMaximum number of files to keep in search results. Results are filtered to include only chunks from the top N best-scoring files. For example, 1 returns only the single best-matching file's chunks. Unset means no file filtering.CHUNK_MIN_LENGTHMinimum chunk length in characters (1-10000, defaults to 50). Chunks shorter than this threshold are filtered out during ingestion.STORE_IMAGESStore supported PDF and DOCX images during ingestion and return them with matched chunks (defaults to false).EMBED_TITLE_PREFIXEmbed each chunk together with its document title, which can help when passages don't restate the topic the title names (defaults to false). After changing it, use a new DB_PATH or delete the index and re-ingest.EMBED_HEADING_PREFIXAdd section headings to chunk embeddings when they fit (defaults to false). Independent of EMBED_TITLE_PREFIX. Re-ingest documents after changing it.RAG_DEVICEExecution device for the embedder (defaults to cpu). Passed straight to ONNX Runtime; see the Transformers.js device source for the supported backend names. If the requested device fails to initialize, the server throws an error.RAG_DTYPEEmbedding quantization dtype for the embedder (defaults to fp32). Opt-in and pass-through; accepts any dtype the chosen model provides (fp32, fp16, q8, int8, ...). If the model has no variant for the requested dtype, the server throws an error. Changing this changes the embedding space — re-ingest existing data.RAG_HYBRID_WEIGHTKeyword boost factor for hybrid search (0.0-1.0, defaults to 0.6). 0 means semantic similarity only; higher values increase the keyword-match contribution to the final score.RAG_RERANK_CMDExternal reranker command template. Use {query} and {top} for query text and result count; unset disables reranking.RAG_RERANK_TIMEOUT_MSTime budget per rerank call in milliseconds (100-600000, defaults to 10000). On timeout the spawned command is killed and the pre-rerank ordering is returned.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
9掲載時のツール一覧 · 6 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | number | いいえ | 結果の最大数(デフォルトは 10、範囲は 1~100)。小さい値は適合率を優先し、大きい値は再現率を高めます。 |
| query | string | はい | 検索クエリ。キーワード検索のため、ユーザーの具体的な用語を維持してください。クエリが曖昧な場合は、セマンティック検索のためにコンテキストを追加してください。 |
| scope | any | いいえ | 任意の絶対パスのプレフィックス(単一の文字列またはリスト。指定した値の和集合)を使い、filePath がプレフィックスと一致するか、その配下にあるファイルに結果を限定します。"/docs/api" は "/docs/api/auth.md" に一致しますが、"/docs/apiv2" には一致しません。絶対パス(サーバー OS の形式)である必要があります。相対パスのプレフィックスは何にも一致しません。以前のクエリで返された filePath から導出するか、scope を省略してください。 |
詳細
MCP Local RAG
英語 | 簡体字中国語 | ドイツ語 | スペイン語 | ポルトガル語(ブラジル) | フランス語
埋め込み API にドキュメントを送信せずに、MCP クライアントまたはターミナルからプライベートなドキュメントを検索できます。
mcp-local-rag は、マシン上の PDF、DOCX、Markdown、テキストファイルをインデックス化します。検索では、意味的な類似性とキーワードのマッチングを組み合わせるため、意図だけでなく、API 名、クラス名、エラーコードなどの正確な技術用語でも検索できます。検索結果には元の文書を確認・引用できるよう、該当箇所と、利用可能な場合は見出し、行番号、ページ番号が含まれます。
API キー、Docker、Python、外部データベースは不要です。初回のモデルダウンロード後は、テキストの取り込みと検索をオフラインで実行できます。
クイックスタート
必要条件
- Node.js 22.20 以降
- npm パッケージと埋め込みモデルをダウンロードするため、初回使用時にインターネット接続が必要です
- 検索対象のドキュメントが格納されたディレクトリ
BASE_DIR にそのディレクトリを設定します。このディレクトリは、ファイル操作のセキュリティ境界にもなります。以下の /absolute/path/to/your/documents を、ディレクトリの絶対パスに置き換えてください。
以下の例のいずれかを使用するか、npx -y mcp-local-rag を登録して、クライアントの MCP 設定形式で BASE_DIR を設定します。
DB_PATH と CACHE_DIR にも絶対パスを設定してください。相対パスはサーバーの作業ディレクトリを基準に解決されるため、異なるプロジェクトからサーバーを起動すると、それぞれのプロジェクトに別個のインデックスとモデルキャッシュが作成されます。
Claude Code
次のコマンドを実行します。
claude mcp add local-rag --scope user --env BASE_DIR=/absolute/path/to/your/documents -- npx -y mcp-local-rag
Codex
~/.codex/config.toml に追加します。
[mcp_servers.local-rag]
command = "npx"
args = ["-y", "mcp-local-rag"]
[mcp_servers.local-rag.env]
BASE_DIR = "/absolute/path/to/your/documents"
OpenCode
~/.config/opencode/opencode.json(または opencode.jsonc)に追加します。
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"local-rag": {
"type": "local",
"command": ["npx", "-y", "mcp-local-rag"],
"environment": {
"BASE_DIR": "/absolute/path/to/your/documents"
}
}
}
}
Cursor
~/.cursor/mcp.json に追加します。
{
"mcpServers": {
"local-rag": {
"command": "npx",
"args": ["-y", "mcp-local-rag"],
"env": {
"BASE_DIR": "/absolute/path/to/your/documents"
}
}
}
}
クライアントを再起動してから、インデックスを作成するよう依頼します。
Sync all documents in the configured root and wait until it finishes.
初回の同期では、デフォルトの埋め込みモデル(約 90 MB)がダウンロードされ、取り込みが始まるまでに 1~2 分かかることがあります。以降の実行ではローカルキャッシュが使用されます。
同期が完了したら、次のようにします。
What does the API documentation say about authentication?
CLI クイックスタート
MCP クライアントを使わずに CLI を使用するには、次のようにします。
npx mcp-local-rag ingest ./docs/
npx mcp-local-rag query "authentication API"
CLI は、デフォルトで現在のディレクトリをドキュメントのルートとして使用します。同じデフォルトのインデックスを使用するには、両方のコマンドを同じディレクトリから実行してください。または、BASE_DIR と DB_PATH を明示的に設定します。
対応コンテンツ
| 入力 | 取り込み方法 |
|---|---|
| PDF、DOCX、TXT、Markdown | ファイルの取り込みまたはディレクトリの同期 |
| クライアントが取得済みの HTML | ingest_data |
| メモリ上に保持されたプレーンテキストまたは Markdown | 安定したソース識別子を指定した ingest_data |
HTML の取得機能はサーバーに組み込まれていません。MCP クライアントはページを取得し、その HTML を ingest_data に渡すことができます。
Excel、PowerPoint、単独の画像、ソースコードのファイル拡張子は、ファイルの取り込みに対応していません。PDF では、図の説明にローカルのビジョンモデルを任意で使用できますが、これは OCR や画像検索ではありません。
インデックスの使用
ドキュメントの追加、編集、削除後に同期します。検索や追加の読み込みには、MCP クライアントに次のように依頼してください。
Find the documented behavior of ERR_CONNECTION_REFUSED.
Read the surrounding chunks for that result.
クライアントがすでに取得した単一のファイルや HTML を取り込むこともできます。既存のエントリーを更新するには、同じパスまたはソース識別子を使って、ドキュメントを再度取り込みます。sync は変更されていないファイルをスキップします。MCP のファイルパスは絶対パスで、設定済みのドキュメントルート内にある必要があります。
PDF のセクション見出しは不正確な場合があります。正確な見出しが必要な場合は、元のページを確認してください。
MCP ツール
| ツール | 目的 |
|---|---|
sync_start | 設定済みのすべてのルート、または指定した 1 つのパスに合わせてインデックスを調整します |
sync_status | 実行中の同期ジョブの状態を確認します |
ingest_file | 1 つのファイルを取り込み、または置き換えます |
ingest_data | クライアントが保持しているテキスト、Markdown、または HTML を取り込みます |
query_documents | セマンティックマッチングとキーワードの重み付けで検索します |
read_chunk_neighbors | 検索結果の前後のチャンクを読み込みます |
list_files | 対応ファイルとその取り込み状態を表示します |
delete_file | インデックス済みのファイルまたは ingest_data アイテムを削除します |
status | インデックスと検索の状態を表示します |
CLI
CLI を使ってインデックスを更新したり、検索対象を絞り込んだり、インデックス済みのコンテンツを削除したりできます。
npx mcp-local-rag sync ./docs/
npx mcp-local-rag query "auth" --scope /docs/api --scope /docs/guide
npx mcp-local-rag read-neighbors --file-path /abs/path.md --chunk-index 5
npx mcp-local-rag list
npx mcp-local-rag status
npx mcp-local-rag delete ./docs/old.pdf
npx mcp-local-rag delete --source "https://example.com/docs"
ingest は選択したファイルをインポートします。sync は削除されたファイルのエントリーも削除し、変更されていないファイルをスキップします。--scope を使うと、パスのプレフィックスで検索結果を絞り込めます。複数のプレフィックスを含めるには、--scope を繰り返し指定します。
--db-path、--cache-dir、--model-name などのグローバルオプションはサブコマンドの前に指定します。サブコマンドのオプションはサブコマンドの後に指定します。
npx mcp-local-rag --db-path ./my-db query "authentication"
完全なコマンドリファレンスは、npx mcp-local-rag --help を実行して確認してください。
query は、最も一致度の高い結果から順に JSON 形式で標準出力に書き込むため、別のツールにパイプで渡すことができます。各フィールドの仕様については、docs/schema/query-output.schema.json を参照してください。
プロジェクトを移動してインデックスを保持したい場合は、MCP サーバーとその他のデータベース書き込み処理を停止し、ディレクトリ構成を変えずにファイルとデータベースを一緒に移動してから、次を実行します。
npx mcp-local-rag --db-path /new/project/lancedb relocate --from /old/project --to /new/project
MCP の設定で BASE_DIR/BASE_DIRS、DB_PATH、および移動したその他のパスを更新してから、クライアントを再起動してください。
エージェントスキル
エージェントスキル は、AI アシスタント向けに検索と取り込みのガイダンスを提供します。
npx mcp-local-rag skills install --claude-code
npx mcp-local-rag skills install --claude-code --global
npx mcp-local-rag skills install --codex
インストール済みのスキルでは、クエリの作成、結果の絞り込み、HTML の取り込みを扱います。自動的に有効にならない場合は、アシスタントに mcp-local-rag スキルを明示的に使用するよう依頼してください。
詳細オプション
まずはデフォルト設定を使用してください。異なるドキュメントルートを使う場合、コーパスに合わせて結果を改善する場合、または検索可能な PDF の図が必要な場合は、以下のセクションを開いてください。
ストレージとドキュメントルート
MCP サーバーは環境変数を読み取ります。CLI は記載されている環境変数とフラグを受け付けます。コマンド間で同じインデックスを使用する場合は、DB_PATH を同じ値にしてください。
| 環境変数 | CLI フラグ | デフォルト | 説明 |
|---|---|---|---|
BASE_DIR | --base-dir | 現在のディレクトリ | 1 つのドキュメントルートです。CLI フラグは ingest、list、sync で繰り返し指定できます |
BASE_DIRS | N/A | (未設定) | ドキュメントルートの JSON 配列です。BASE_DIR より優先されます |
IGNORE_PATHS | N/A | (未設定) | インデックスから除外するファイルの glob パターンを指定する JSON 配列です |
DB_PATH | --db-path | ./lancedb/ | ベクトルデータベースの保存先です |
CACHE_DIR | --cache-dir | ./models/ | モデルキャッシュのディレクトリです |
HF_ENDPOINT | N/A | https://huggingface.co | Hugging Face モデルのダウンロードエンドポイントです。直接ダウンロードがブロックされる場合は、ミラーの URL を使用してください |
MAX_FILE_SIZE | --max-file-size | 104857600(100MB) | ファイルサイズの上限(バイト単位)です |
| ファイル操作は設定されたルート内で行われます。複数のディレクトリを指定するには、 | |||
BASE_DIRS='["/absolute/docs","/absolute/specs"]' を設定するか、CLI の --base-dir を繰り返し指定します。優先順位は、CLI | |||
のルート、BASE_DIRS、BASE_DIR、現在のディレクトリの順です。使用されるのは最も優先順位の高いソースのみであり、異なるソースのルートは結合されません。無効な | |||
BASE_DIRS はエラーになります。相対パスの | |||
DB_PATH と CACHE_DIR は作業ディレクトリを基準に解決されます。 |
ファイルをインデックスに含めないようにするには、IGNORE_PATHS にグロブパターンの JSON 配列を設定します。例:
IGNORE_PATHS='["plugs/**","**/*.draft.md"]'。各パターンは、そのファイルを含むルートからの相対パスに対して照合され、すべての OS で / を使って記述されます。* と ** は
. で始まる名前には一致しないため、".obsidian/**" のように、そのようなディレクトリを明示してください。ディレクトリをスキャンする際、ingest、
list、sync は一致するファイルをスキップし、sync はすでにインデックス化されているファイルも削除します。無効な
IGNORE_PATHS はエラーになります。
モデルと検索の調整
ドキュメントの言語や分野に合った埋め込みモデルを選択してください。実際に使う質問で設定を比較し、どのソースの文章が返されるかを確認してください。このツールで埋め込みを生成するには、モデルが平均プーリングと L2 正規化に対応している必要があります。
| 環境変数 | CLI フラグ | デフォルト | 説明 |
|---|---|---|---|
MODEL_NAME | --model-name | Xenova/all-MiniLM-L6-v2 | Hugging Face の埋め込みモデル |
CHUNK_MIN_LENGTH | --chunk-min-length | 50 | 通常のチャンクの最小文字数(1–10000)。モデルのトークン上限に収まるように分割されたコンテンツの断片は、これより短くなる場合があります |
EMBED_TITLE_PREFIX | N/A | false | 各チャンクの埋め込み入力にドキュメントのタイトルを追加します |
EMBED_HEADING_PREFIX | N/A | false | 入力に収まる場合、各チャンクの埋め込み入力に見出しの階層を追加します |
RAG_DEVICE | N/A | cpu | ONNX Runtime の実行デバイス |
RAG_DTYPE | N/A | fp32 | 選択したモデルに渡す埋め込みデータ型 |
どちらのプレフィックス設定もデフォルトは false で、個別に機能します。文章にドキュメント全体のトピックが必要な場合は
EMBED_TITLE_PREFIX を、セクションのトピックが必要な場合は
EMBED_HEADING_PREFIX を試してください。両方を有効にしても、常に効果が高まるとは限りません。これらの設定が影響するのは埋め込みであり、返されるテキストやキーワードインデックスには影響しません。見出しのコンテキストが入力予算を超える場合は省略されます。
埋め込みモデルを変更する場合は、新しい DB_PATH を指定して新しいインデックスを作成してください。次元数が同じでも、異なるモデルのベクトルは比較できません。RAG_DTYPE またはいずれかのプレフィックス設定を変更した後は、検索する前にインデックス内のすべてのドキュメントを再取り込みしてください。sync は変更されていないファイルをスキップします。
CLI は MCP クライアントの設定を読み込みません。インデックスを共有する場合は、取り込みと検索で同じモデル、RAG_DTYPE、プレフィックス設定を使用してください。RAG_DEVICE のみを変更する場合、新しいインデックスは必要ありません。
検索の調整
以下の最初の 4 つの設定は、MCP と CLI の両方のクエリに適用されます。完全一致する語句の重みを高めるには、RAG_HYBRID_WEIGHT を大きくして、自分の質問で結果を比較してみてください。外部リランキングは MCP 専用です。
| 変数 | デフォルト | 説明 |
|---|---|---|
RAG_HYBRID_WEIGHT | 0.6 | キーワードのブースト係数(0.0–1.0)。0 ではキーワードによる再ランキングを無効にし、1 では最大限にブーストします。 |
RAG_GROUPING | (未設定) | similar は最初の関連グループを保持し、related はベクトル距離の大きな差を境界として、最大 2 つのグループを保持します。 |
RAG_MAX_DISTANCE | (未設定) | 関連性の低い結果を除外します(例:0.5)。 |
RAG_MAX_FILES | (未設定) | 上位 N 件のファイルに結果を制限します(例:最適な 1 件のファイルに限定する場合は 1)。 |
RAG_RERANK_CMD | (未設定) | MCP 専用:外部コマンドです。{query} はクエリを渡し、{top} は要求された結果数を渡します。 |
RAG_RERANK_TIMEOUT_MS | 10000 | リランキング呼び出しごとの時間予算(ミリ秒、100–600000)。 |
外部リランキング(RAG_RERANK_CMD)
コマンドは標準入力から、一致したテキストを含む検索結果を読み取ります。リモート サービスを呼び出す場合、そのテキストがマシンの外部に送信される可能性があります。
実行ファイルと引数の完全なテンプレートを指定してください。コマンドがクエリと結果数を
受け取る位置に、{query} と {top} を配置します。シングルクォートまたはダブルクォートで、
スペースを含むパスや引数を囲みます。バックスラッシュはそのまま扱われます。
サーバーはシェルを介さず実行ファイルを起動するため、Windows では npm でインストールした
.cmd シムは起動しません。
{
"env": {
"RAG_RERANK_CMD": "/path/to/reranker --query {query} --top {top}",
"RAG_RERANK_TIMEOUT_MS": "10000"
}
}
コマンドは、クエリ出力 スキーマで定義された形式で結果を読み取り、返す必要があります。 結果の削除や並べ替え、テキストの変更が可能です。サーバーはその出力を返します。
コマンドが失敗した場合、タイムアウトした場合、または出力がスキーマに一致しない場合は、 結果の元の順序が維持されます。
PDF の図と保存された画像
デフォルトでは、取り込み時にインデックス化されるのはテキストのみです。PDF の図を検索可能にするには、
MCP で visual: true を、CLI で --visual を指定して、ローカルでのキャプション生成を有効にします。
キャプションは生成された説明であり、OCR や正確な書き起こしではありません。
fast(デフォルト)では、初回使用時に約 250 MB がダウンロードされます。図内のラベルやテキストを
処理するには quality を選択してください。約 1.7 GB がダウンロードされ、実行にも時間がかかります。
MCP では visualQuality: "quality" を、CLI では --visual-quality quality を指定してプロファイルを
選択します。
npx mcp-local-rag ingest ./docs/paper.pdf --visual --visual-quality quality
一致するテキストとともに画像を返すには、MCP で STORE_IMAGES=true を指定するか、CLI の ingest と
sync に --images を指定します。これはキャプション生成とは独立した設定で、検出された PDF の図や表、
および対応する DOCX 内の PNG/JPEG 画像を対象とします。
npx mcp-local-rag ingest ./docs/paper.pdf --images
同期では、各 PDF のキャプションプロファイルが維持されます。CLI の sync --visual --visual-quality quality は、
変更されていない PDF についてもプロファイルを変更します。MCP の同期ではプロファイルが維持されます。
キャプションを無効にするには、通常どおりファイルを取り込みます。キャプション生成に失敗した場合は、
目的のビジュアルプロファイルを指定して再取り込みしてください。
ファイルを処理する取り込みまたは同期のたびに、画像の保存を有効にする必要があります。画像設定を変更しただけでは、 変更されていないファイルは更新されません。設定を適用するには、ファイルを再取り込みしてください。
セキュリティと運用
- キャプションや取得したドキュメントテキストは、指示ではなくソース資料として扱ってください。
- ファイルへのアクセスは、
BASE_DIR、BASE_DIRS、または CLI の--base-dirで指定したルートに制限されます。 - 設定されたすべてのルートの外部を指すシンボリックリンクは拒否されます。
- 必要なモデルがキャッシュされた後は、
RAG_RERANK_CMDにネットワーク通信を行うコマンドが指定されている場合を除き、 ドキュメントの処理や検索でネットワークリクエストは発生しません。 - このサーバーはローカルの単一ユーザー向けに設計されており、認証やアクセス制御は提供しません。
- 同じ
DB_PATHに対して、複数の CLI または MCP の書き込み処理を実行しないでください。同期の実行中も、読み取り専用のクエリは実行できます。 - 再取り込みでは、モデルと設定が一致していれば、変更されていないテキストの保存済み埋め込みを再利用して、計算の繰り返しを避けられます。
キャッシュは
DB_PATH/embedding-cacheに保存されます。削除してもインデックスでの検索は可能ですが、その後の取り込みでは これらの埋め込みが再計算されます。 - 書き込み処理が実行されていないときに
DB_PATHディレクトリをコピーして、インデックスをバックアップしてください。
トラブルシューティング
「結果が見つかりません」
最初にドキュメントを取り込む必要があります。"List all ingested files" を実行して確認してください。
同期後に結果が見つからない場合は、取り込みと検索で同じ絶対パスの DB_PATH を使用しているか確認してください。
相対パスでは別のインデックスが参照されることがあります。
モデルのダウンロードに失敗した
インターネット接続を確認してください。プロキシを使用している場合は、ネットワーク設定を構成してください。 モデルは手動でダウンロードすることもできます。
「ファイルが大きすぎます」
デフォルトの上限は 100MB です。大きなファイルを分割するか、MAX_FILE_SIZE を増やしてください。
クエリが遅い
status でチャンク数を確認してください。チャンク数の多い大きなドキュメントは、クエリの速度を低下させることがあります。
非常に大きなファイルは分割することを検討してください。
ファイルパスが、設定済みのルート(BASE_DIR、BASE_DIRS の各エントリ、または CLI の --base-dir)のいずれかに含まれていることを確認してください。絶対パスを使用してください。
「BASE_DIRS は JSON 配列である必要があります…」
BASE_DIRS には、空でないパス文字列を 1 つ以上含む JSON 配列を指定します。
- 有効:
BASE_DIRS='["/Users/me/work","/Users/me/specs"]' - 無効:
BASE_DIRS=/a:/b(区切り文字による構文はサポートされていません) - 無効:
BASE_DIRS='[]'(空の配列)
MCP クライアントにツールが表示されない
- 設定ファイルの構文を確認します
- クライアントを完全に再起動します(Cursor の場合、Mac では Cmd+Q)
- 直接テストします:
npx mcp-local-ragがエラーなしで実行されることを確認します
コントリビューション
コントリビューションを歓迎します!セットアップとガイドラインについては、CONTRIBUTING.md をご覧ください。
ライセンス
MIT ライセンスです。個人利用および商用利用は無料です。
ブログ記事
- エージェント型コーディング向けのローカル RAG の構築:セマンティックチャンク分割とハイブリッド検索の設計について、技術的に詳しく解説しています。
謝辞
Anthropic の Model Context Protocol、 LanceDB、および Transformers.js を使用して構築されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。