Documentation Index
Fetch the complete documentation index at: https://linkly.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
ツール概要
Linkly AI は MCP(Model Context Protocol)を通じて AI アシスタントに 7 つのツールを公開し、段階的なドキュメントアクセスワークフローを構成します:list_libraries(ナレッジライブラリの一覧表示)、explore(ドキュメントコレクションの概要表示)、find_paths(キーワードでフォルダパスを特定し、search の path_glob に渡す)。
search
ドキュメントを検索し、関連する結果を取得
outline
ドキュメントのアウトラインを表示し、構造を把握
grep
正規表現で特定のテキストパターンを検索
read
ドキュメントの内容を読み取り、詳細情報を取得
list_libraries
ナレッジライブラリとそのドキュメント数を一覧表示
explore
ドキュメントコレクションのテーマと構造の概要を表示
find_paths
キーワードでフォルダパスを特定し、
search の path_glob に渡す検索(search)
インデックス済みのローカルドキュメントを検索し、最も関連性の高い結果リストを返します。パラメータ
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
query | string | はい | — | 検索キーワードまたはフレーズ |
limit | number | いいえ | 20 | 最大返却結果数(1-50) |
doc_types | string[] | いいえ | 全部 | ドキュメントタイプでフィルター、例:["pdf", "md", "docx"] |
library | string | いいえ | — | 特定のライブラリに検索を限定します。list_libraries で利用可能なライブラリを確認できます |
path_glob | string | いいえ | — | SQLite GLOB 構文でファイルパスをフィルターします。* は任意の文字列(/ を含む)、? は単一文字にマッチ。常に大文字小文字を区別。実際のパスが不明な場合は、先に find_paths を呼び出してください |
modified_after | string | いいえ | — | 更新日時の下限(含む)。ISO 8601 UTC 形式:日付のみ 2024-01-01(00:00:00Z として扱われる)または完全な RFC 3339 2024-01-01T00:00:00Z |
modified_before | string | いいえ | — | 更新日時の上限(含む)。形式は modified_after と同じ |
time_sort | string | いいえ | default | 時間順での並べ替え:default(関連度順を保持)/ newest(新しい順)/ oldest(古い順)。候補集合が選定・重複排除された後にのみ並べ替えを適用 |
output_format | string | いいえ | markdown | json に設定すると構造化 JSON 出力を取得 |
- ユーザーが明確な期間を指定する場合(「先月」「2024 年中」「直近 3 ヶ月」)は、
modified_after/modified_beforeを使います。 - ユーザーが「最近」「最新」「最古」のように具体的な期間を指定しない場合は、
time_sort=newestまたはoldestを使います。 - 両者は組み合わせ可能:「2024 年で最も古いもの」は
modified_after=2024-01-01+modified_before=2024-12-31+time_sort=oldestです。 - 「先月」のような相対日付を計算するには、まず任意のツール応答末尾の
[meta] now=...フィールドから現在の UTC 時刻を読み取り、そこから日付を算出してください。詳しくは下記の レスポンスメタデータ を参照。
返却フィールド
各検索結果には以下の情報が含まれます:| フィールド | 説明 |
|---|---|
doc_id | ドキュメントの一意識別子。後続の outline/read 呼び出しに使用 |
title | ドキュメントタイトル |
path | ファイルパス |
relevance | 関連度スコア(0-1) |
word_count | ドキュメントの語数 |
total_lines | ドキュメントの総行数 |
has_outline | 利用可能なアウトラインがあるか |
modified_at | 最終更新日時 |
keywords | 抽出されたキーワードリスト |
snippet | マッチした内容のスニペット |
使用例
アウトライン(outline)
1 つまたは複数のドキュメントの構造化されたアウトラインとメタデータを取得し、ドキュメント構造の迅速な把握と対象セクションの特定に役立ちます。パラメータ
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
doc_ids | string[] | はい | — | ドキュメント ID リスト(検索結果から取得) |
expand | string[] | いいえ | 自動 | 展開するノード ID(例:["2", "3.1"])、省略するとすべての階層を自動表示 |
output_format | string | いいえ | markdown | json に設定すると構造化 JSON 出力を取得 |
アウトラインを使うべきタイミング
| シナリオ | 推奨 |
|---|---|
| 50 行超のドキュメントでアウトラインあり | まずアウトラインを確認し、対象セクションを読み取る |
| 短いドキュメント(50 行未満) | アウトラインをスキップし、read で全文を直接読む |
has_outline: false のドキュメント | grep でパターンを検索するか、read でページごとに閲覧 |
アウトライン機能はブックマーク付きの PDF、Markdown、DOCX
のドキュメントで最も効果的です。長いドキュメントや書籍を読む際に特に有効です。
プレーンテキストやブックマークのない PDF
へのアウトラインサポートは、今後のイテレーションで追加予定です。
使用例
Grep
単一のドキュメント内で正規表現パターンにより特定の行を検索します。アウトラインが利用できないhas_outline=false のドキュメントに最適です。search の後に使用して、名前、日付、用語、識別子、その他のパターンの正確な位置を特定し、read で offset を指定して前後の文脈を確認します。すべてのドキュメントタイプ(PDF、Markdown、DOCX、TXT、HTML)で動作します。複数のドキュメントを検索する場合は、ドキュメントごとに grep を 1 回呼び出してください。
パラメータ
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
pattern | string | はい | — | 検索する正規表現パターン |
doc_id | string | はい | — | 検索対象のドキュメント ID(検索結果から取得) |
context | number | いいえ | 3 | 各マッチの前後に表示するコンテキスト行数 |
before | number | いいえ | — | 各マッチの前に表示するコンテキスト行数(context を上書き) |
after | number | いいえ | — | 各マッチの後に表示するコンテキスト行数(context を上書き) |
case_insensitive | boolean | いいえ | false | 大文字小文字を区別しないマッチング |
output_mode | string | いいえ | content | content(コンテキスト付きマッチ行)または count(マッチ数のみ、先に合計を確認する場合) |
limit | number | いいえ | 20 | 返却するマッチ行の最大数(最大 100) |
offset | number | いいえ | 0 | ページネーション用にスキップするマッチ数 |
output_format | string | いいえ | markdown | json に設定すると構造化 JSON 出力を取得 |
Grep とアウトラインの使い分け
| シナリオ | 推奨 |
|---|---|
| 特定の用語、名前、日付を検索したい | パターンを指定して grep を使用 |
| ドキュメント全体の構造を把握したい | outline を使用 |
アウトラインがないドキュメント(has_outline: false) | grep でコンテンツを検索 |
| パターンの検索(メール、ID、数値など) | 正規表現で grep を使用 |
使用例
読み取り(read)
ドキュメントの内容を行番号での位置指定とページネーションで読み取ります。長いドキュメントの特定部分の読み取りに適しています。Read ツールは Claude AI SDK と一貫した動作をするため、各種 Agentic AI モデルで最適な結果が得られます。パラメータ
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
doc_id | string | はい | — | ドキュメント ID(検索結果から取得) |
offset | number | いいえ | 1 | 開始行番号(1 から開始) |
limit | number | いいえ | 200 | 読み取り行数(最大 500) |
output_format | string | いいえ | markdown | json に設定すると構造化 JSON 出力を取得 |
コンテンツ形式
Read ツールは行番号付きの内容を返し、参照と位置特定が容易です:
ページネーション戦略
長いドキュメントの場合、分割して読み取ることをお勧めします:read でその範囲の内容を正確に読み取れます。
使用例
ライブラリ一覧(list_libraries)
ユーザーが設定したすべてのナレッジライブラリを、説明とドキュメント数とともに一覧表示します。パラメータ
パラメータは不要です。ユースケース
- ユーザーが「どんなライブラリがありますか?」と質問した場合
searchのlibraryパラメータを使用する前に、ライブラリ名を確認する場合
探索(explore)
インデックス済みの全ドキュメントまたは特定のライブラリの鳥瞰的な概要を取得します。ドキュメントタイプの分布、ディレクトリ構造(ファイル数と語数の中央値付き)、上位キーワード(出典の帰属付き)を返します。パラメータ
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
library | string | いいえ | — | 特定のライブラリに限定します。省略するとすべてのドキュメントを探索します |
ユースケース
- ユーザーがナレッジベースやドキュメントコレクションの内容を知りたい場合
- ユーザーに特定の検索トピックがなく、利用可能なテーマや方向性を発見したい場合
- AI アシスタントが効果的な検索戦略を策定するために、規模とトピック分布を把握する必要がある場合
search クエリに活用します。
パス特定(find_paths)
インデックス済みドキュメントのファイルパスフィールドに対してキーワードで曖昧マッチングを行い、フォルダ単位で集約して上位の候補ディレクトリを返します。search の補助ツールとして位置づけられており、ユーザーがコンテナを名前で示しているのに(「Notion ノートの中で」「Dropbox の論文フォルダで」)その実際のディスク上のパスがわからないとき、まず find_paths で実際のパスを探し、それを search の path_glob パラメータに渡します。
ディスク上の実際のフォルダ名は、ユーザーの口語表現と一致しないことが多く(例:エクスポートが Notion-Export-c58e430f... のような名前で保存される)、path_glob を直接推測するのは脆弱です。
パラメータ
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
patterns | string[] | はい | — | キーワード配列。各要素は内部で SQL LIKE %keyword% としてパスに対してマッチング。複数のキーワードは OR 関係のため、1 回の呼び出しで複数のバリエーションを渡すことを推奨(翻訳ペア、大文字小文字、既知のアプリ/SDK 識別子など)。例:["Notion", "notion", "notion-export"]。ASCII は大文字小文字を区別しない、CJK は字面一致 |
library | string | いいえ | — | 特定のライブラリに限定して検索。list_libraries で利用可能なライブラリを確認できます |
limit | number | いいえ | 10 | 候補ディレクトリの最大数(最大 50) |
output_format | string | いいえ | markdown | json に設定すると構造化 JSON 出力を取得 |
返却フィールド(JSON モード)
| フィールド | 説明 |
|---|---|
total_files | 返却された候補に集約されたファイル総数(limit による切り捨て前) |
truncated | limit によりディレクトリリストが切り詰められたか(true の場合、まだ候補が存在) |
directories | 候補ディレクトリの配列。file_count の降順で並ぶ。各エントリは path(パス、フルパス表示設定がオフの場合は短縮)と file_count(マッチ数)を持つ |
集約の挙動
- パターンがファイル名セグメントにしかマッチしないファイル(ディレクトリセグメントにマッチがない)は静かに破棄されます。これは「フォルダを探す」ツールであり、「ファイルを探す」ツールではないためです。マッチするファイルがあるはずなのに候補ディレクトリが 0 件返る場合は、
searchを直接呼び出すフォールバックを検討してください。 - 各マッチは、パス内で最も浅い位置にあるパターン出現を基準に、次の
/で切り詰められて集約されます。例:local:///Users/me/Documents/Notion-Export-abc/workspace/page.mdがキーワードNotionでヒットすると、ファイルがどれだけ深くても.../Documents/Notion-Export-abcに集約されます。
使用すべきとき
- ユーザーが曖昧または異言語の語でコンテナを表現しており(「Notion ノートの中で」「Dropbox の論文フォルダで」「ワークバックアップで」)、実際のパスがわからないとき
searchを呼び出す前に、path_globの値を決定するため
使用すべきでないとき
- 内容/トピックそのものを探すクエリ(「履歴書を探す」「AI 論文を探す」)—— 直接
searchを呼ぶ。混合検索はすでにタイトル/ファイル名/本文/パスをカバー - ファイルタイプのみでフィルター(「すべての PDF」)——
searchにpath_glob="*.pdf"を直接渡す - コンテナ意図のない漠然としたクエリ(「最近のもの」)——
searchを直接
使用例
レスポンスメタデータ
成功した各ツール応答には現在の UTC 時刻が付加され、呼び出し側がモデルの学習データのカットオフに依存せずに「先月」「今年」「過去 30 日間」などの相対日付を計算できるようになっています。-
Markdown 出力:応答末尾に区切りブロックが追加されます:
-
JSON 出力:トップレベルに
_metaオブジェクトが追加されます:
isError: true)にはメタデータが付加されません —— エラー本体がすでに失敗の原因を伝えており、タイムスタンプを付加するとシグナルが希薄になるためです。
ユーザーが相対日付を使う場合は、最新のツール応答から now を読み取り、対応する ISO 8601 日付を計算してから search の modified_after / modified_before に渡します。
ワークフロー例
完全なワークフロー:CLI 方式
以下の例は、CLI を使って完全なドキュメント検索を行う方法を示しています:完全なワークフロー:MCP 方式
AI アシスタントが MCP プロトコルでツールを呼び出す場合、リクエスト形式は以下の通りです:よくある質問
どのドキュメント形式に対応していますか?
どのドキュメント形式に対応していますか?
Linkly AI は現在、以下の形式に対応しています:
| 形式 | 拡張子 | アウトライン対応 |
|---|---|---|
| Markdown | .md, .mdx | Yes |
| Word | .docx | Yes |
.pdf | Partial | |
| プレーンテキスト | .txt | No |
| HTML | .html, .htm | Partial |
| 画像(OCR) | .png, .jpg, .jpeg, .bmp, .webp | No |
アウトラインが利用できない場合はどうすればよいですか?
アウトラインが利用できない場合はどうすればよいですか?
ドキュメントに利用可能なアウトラインがない場合(
has_outline: false)、以下の方法があります:readツールを直接使用して、ドキュメントの内容をページごとに閲覧します- まずドキュメントの冒頭(デフォルト 200 行)を読み取り、大まかな内容を把握してから続きを読むか判断します
長いドキュメントはどのように処理すればよいですか?
長いドキュメントはどのように処理すればよいですか?
推奨フロー:
- まず
outlineでドキュメントの構造を把握します(アウトラインがある場合) - アウトライン内の行範囲に基づいて、
readのoffsetとlimitパラメータで対象セクションを正確に読み取ります - 1 回の読み取りは最大 500 行です。
offsetを調整してページごとに読み取ります
MCP サービスのデフォルトポートは何番ですか?
MCP サービスのデフォルトポートは何番ですか?
デフォルトポートは 60606 です。このポートが使用中の場合、アプリは自動的に他のポートを試行します。Linkly AI Desktop の設定で実際に使用されているポートを確認できます。
検索結果が不正確な場合はどうすればよいですか?
検索結果が不正確な場合はどうすればよいですか?
以下をお試しください:
- より正確なキーワードを使用する
- 自然言語での記述を使用する(ベクトルセマンティックマッチングを活用)
- キーワードと同義語を組み合わせる(例:
"authentication auth login sign-in") --typeで特定のドキュメントタイプをフィルターし、検索範囲を絞り込む

