Domain Search Mcp について
Domain Search MCP は、ドメインとソーシャルハンドルの空き状況を確認する MCP サーバーです。プロジェクト名を検討する開発者やチーム向けで、設定なしで RDAP と WHOIS による公開データを参照できます。レジストラの価格は任意のバックエンドで取得でき、候補名のスコアリングとランキングも行います。
主な機能
- 01複数 TLD のドメイン空き状況チェック
- 02最大 100 件の一括チェック
- 03プレミアムおよびオークションドメインの検出
- 04任意のレジストラ価格比較
- 0510 プラットフォームのソーシャルハンドル確認
- 06name_project による二段階の命名エンジン
活用シーン
- 01新規プロジェクト向けのドメインと TLD の組み合わせ検討
- 02候補名のドメインとソーシャルハンドルの一括検証
- 03同一ドメインのレジストラ間の価格比較
MCP 対応
本プロジェクトは MCP サーバーであり、ドメイン検索、一括チェック、ソーシャルハンドル確認、命名ツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y domain-search-mcpPRICING_API_BASE_URLPricing backend base URL (recommended)PRICING_API_TOKENシークレットOptional bearer token for pricing backendPORKBUN_API_KEYシークレットPorkbun API key (BYOK, used only if PRICING_API_BASE_URL is not set)PORKBUN_API_SECRETシークレットPorkbun API secret (required with PORKBUN_API_KEY)NAMECHEAP_API_KEYシークレットNamecheap API key (BYOK, used only if PRICING_API_BASE_URL is not set)NAMECHEAP_API_USERNamecheap API username (required with NAMECHEAP_API_KEY)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
7掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| domain_name | string | はい | 検索するドメイン名(例:'vibecoding')。拡張子は不要です。 |
| registrars | array | いいえ | 任意:確認する特定のレジストラ。空欄の場合は自動選択されます。 |
| tlds | array | いいえ | 確認する TLD 拡張子(例:['com', 'io', 'dev'])。既定値は ['com', 'io', 'dev'] です。 |
詳細
Domain Search MCP
空き状況インテリジェンスを備えたネーミングエンジン — モデルが生成した名前をスコアリングし、ドメイン、ソーシャル、パッケージレジストリに対して空き状況チェックを実行する MCP サーバーです。公開 RDAP/WHOIS を使用して設定不要で動作し、オプションで自身が管理するバックエンドを介してレジストラの価格情報で結果を拡充できます。
🆕 v1.12.0: name_project — 2 フェーズのネーミングエンジンです。一度呼び出すとモデル向けの生成指示を取得でき、candidates[] を付けて再度呼び出すと、アンチスロップのスコアリング、ランキング、ドメイン・ソーシャル・npm にわたるリアルタイムの空き状況チェックを取得できます。以下 の name_project を参照してください。
🆕 v1.10.0: GoDaddy 公開エンドポイント統合!プレミアム/オークションドメインの検出を備えた強化されたフォールバックチェーン(RDAP → GoDaddy → WHOIS)。サーキットブレーカーパターンによりレジリエンスを確保します。
🤖 v1.9.0+: AI を活用したドメイン候補がすぐに利用できます!API キーは不要です - suggest_domains_smart は公開されているファインチューニング済みの Qwen 7B-DPO モデルを使用します。さらに、Redis 分散キャッシュと可観測性のための /metrics エンドポイントを搭載しています。
Claude、Codex、VS Code、Cursor、Cline、その他の MCP 互換クライアント向けに、Model Context Protocol 上に構築されています。
機能
| 機能 | 説明 |
|---|---|
| 🔍 マルチ TLD 検索 | 1 つの名前を .com、.io、.dev、.ai および 500 以上の TLD で確認 |
| 📦 一括チェック | 1 回の呼び出しで最大 100 件のドメイン名を検証 |
| 💎 プレミアム検出 | GoDaddy を介してプレミアムドメインおよびオークションドメインを識別 |
| 🤖 AI 候補 | ファインチューニング済みの Qwen 7B-DPO でブランド化可能な名前を生成 |
| 💰 価格比較 | Porkbun、Namecheap 間の価格を比較 |
| 🌐 ソーシャルハンドルチェック | GitHub、Twitter などでのユーザー名の空き状況を確認 |
| 🔌 デュアルトランスポート | stdio(Claude)または HTTP/SSE(ChatGPT Actions)で動作 |
| ⚡ 設定不要 | すぐに動作 - 空き状況の確認に API キーは不要 |
できること
- 1 つの名前を複数の TLD で確認します。
- 1 つの TLD について最大 100 件の名前を一括チェックします。
- レジストラの価格を比較します(設定時はバックエンドを使用)。
- 名前を提案し、ソーシャルハンドルを検証します。
search_domainのプレミアム/オークションシグナルを検出します。
仕組み
空き状況と価格は意図的に分離されています:
Availability Chain (zero-config):
┌─────────┐ ┌─────────┐ ┌─────────┐
│ RDAP │ ──► │ GoDaddy │ ──► │ WHOIS │
│ (fast) │ │(premium)│ │(fallback│
└─────────┘ └─────────┘ └─────────┘
- 空き状況(デフォルト、キー不要):
- RDAP: 主要ソース - 高速、無制限、公開レジストリデータ
- GoDaddy: セカンダリ - プレミアム/オークション検出を追加(30 req/min、サーキットブレーカーで保護)
- WHOIS: エッジケース向けの最後のフォールバック
- 価格(オプション):
- 推奨:
PRICING_API_BASE_URL(Porkbun キーを持つバックエンド) - オプションの BYOK: バックエンドが設定されていない場合に限り Porkbun/Namecheap
- 推奨:
これにより、サーバーは設定不要のまま、パワーユーザーは価格機能を有効にできます。
料金の確認
レスポンスには price_check_url(レジストラのチェックアウト/検索リンク)が含まれ、料金が推定値の場合は price_note が含まれることがあります。購入前に必ずレジストラのチェックアウトページで最終価格を確認してください。
オークション/プレミアムのシグナルが検出された場合、結果には利用可能な場合はマーケットプレイスページへのリンクを含む aftermarket ブロックが含まれます。取得済みドメインには、Sedo オークションのヒント(公開フィード)やネームサーバーベースのマーケットプレイスのヒント(Sedo/Dan/Afternic)が含まれることがあります。
クイックスタート
オプション 1: npx(推奨)
インストール不要 - 直接実行できます:
npx -y domain-search-mcp@latest
オプション 2: ソースから
git clone https://github.com/dorukardahan/domain-search-mcp.git
cd domain-search-mcp
npm install
npm run build
npm start
トランスポートオプション
stdio(デフォルト)
Claude Desktop、Cursor、VS Code などの MCP クライアント向け - stdin/stdout を使用します:
npx -y domain-search-mcp@latest
HTTP/SSE(ChatGPT、Web クライアント、LM Studio)
ChatGPT Actions、Web アプリ、REST API クライアント向け:
# Start HTTP server on port 3000
npx -y domain-search-mcp@latest --http
# Or with custom port
MCP_PORT=8080 npx -y domain-search-mcp@latest --http
エンドポイント:
/mcp- MCP プロトコル(メッセージは POST、SSE ストリームは GET)/api/tools/*- 各ツール用の REST API(ChatGPT Actions 互換)/openapi.json- OpenAPI 3.1 仕様/health- ヘルスチェック/metrics- Prometheus 互換のメトリクス(キャッシュ統計、リクエスト数、AI 推論の健全性)
ChatGPT カスタム GPT 統合
- HTTP サーバーを起動します(上記参照)
- ngrok 経由で公開します:
ngrok http 3000 - ChatGPT でカスタム GPT を作成し、Action を追加します
https://your-ngrok-url.ngrok-free.dev/openapi.jsonから OpenAPI 仕様をインポートします- ツールをテストしましょう!
本番環境へのデプロイでは、ngrok の代わりに SSL 付きの永続的なドメインを使用してください。
REST API の例:
curl -X POST https://your-domain/api/tools/search_domain \
-H "Content-Type: application/json" \
-d '{"domain_name":"vibecoding"}'
MCP クライアント設定
Claude Code(プロジェクトルートの .mcp.json):
{
"mcpServers": {
"domain-search": {
"type": "stdio",
"command": "npx",
"args": ["-y", "domain-search-mcp@latest"]
}
}
}
Claude Desktop(claude_desktop_config.json):
{
"mcpServers": {
"domain-search": {
"command": "npx",
"args": ["-y", "domain-search-mcp@latest"]
}
}
}
💡 ヒント: すべての機能を備えた最新バージョンを実行するために、常に
@latestを使用してください。
ツール
以下に挙げる 12 個のツールはすべて、デフォルトで MCP クライアントに公開されます。6 ツールの
スリムプロファイル(name_project、search_domain、bulk_search、check_socials、
tld_info、ai_health)はオプトインです — よりシンプルなクライアント統合のために
ツール選択の範囲を絞りたい場合は SLIM_TOOLS=true を設定してください(
環境変数を参照)。将来の 2.0 リリースでは、
デフォルトがスリムに切り替わる可能性があります。
ADVANCED_TOOLS=true は非推奨のエイリアスで、フル構成を強制し
SLIM_TOOLS を上書きします。フル構成がすでにデフォルトであるため、現在では
無害な no-op です。
name_project
旗艦となる二段階のネーミングエンジン。 一度呼び出すとあなたのモデル向けの
レーンごとの生成指示が得られ、candidates[] を付けて再度呼び出すと、アンチスロップ
スコアリング、ランキング、およびドメイン、ソーシャル、npm 全体にわたる
リアルタイムの可用性チェックが得られます。
- モード:
brief(何に名前を付けるかを記述)、auto(現在の ワークスペースを分析)、from_name(すでに気に入っている名前のドメイン/バリアントを検索)、from_domain(見つけたドメインにプロジェクト/ブランドを適合させる)。 - フェーズ 1(
candidatesなし): 生成指示 + レーンプロンプトを返します。 - フェーズ 2(
candidatesあり): 候補をスコアリング + ランキングし、次にtargets.tlds/targets.platformsに対して上位 12 件の可用性をチェックします — 可用性チェックを行わない純粋なネーミングにはtargetsを省略します。
スコアは候補同士を比較するためのヒューリスティックなランキングです — 客観的で普遍的なブランド力の真実ではありません。可用性の結果は、 ある一時点でチェックされた単一のソースを反映しています。登録したり 何かに依存したりする前に再確認してください。
フェーズ 1 — candidates なしで呼び出します:
{"mode": "brief", "brief": "an MCP naming engine"}
Brief: an MCP naming engine
Now generate between 30 and 50 name candidates spread across these lanes:
- [evocative] Real words borrowed for their feeling, not their meaning (like Slack, Notion, Bolt). Single dictionary words preferred.
- [invented] Coined words that do not exist but sound like they could (like Zapier, Klarna). Must be pronounceable on first read.
- [compound] Two short real words fused (like Facebook, Snapchat). Both halves must stay readable; no glue letters.
- [premium] Short, expensive-feeling names: 4-7 letters, strong single or double syllable (like Stripe, Vercel, Arc).
Rules: single words or tight compounds, no taglines, no explanations yet. Then call name_project again with the SAME arguments plus candidates:[...] to get scoring and availability.
フェーズ 2 — 同じ引数に candidates を加えて再送信します:
{"mode": "brief", "brief": "an MCP naming engine", "candidates": ["Nexify", "Corda"]}
| Name | Score | Verdict | Badges | Why |
| --- | --- | --- | --- | --- |
| Corda | 97 strong | - | - | no AI-slop patterns; clean pronunciation and typing |
| Nexify | 60 middling | - | - | slop: overused prefix "nex-"; slop: overused suffix "-ify" |
2 candidates received, 2 passed constraints, top 2 returned.
No availability-check targets - pure naming mode.
バッジ: tld✓ 登録無料、tld$ 販売中(アフターマーケット/プレミアム - 登録済みまたは価格設定済みで、登録は無料ではない)、tld✗ 取得済み、tld? 不明。
ccTLD チェック(.ai / .io / .sh / .ac)は、RDAP の言い分だけを鵜呑みにせず、ネイティブの WHOIS/DNS グラウンドトゥルースとクロスチェックされます。
完全なパラメータ/レスポンススキーマについては docs/API.md を参照してください。
コア検索
search_domain: 複数の TLD にわたって名前を確認し、プレミアム/オークションのシグナルを付加します。bulk_search: 単一の TLD について最大 100 件の名前を確認します。compare_registrars: レジストラ間の価格を比較します(設定時はバックエンドを使用)。
AI による提案
suggest_domains: バリエーション(プレフィックス/サフィックス/ハイフン)を生成します。suggest_domains_smart: 🤖 AI 搭載のブランド可能な名前生成。ファインチューニングされた Qwen 7B-DPO を使用します。ゼロ設定 - すぐに動作します!analyze_project: ローカルプロジェクトまたは GitHub リポジトリをスキャンしてコンテキストを抽出し、一致するドメイン名を提案します。
ドメイン投資
hunt_domains: 投資に値するドメインを見つけます - Sedo オークションをスキャンし、パターンを生成し、投資スコアを計算します。expiring_domains: 有効期限が近づいているドメインを監視します(フェデレーテッドネガティブキャッシュが必要)。
ユーティリティ
tld_info: TLD のメタデータと制限。check_socials: 各プラットフォームでのユーザー名の可用性。ai_health: AI 推論サービスのステータスを確認します(VPS Qwen、サーキットブレーカー、アダプティブ並行処理)。
設定
価格バックエンド(推奨)
レジストラのキー(Porkbun)を保有するバックエンド URL を設定します。MCP は価格取得のために、そのバックエンドの
/api/quote と /api/compare を呼び出します。
PRICING_API_BASE_URL=https://your-backend.example.com
PRICING_API_TOKEN=optional_bearer_token
オプションの BYOK(ローカル)
PRICING_API_BASE_URL が設定されていない場合にのみ使用されます。
- Porkbun キー:
- Namecheap キー(IP ホワイトリストが必要):
PORKBUN_API_KEY=pk1_your_api_key
PORKBUN_API_SECRET=sk1_your_secret
NAMECHEAP_API_KEY=your_api_key
NAMECHEAP_API_USER=your_username
NAMECHEAP_CLIENT_IP=your_whitelisted_ip
Redis 分散キャッシュ(オプション)
複数の MCP インスタンスにわたる水平スケーリングのために、Redis を設定します:
REDIS_URL=redis://:password@host:6379
Redis がない場合、サーバーはインメモリキャッシュを使用します(単一インスタンスでは問題なく動作します)。Redis により以下が可能になります:
- 複数のサーバーインスタンス間で共有されるキャッシュ
- 再起動後も保持される永続キャッシュ
- ロードバランシングされたデプロイメントでのより良いキャッシュヒット率
AI 推論(独自のエンドポイントを持ち込む)
AI による提案(suggest_domains_smart)は、設定されている場合、独自の推論エンドポイントを使用します。QWEN_INFERENCE_ENDPOINT を、自分で管理する llama.cpp/Qwen サーバーに向けてください。未設定の場合、提案は組み込みのオフラインセマンティックエンジンにフォールバックします(外部呼び出しなし、API キー不要)。
# Public hosts must use HTTPS; loopback/private hosts may use HTTP.
QWEN_INFERENCE_ENDPOINT=http://127.0.0.1:8070
QWEN_API_KEY=optional_if_secured
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
MCP_TRANSPORT | stdio | トランスポートモード: stdio または http |
MCP_PORT | 3000 | HTTP サーバーのポート (HTTP トランスポート使用時) |
MCP_HOST | 0.0.0.0 | HTTP サーバーのバインドアドレス |
CORS_ORIGINS | * | 許可する CORS オリジン (カンマ区切り) |
PRICING_API_BASE_URL | - | 価格バックエンドのベース URL |
PRICING_API_TOKEN | - | オプションのベアラートークン |
PRICING_API_TIMEOUT_MS | 2500 | バックエンドリクエストのタイムアウト |
PRICING_API_MAX_QUOTES_SEARCH | 0 | 検索ごとの最大価格取得呼び出し回数 (0 = 無制限、バックエンドのレート制限が適用されます) |
PRICING_API_MAX_QUOTES_BULK | 0 | 一括検索ごとの最大価格取得呼び出し回数 (0 = 無制限、バックエンドのレート制限が適用されます) |
PRICING_API_CONCURRENCY | 4 | 価格取得リクエストの同時実行数 |
PORKBUN_API_KEY | - | Porkbun API キー |
PORKBUN_API_SECRET | - | Porkbun API シークレット |
NAMECHEAP_API_KEY | - | Namecheap API キー |
NAMECHEAP_API_USER | - | Namecheap ユーザー名 |
NAMECHEAP_CLIENT_IP | - | Namecheap IP ホワイトリスト |
OUTPUT_FORMAT | table | ツール出力のフォーマットとして table、json、または both |
LOG_LEVEL | info | ログレベル |
CACHE_TTL_AVAILABILITY | 60 | 空き状況キャッシュの TTL (秒) |
CACHE_TTL_PRICING | 3600 | 価格キャッシュの TTL (秒) |
CACHE_TTL_SEDO | 3600 | Sedo オークションフィードキャッシュの TTL (秒) |
CACHE_TTL_AFTERMARKET_NS | 300 | ネームサーバー検索キャッシュの TTL (秒) |
SEDO_FEED_ENABLED | true | アフターマーケットのヒントのために Sedo フィード検索を有効化 |
SEDO_FEED_URL | https://sedo.com/txt/auctions_us.txt | Sedo 公開フィード URL |
AFTERMARKET_NS_ENABLED | true | ネームサーバーベースのアフターマーケットヒントを有効化 |
AFTERMARKET_NS_TIMEOUT_MS | 1500 | ネームサーバー検索のタイムアウト (ミリ秒) |
REDIS_URL | - | 分散キャッシュ用の Redis 接続 URL (例: redis://:password@host:6379) |
QWEN_INFERENCE_ENDPOINT | (none) | suggest_domains_smart 用の独自の AI 推論エンドポイント (未設定の場合はオフラインのセマンティックフォールバック) |
QWEN_TIMEOUT_MS | 15000 | AI 推論リクエストのタイムアウト |
QWEN_MAX_RETRIES | 2 | AI 推論失敗時の再試行回数 |
SLIM_TOOLS | false | デフォルトの 12 ツール構成ではなく、スリムな 6 ツール構成を選択するには true を設定します |
ADVANCED_TOOLS | false | SLIM_TOOLS 以前のフラグの非推奨エイリアス。true を設定すると完全な 12 ツール構成を強制し、SLIM_TOOLS を上書きします。完全な構成がすでにデフォルトのため、現在は何も行いません |
出力フォーマット
ツールの応答はデフォルトで Markdown テーブルとして返されます。プログラムで利用するために生の JSON が必要な場合は、次を設定してください:
OUTPUT_FORMAT=json
データソース
| ソース | チェーン内の位置 | 用途 | API キー |
|---|---|---|---|
| RDAP | 1番目 (プライマリ) | 高速な空き状況チェック | 不要 |
| GoDaddy | 2番目 (フォールバック) | プレミアム/オークション検出 | 不要 |
| WHOIS | 3番目 (最終手段) | レガシーの空き状況 | 不要 |
| 価格 API | 並列 | バックエンド経由のライブ価格 | バックエンドトークン |
| Porkbun API | 並列 (BYOK) | 空き状況 + 価格 | API キー + シークレット |
| Namecheap API | 並列 (BYOK) | 空き状況 + 価格 | API キー + IP ホワイトリスト |
| Sedo フィード | エンリッチメント | アフターマーケットオークションのヒント | 不要 |
価格の挙動
- すべての利用可能なドメインに対して、まずライブ価格を取得しようとします。
- ライブ見積もりが失敗した場合、またはレート制限された場合は、結果はカタログ見積もりにフォールバックし、
price_noteを含みます。 - 購入前に必ず
price_check_urlで価格を確認してください。
例
基本的な検索 (API キーなし)
search_domain("myproject", ["com", "io", "dev"])
┌─────────────────┬───────────┬─────────┬────────┐
│ Domain │ Available │ Premium │ Source │
├─────────────────┼───────────┼─────────┼────────┤
│ myproject.com │ ✅ │ No │ rdap │
│ myproject.io │ ❌ │ - │ rdap │
│ myproject.dev │ ✅ │ Yes │ godaddy│
└─────────────────┴───────────┴─────────┴────────┘
AI を活用した提案
suggest_domains_smart("coffee shop in seattle", { style: "brandable" })
→ seattlebrew.com, pugetperk.io, raincitycoffee.co, cascadiacafe.com
一括チェック
bulk_search(["startup", "launch", "begin", "init"], "io")
→ Checks startup.io, launch.io, begin.io, init.io in parallel
開発
npm run dev # watch mode
npm test # run Jest
npm run build # compile to dist/
リリース
タグトリガーによるリリースフローについては docs/RELEASE.md を参照してください。バージョンタグは GitHub Release、provenance 付きの npm trusted publishing、および GitHub Actions を通じた MCP Registry への公開をトリガーします。
変更履歴
リリース履歴については CHANGELOG.md を参照してください。
セキュリティに関する注意事項
- API キーや
.mcpregistry_*ファイルをコミットしないでください。 PRICING_API_BASE_URL(または BYOK キー)がない場合、価格情報は利用できません(空き状況の確認は引き続き機能します)。
アップグレード
npx ユーザーの場合
npx domain-search-mcp(@latest なし)を使用している場合、npx が古いバージョンをキャッシュしている可能性があります。
修正方法: MCP 設定を更新して @latest を使用してください:
"args": ["-y", "domain-search-mcp@latest"]
または、npx キャッシュを手動でクリアしてください:
npx clear-npx-cache # then restart your MCP client
ソース/Git ユーザーの場合
cd domain-search-mcp
git pull origin main
npm install
npm run build
最新の状態を保つ
- リポジトリをウォッチ: GitHub で「Watch」→「Releases only」をクリックすると、新しいバージョンの通知を受け取れます。
- リリースを確認: GitHub Releases で変更履歴とアップグレードに関する注意事項を確認してください。
- npm ページ: npmjs.com/package/domain-search-mcp で最新バージョンを確認できます。
アーキテクチャ
詳細なシステムアーキテクチャ図については、docs/ARCHITECTURE.md を参照してください:
- トランスポート層(stdio 対 HTTP/SSE)
- ツール実行フロー
- データソースのウォーターフォール(RDAP → Pricing API → WHOIS)
- VPS デプロイアーキテクチャ
- AI 提案フロー
- MCP セッションのライフサイクル
なぜこのツールなのか?
| 課題 | 解決策 |
|---|---|
| ドメイン API は登録やキーが必要 | RDAP + GoDaddy = 設定不要で空き状況を確認 |
| プレミアムドメインが「取得可能」と表示される | GoDaddy がプレミアム/オークションのステータスを検出 |
| 複数の TLD を確認するのが大変 | 1 回の呼び出しで .com、.io、.dev などを確認 |
| ネーミングのための AI 連携がない | ブランド名の提案用に Qwen 7B を内蔵 |
| Claude でのみ動作 | HTTP トランスポートが ChatGPT、LM Studio をサポート |
FAQ
Q: API キーなしで動作しますか? A: はい!空き状況の確認は公開 RDAP および GoDaddy のエンドポイントを使用します。価格情報のみ API キーが必要です。
Q: どの MCP クライアントがサポートされていますか? A: Claude Desktop、Claude Code、VS Code、Cursor、Cline(stdio)、および ChatGPT、LM Studio(HTTP/SSE)です。
Q: プレミアムドメインの検出精度はどの程度ですか? A: GoDaddy の公開エンドポイントはほとんどのプレミアムドメインとオークションドメインを検出します。必ずレジストラのチェックアウトで確認してください。
Q: AI 提案をセルフホストできますか?
A: はい!QWEN_INFERENCE_ENDPOINT を、ファインチューニング済みモデルを実行している llama.cpp サーバーに設定してください。
リンク
- npm: npmjs.com/package/domain-search-mcp
- MCP Registry: registry.modelcontextprotocol.io
- Glama: glama.ai/mcp/servers/@dorukardahan/domain-search-mcp
- Context7: context7.com/dorukardahan/domain-search-mcp
ドキュメント
- アーキテクチャ - システム設計とデータフロー
- API リファレンス - ツールのスキーマとレスポンス
- 設定 - 環境変数
- ワークフロー - 一般的な使用パターン
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。