mcpField
P
Paths-LE

Paths-LE

ローカル
letools.dev開発ツール11 日前に更新

Paths-LE について

Paths-LE は、コード、設定ファイル、テキストからファイルパスを抽出し、インポートやアセット参照、パス設定を確認する開発者向けツールです。エディターや CLI での抽出に加えてワークスペースを走査でき、CLI ではファイルシステム上の状態も検査できます。

主な機能

  1. 01コードや設定からパスを抽出
  2. 02インポート、HTML 属性、CSS 参照を解析
  3. 03パスの種類とソース位置を表示
  4. 04ワークスペースを走査し重複を集計
  5. 05CLI でファイルシステム上の状態を検査

活用シーン

  1. 01プロジェクト内のローカルインポートを確認
  2. 02HTML と CSS のアセット参照を一覧化
  3. 03ワークスペース内の欠落・範囲外パスを発見

MCP 対応

MCP サーバーは stdio 経由で extract_paths ツールを提供し、内容を受け取ってパスの分類と位置を返します。パスは記述どおりに報告し、ワークスペース上での解決やディスクへのアクセスは行いません。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"nolindnaidoo-paths-le": {
"command": "npx",
"args": [
"-y",
"paths-le-mcp"
]
}
}
}
起動コマンドnpx -y paths-le-mcp

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

パッケージ
npmpaths-le-mcp2.4.1

ツール

1

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
dedupebooleanいいえ重複するパスを最初の出現箇所にまとめます。
formatenumいいえドキュメント形式。一般的な拡張子と別名を受け付けます。省略すると、`filename` とともにテキストを汎用的にスキャンします。csv | tsv | toml | dotenv | javascript | typescript | json | html | css | yaml | markdown
contentstringはいスキャンするドキュメントのテキスト。
filenamestringいいえ`format` が指定されていない場合に形式の推定に使用するファイル名。例:"tsconfig.json"。
maxResultsintegerいいえ返されるパスの上限(デフォルトは 500)。meta.truncated は、破棄された結果があるかどうかを示します。

詳細

Paths-LE ロゴ

Paths-LE:手間なくパスを抽出

キーを1回押すだけで、現在のファイルからすべてのファイルパスを抽出
JavaScript、TypeScript、JSON、YAML、HTML、CSS、TOML、CSV、Environment ファイル、そしてテキストスキャンによるその他すべてのファイル

VS Code Marketplace からインストール Open VSX のダウンロード数 npm の paths-le-mcp npm の paths-le crates.io の paths-le LE Tools


VS Code の Paths-LE

便利ですか? 星や評価を付けると、ほかの開発者にも見つけてもらいやすくなります — ★ GitHub · ★ Open VSX · ★ Marketplace

できること

ファイルを開いて Paths-LE: Extract Paths を実行すると、ドキュメント内のすべてのファイルパスが新しいエディターに表示されます。そこで重複を削除し、並べ替えられます。VS Code と、Cursor や VSCodium などの VS Code ベースのエディターで動作します(Open VSX からインストールできます)。

  • インポート分析 — JS/TS のローカルインポートを抽出します。複数行のインポート文にも対応し、npm パッケージ名は除外されます
  • アセット監査 — HTML/CSS 内のすべての src、href、srcset、url()、@import
  • 設定の確認 — JSON/JSONC、YAML、TOML、CSV、.env ファイルからパスらしい値を抽出します
  • その他あらゆるファイル — Python、Go、Markdown、XML、Dockerfile など。パーサーは使わず、テキストスキャンで引用符付きのファイル名と、パス区切り文字を含むあらゆる文字列を検出します

インストール

場所利用できる機能インストール
VS Codeキー操作ひとつでエディター内から抽出Marketplace
Cursor、VSCodium、Windsurf同じ拡張機能Open VSX
ターミナルまたは CI のステップ終了コードを返しながら、ディレクトリ全体を同様に処理npx paths-le · npm または cargo install paths-le · crates.io
Node 経由のあらゆる MCP エージェントstdio 経由の extract_paths — このバイナリが提供するものと同じツールnpx paths-le-mcp · npm

AI エージェントから使う

同じエンジンがMCPサーバーとして動作するため、コマンドを実行する代わりに、エージェントから直接呼び出せます。

エディター方法
VS Code 1.101+インストールは不要です。拡張機能がエージェントモードにextract_pathsを登録します
Claude Codeclaude mcp add paths-le -- npx -y paths-le-mcp
Cursor、Windsurf、その他npx paths-le-mcpを指定します

Claude Codeのエージェントがpaths-le MCPサーバーを呼び出している様子

extract_paths(content, format?, filename?, dedupe?, maxResults?)

ファイル、相対パス、絶対パス、URLに分類されたすべてのパスを、1始まりの行番号と列番号とともに返します。パスは記載されたとおりに報告され、ワークスペースを基準に解決したり、ディスク上のファイルに触れたりすることはありません。

サーバーはコンテンツを受け取ってデータを返します。ファイルの読み取りや、独自のネットワークリクエストは行いません。npmではpaths-le-mcpとして、MCPレジストリではio.github.nolindnaidoo/paths-leとして公開されています。

手動での設定 — MCP設定ファイルを使う任意のホスト

ほとんどのホストはJSON設定を読み込みます。エントリーを1つ追加してください。

{
  "mcpServers": {
    "paths-le": {
      "command": "npx",
      "args": ["-y", "paths-le-mcp"]
    }
  }
}

初回実行時に-yを指定すると、インストール確認を省略できます。リリースを追跡しない場合は、[email protected]のようにバージョンを固定してください。

起動のたびにnpxを使いたくない場合は、一度インストールして、代わりにバイナリを指定してください。

npm install -g paths-le-mcp
{
  "mcpServers": {
    "paths-le": { "command": "paths-le-mcp" }
  }
}

MCP over stdioで通信し、環境変数、APIキー、独自の設定は必要ありません。組み込む前に確認するには、次のコマンドを実行してください。

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | npx -y paths-le-mcp

ツール一覧を表示して終了します。extract_pathsが表示されれば、サーバーは動作しています。

## フォルダーまたはワークスペース全体を対象にする

Extract は、開いているドキュメントを読み取ります。スキャンではディスク上の多数のファイルを読み取り、1 つのレポートにまとめます。

  • ワークスペース全体:コマンドパレットから Paths-LE: Extract Paths from Workspace を実行します。
  • 1 つのフォルダー:エクスプローラーでフォルダーを右クリックして Extract Paths from Folder を選択するか、Paths-LE: Extract Paths from Folder を実行してフォルダーを選択します。

プロジェクトでは同じパスが何か所にも書かれるため、レポートには重複を除いたパスが使用頻度の高い順に表示され、それぞれの記載回数と記載場所も示されます。

# Paths-LE workspace report

`my-project` · 4 file(s) read · 2 distinct path(s), 4 occurrence(s) in 3 file(s)

| Path | Occurrences | Files |
|---|---|---|
| `./lib/util` | 3 | 2 |
| `./config/app.json` | 1 | 1 |

## `./lib/util` (3)

- `src/a.ts` · **1:20**, **2:20**
- `src/b.ts` · **1:20**

## `./config/app.json` (1)

- `deploy.json` · **2:14**

## Could not be read (1)

- `bad.csv`: Invalid CSV: quoted field is never closed (row 1, cell 2)

これは paths-le.showPositions がオンの場合です。デフォルトではオフになっており、その場合は各行にファイル名と、そのファイル内でのパスの記載回数が表示されます:src/a.ts (2)。クリップボードにコピーされる内容は、Extract と同様に paths-le.clipboardIncludesPositions に従います。

形式リーダーが読み取りを拒否したファイルは、理由とともに一覧表示され、決して見落とされることはありません。パスを含む不正な形式の CSV ファイルは、パスをまったく含まないファイルとは異なります。

スキャンでは、各パスが記載どおりに報告されます。resolution の設定にかかわらず、シンボリックリンクやワークスペース相対パスの解決は行いません。これらの設定は、1 台のマシン上にある 1 つのドキュメントを対象とするものです。

スキャンで読み取る内容。 ファイルはディスクから読み取られるため、保存していない編集は反映されません。安全サイズを超えるファイルや UTF-8 テキストではないファイルは読み取られません。5,000 ファイルまたは 10,000 件のパス出現に達すると停止します。レポートの末尾には、対象から除外された各項目が記載されるため、短いレポートをプロジェクトに問題がない証拠と誤解することはありません。

スキップされるものと、その変更方法。 デフォルトで 3 つのスイッチがオンになっており、それぞれ Settings で個別にオフにできます。

スイッチスキップするもの
scanUseDefaultExcludes依存関係フォルダー、ビルド出力、ツールのキャッシュ、ロックファイル。全一覧は以下を参照してください
scanRespectGitignoreプロジェクトの .gitignore ファイルでスキップされるもの
scanSkipBinaryFiles画像、フォント、アーカイブなどのテキストではないファイル

スイッチをオフにせずに結果を調整できるリストが 2 つあります。さらにスキップするには、scanExcludes にパターンを追加します。スイッチによってスキップされるものを読み取るには、scanAlwaysInclude に追加します。

{
	// Also skip the test fixtures.
	"paths-le.workspace.scanExcludes": ["**/fixtures/**"],
	// Read the vendored code, though the built-in list skips it.
	"paths-le.workspace.scanAlwaysInclude": ["**/vendor/**"]
}

Paths-LE: Open Settings を実行すると、Settings エディターでこれらすべてを開けます。

組み込みリスト

場所を問わず対象となるフォルダー:

.git、.hg、.svn、node_modules、bower_components、jspm_packages、.pnpm-store、.yarn、vendor、site-packages、Pods、Carthage、dist、build、out、target、_build、_site、dist-newstyle、zig-out、storybook-static、cdk.out、DerivedData、CMakeFiles、.next、.nuxt、.output、.svelte-kit、.angular、.astro、.docusaurus、.vuepress、.expo、.turbo、.parcel-cache、.cache、.sass-cache、.jekyll-cache、.dart_tool、.pub-cache、.gradle、.kotlin、.cxx、.externalNativeBuild、captures、ephemeral、.symlinks、.swiftpm、.build、.bundle、.stack-work、.zig-cache、.godot、elm-stuff、.vercel、.netlify、.serverless、.aws-sam、.terraform、.venv、venv、__pycache__、.tox、.nox、.mypy_cache、.pytest_cache、.ruff_cache、.ipynb_checkpoints、.eggs、coverage、htmlcov、.nyc_output、.vscode-test、.idea、.vs、xcuserdata、*.egg-info

場所を問わず対象となるファイル:

*.min.js、*.min.css、*.map、*.snap、*.lock、package-lock.json、pnpm-lock.yaml、npm-shrinkwrap.json、go.sum、*.pbxproj、*.iml、local.properties、output-metadata.json、.flutter-plugins、.flutter-plugins-dependencies、.packages、Generated.xcconfig、flutter_export_environment.sh、GeneratedPluginRegistrant.*、fastlane/report.xml、fastlane/test_output/**、doc/api/**

多くのプロジェクトで一般的なフォルダーであるため、一覧に含まれていないもの:bin、obj、tmp、logs、public、generated。これらのフォルダーを生成するプロジェクトでは、Git の対象から除外され、スキャンは .gitignore を読み取ります。

スキャンに関する設定は、Settings の下にあります。

CLI

同じ抽出処理をターミナルやエージェントのループから実行できます。このリポジトリのcrate/にあるRust製CLIは、拡張機能と同じコーパスcrate/fixtures/を共有しているため、2つの間でドキュメントの読み取り方に違いがあればCIで失敗します。npmからnpm install -g paths-leでインストールするか(またはnpx paths-leで実行)、crates.ioからcargo install paths-leでインストールできます。どちらも同じコマンドをインストールし、出力はバイト単位で完全に一致します。

エディターだけではできない処理も行います。見つけたものを、実行場所のファイルシステムに照らして解決します。 すべてのパスに判定結果が付きます。存在する、見つからない、監査対象ツリーの外に出ている、正規形式ではない、またはリンク先を明示したシンボリックリンクです。

ターミナル上のpaths-le

npm (paths-le) またはcrates.io (paths-le) からインストールできます。 どちらも同じpaths-leコマンドをインストールします。

npm上のpaths-le crates.io上のpaths-le

npm install -g paths-le   # or run it once: npx paths-le
cargo install paths-le
paths-le .                    # audit a tree; summary on stderr, JSON on stdout when piped
paths-le --strict .           # count sloppily-written paths too
paths-le --no-resolve src/    # just list what is written, touch nothing
paths-le mcp                  # the same audit over MCP on stdio

終了コードが答えです。0は問題なし、1は検出結果あり、2は質問の形式が不正です。そのため、paths-le --strict .はそのままCIのステップとして使えます。

対応形式

形式言語ID抽出対象
JavaScript / TypeScriptjavascript, javascriptreact, typescript, typescriptreactimport/export … from、副作用インポート、動的なimport()、require() — ファイルパスのみ。パッケージ名は除外
JSON / JSONCjson, jsoncパスらしい文字列値(コメントと末尾のカンマに対応)
HTMLhtmlsrc、href、srcset(各エントリ)、action、posterなどの属性
CSS / SCSS / LESScss, scss, lessurl()と@import
TOMLtomlパスらしい値とキー
CSVcsvパスらしいセル
環境変数dotenv, envパスらしい変数値と名前
YAMLyamlファイル内のすべてのドキュメントにわたる、パスらしいスカラー値とキー
その他すべてその他の言語IDテキストスキャン:引用符で囲まれたトークンと、パス区切り文字を含む区切りのない文字列

JS/TS、JSON/JSONC、HTML、CSS、テキストスキャンでは、位置は実際のソース位置(パスの正確な行と列)です。TOMLとYAMLではソーステキスト内の位置を特定しますが、同じ値が繰り返されている場合は概算になることがあります。CSVの位置は行/セル座標です。バージョン文字列(1.8.1)とIPアドレスはパスとして扱われません。また、HTML/CSSの抽出ではdata:/javascript: URLを除外します。裸のドメイン(example.com、www.example.org)はパスではありませんが、docs.rsのように国別コードの拡張子で終わる名前はパスとして扱われます。

テキストスキャンでは、引用符で囲まれている場合に限り、裸のname.extを対象とします。Pythonファイル内のos.pathとmain.pyは同じ形をしており、辞書を使わない限り両者を区別するルールはありません。しかし、ソースコードではファイル名を引用符で囲み、属性アクセスは引用符で囲まないため、引用符の有無で区別できます。シェルコマンドを含むYAMLスカラー(run: node ./scripts/build.js)はスペースを含む1つのトークンなので、JSONやTOMLと同様に、そこからパスは抽出されません。

コマンド

コマンド説明
Paths-LE: Extract Pathsアクティブなドキュメントからすべてのパスを抽出します
Paths-LE: Extract Paths from Workspaceワークスペース内のすべてのファイルから重複のないパスを抽出し、それぞれの場所を表示します
Paths-LE: Extract Paths from Folder1つのフォルダーについて同様に実行します。エクスプローラー内のフォルダーでも使用できます
Paths-LE: Deduplicate Paths結果から重複する行を削除します
Paths-LE: Sort Paths結果をアルファベット順または長さ順に並べ替えます
Paths-LE: Open SettingsPaths-LE の設定を開きます
Paths-LE: Help組み込みのドキュメント

デフォルトでは、どのコマンドにもキーは割り当てられていません。エディターの Keyboard Shortcuts で、任意のキーを割り当ててください。

設定

設定デフォルト説明
paths-le.openResultsSideBySidetrue結果を現在のエディターの横に開きます
paths-le.postProcess.openInNewFiletrue結果を新しいファイルで開きます(横に並べない場合)
paths-le.showPositionsfalse各パスの行と列を表示します
paths-le.copyToClipboardEnabledfalse結果をクリップボードにもコピーします
paths-le.clipboardIncludesPositionsfalseコピーに行と列を含めます
paths-le.notificationsLevelsilentall = すべての通知、important = 警告とエラー、silent = エラーのみ
paths-le.workspace.scanPatterns["**/*"]フォルダーまたはワークスペースのスキャンで読み取るファイル
paths-le.workspace.scanUseDefaultExcludestrue依存関係のフォルダー、ビルド出力、キャッシュ、ロックファイルをスキップします
paths-le.workspace.scanRespectGitignoretrueプロジェクトの .gitignore ファイルで除外されるものをスキップします
paths-le.workspace.scanSkipBinaryFilestrue画像、フォント、アーカイブなど、テキストではないファイルをスキップします
paths-le.workspace.scanExcludes[]グロブパターンで指定する、追加でスキップするファイル
paths-le.workspace.scanAlwaysInclude[]上記3つのいずれかでスキップされる場合も読み取るファイル
paths-le.workspace.scanMaxFiles50001回のスキャンで読み取るファイルの最大数
paths-le.workspace.scanMaxResults10000読み取りを停止するまでに1回のスキャンで一覧表示する出現箇所の最大数
paths-le.safety.enabledtrue非常に大きなファイルに対するガードレールを有効にします
paths-le.safety.fileSizeWarnBytes1000000このファイルサイズを超える場合、抽出を拒否します
paths-le.safety.largeOutputLinesThreshold50000この行数を超える場合、警告します
paths-le.statusBar.enabledtrueステータスバーの項目を表示します
paths-le.telemetryEnabledfalseローカルのみのイベントログ(プライバシーを参照)
paths-le.resolution.resolveSymlinksfalse⚠️ シンボリックリンクを正規パスに解決します
paths-le.resolution.resolveWorkspaceRelativefalse⚠️ ワークスペースフォルダーを基準にパスを解決します

言語

英語以外に12言語に対応しています。

ドイツ語 · スペイン語 · フランス語 · インドネシア語 · イタリア語 · 日本語 · 韓国語 · ポルトガル語(ブラジル) · ロシア語 · ウクライナ語 · ベトナム語 · 中国語(簡体字)

両方に対応しています。マニフェスト(コマンドのタイトル、設定名、説明)と、 拡張機能の実行中に表示されるすべての項目(通知、 ステータスバー、クイックピック、プロンプト)です。拡張機能は VS Code の 表示言語に従うため、エディターで現在設定されている言語に一致します。拡張機能独自の 設定はありません。

プライバシーとセキュリティ

  • ネットワークアクセスはありません。 拡張機能がデータをどこかに送信することはありません。telemetryEnabled 設定は、確認できるローカルの出力チャンネル(Paths-LE Telemetry)にイベントを書き込むだけです。
  • 正規化解決はオプトインで、事前に警告します。 シンボリックリンクやワークスペース相対パスを解決すると、結果ドキュメントに絶対ファイルシステムパスが含まれる場合があります。拡張機能は初回使用前に警告します。必要でない限り、両方の resolution.* 設定をオフのままにしてください。
  • MCP サーバーも同じ方針を守ります。 コンテンツを引数として受け取り、データを返します。ファイルシステムへのアクセス、ネットワーク呼び出し、テレメトリーはありません。エージェントにはすでにファイル読み取りツールがあるため、サーバー内で重複させても機能が増えず、パストラバーサルのリスクが生じるだけです。サーバーがいずれかに到達できるものをインポートした場合、check:mcp-bundle はビルドを失敗させます。
  • エラー通知では、ホームディレクトリと認証情報らしき文字列が伏せられます。
  • 評価プロンプトは最大2回です。 3回目の正常な使用時に、拡張機能は評価していただけるか一度だけ尋ねます。後でを選ぶか、プロンプトを閉じた場合は、20回目にもう一度だけ尋ねます。再度表示しないを選ぶと終了します。notificationsLevel をご自身で important または silent に設定すると、プロンプトは無効になります。回数は VS Code の拡張機能ストレージに保存され、データがどこかに送信されることはありません。評価するを選ぶと、インストール元のマーケットプレース(VS Code Marketplace または Open VSX)がブラウザーで開きます。

ドキュメント

内容場所
ツールが述べてよい内容 — 範囲、出力仕様、拒否、対象外事項crate/SPEC.md
拡張機能の構築と仕組み — アーキテクチャ、不変条件、ツールチェーン、リリースAGENTS.md
CLI の構築と仕組みcrate/AGENTS.md
変更内容CHANGELOG.md · crate/CHANGELOG.md
このツールのページと、その他15個letools.dev/tools/paths-le

パフォーマンス

入力サイズ検出数時間速度スキャン速度
TypeScript のインポート2.10 MB40,00019.85 ms2,015,130/秒105.9 MB/s
JSON 設定1.17 MB40,00123.17 ms1,726,103/秒50.6 MB/s
HTML ドキュメント1.27 MB40,00018.64 ms2,146,436/秒67.9 MB/s
CSS スタイルシート1.57 MB40,00016.47 ms2,428,210/秒95.3 MB/s
CSV データ2.09 MB60,00067.22 ms892,581/秒31.1 MB/s

Apple M5 Pro、RAM 24 GB、Node 24.3.0 で、ウォームアップ後に7回実行した中央値です。入力はリポジトリに含めず、scripts/benchmark.ts で生成するため、上記のサイズは実際に測定した値と完全に一致します。bun run benchmark で再現できます。

これらの値はマシン固有であり、CI では検証されません。ビルドのゲートにベンチマークを使っても、ランナーがどれだけビジーだったかが分かるだけです。

テスト

指標カバレッジ
ステートメント81.44%
分岐72.12%
関数90.02%
行83.20%

38ファイルにわたる537件のテストケースに加え、実際の VS Code 拡張機能ホストで実行する統合テストスイートと、ビルドした .vsix をクリーンなプロファイルにインストールするエンドツーエンドテストがあります。

実際の実行結果である coverage/coverage-summary.json と coverage/test-results.json から、scripts/coverage-readme.js によって生成されます。このセクションに差異があると CI は失敗します。bun run test:coverage で再現できます。ケース数は vitest が出力する値です。

LE ファミリーのその他のツール

あらゆるモデルが直面する作業に対応する、単機能ツールが16個あります。それぞれに Rust CLI と MCP サーバーが付属します。詳細はこちら:letools.dev

取り出す

  • String-LE — コードベース内のすべての文字列を抽出し、人が読めるようにします
  • Numbers-LE — コードベース内のすべてのハードコードされた数値を抽出し、人が確認できるようにします
  • Units-LE — 単位付きの数量をすべて抽出して正規化し、曖昧なものは名前を示して対象外にします
  • Dates-LE — すべての日付とタイムスタンプ、およびそれぞれが解決される正確な時点を抽出します
  • IDs-LE — UUID、ULID、NanoID、ObjectId、Snowflakeをすべて抽出し、内部に含まれる時刻をデコードします
  • IPs-LE — IPアドレス、CIDRブロック、MACアドレスをすべて抽出し、正規化してスコープ別に分類します
  • URLs-LE — コードベース内のすべてのURLを、プロトコルと正確な位置情報とともに抽出します
  • Paths-LE — コードベース内のすべてのファイルパスを抽出し、現在も何かを指しているかどうかを示します
  • Colors-LE — コードベース内のすべての色を抽出し、パレットにない色を示します

チェックする

  • Regex-LE — コードベース内のすべての正規表現を検出し、壊滅的なバックトラッキングを引き起こす可能性があるものを報告します
  • Versions-LE — リポジトリ内のマニフェスト間で、同じ依存関係のバージョン制約が異なる箇所を検出します
  • i18n-LE — プロジェクトで使用している i18n ライブラリを特定し、そのライブラリのルールに基づいてカタログを監査します
  • Scrape-LE — スクレイパーを書く前にページをスクレイピングできるか確認し、判定できない場合はその旨を示します

保護する

  • Secrets-LE — コードベース内のハードコードされた認証情報を検出し、レポートに表示することはありません
  • EnvSync-LE — ディレクトリツリー内の dotenv ファイルを比較し、どのファイルにどのキーがないかを示します
  • Unicode-LE — 意味を隠す Unicode を検出します。双方向制御文字、不可視文字、ホモグリフ、混在スクリプトが対象です

それぞれが独立しています。共有クレートも、公開されたコアもありません。2つのツールが同じ答えにたどり着くとすれば、それはその答えが2度正しかったからです。

お問い合わせ — nolindnaidoo.com · GitHub · LinkedIn

nolindnaidoo によるその他のプロジェクト

Rust — pixelcoords と pixelactions は一連のループを構成します。pixelcoords が 場所 に答え、pixelactions がそこで 操作 します。それぞれ独自のツールと独自の方針を持ち、LE ファミリーには属しません。

ライセンス

MIT © nolindnaidoo

コメント

MCP は初めてですか?

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

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