Domain availability and quotes (demo) について
Domain availability and quotes (demo) は、運営者やエージェント開発者向けの本番前ドメイン販売キットです。署名付き見積もりとドメイン管理機能を備えますが、デモでは登録と更新を拒否します。
主な機能
- 01.com、.net、.org の空き状況確認
- 02署名付き見積もりと価格内訳
- 03本番モードでのドメイン登録・更新
- 04DNS レコードの読み取りと更新
- 05注文状態と署名付き領収書の復旧
- 06所有ドメインの Vercel 接続
活用シーン
- 01ドメイン名の確認と見積もりの検討
- 02所有ドメインの DNS 管理
- 03保留中の登録注文の復旧
- 04所有ドメインの Vercel プロジェクトへの接続
MCP 対応
MCP クライアント向けに stdio 設定と、見積もり、登録、更新、注文状態、DNS 操作のドメイン機能を提供します。デモでは読み取りは可能ですが、登録と更新は拒否されます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://modelmarket.dev/tools/mcp/domainsclaude mcp add --transport http dev-modelmarket-domains https://modelmarket.dev/tools/mcp/domains{"mcpServers":{"dev-modelmarket-domains":{"type":"http","url":"https://modelmarket.dev/tools/mcp/domains"}}}Cursor で開く{"servers":{"dev-modelmarket-domains":{"type":"http","url":"https://modelmarket.dev/tools/mcp/domains"}}}VS Code で開く{"mcpServers":{"dev-modelmarket-domains":{"type":"http","url":"https://modelmarket.dev/tools/mcp/domains"}}}{"mcpServers":{"dev-modelmarket-domains":{"serverUrl":"https://modelmarket.dev/tools/mcp/domains"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
🔄 モノレポから同期していますが、履歴は継続しています。
domain-kitは、正規の AI-Factory モノレポを反映しています。ここでの履歴は追記のみです(強制プッシュはありません)。 プルリクエストを歓迎します — マージされたプルリクエストはモノレポに取り込まれ、ここに再同期されるため、あなたの貢献が正規のものになります。 💬 Issue · プルリクエスト のどちらも歓迎します。
Domain Operator Kit
AI エージェントにドメインを販売しましょう。サプライヤーは自分で選び、ビジネスの管理権を維持できます。
クイックスタート · 機能 · サプライヤーを持ち込む · パイロット計画 · 運用ガイド(RU)
English · Русский
エージェントはアプリケーションを構築してデプロイできます。このキットを使えば、さらに一歩進んで、ドメインの署名付き価格を取得し、実際の所有者名義で登録し、DNS を管理して Vercel プロジェクトに接続できます。
独立した事業者はそれぞれ独自の販売ノードを運営し、自分のレジストラアカウントを使い、登録または更新ごとに固定マークアップを設定します。エージェントは共通の機能仕様と、予算管理機能を備えた MCP クライアントを使用します。
本番稼働前のリリースです。 ローカルテストと Openprovider および Porkbun Sandbox のパイロットでは、登録、DNS、更新、応答消失からの復旧、MCP の読み取りが成功しています。本番環境でのドメイン購入、決済の精算、Vercel への接続は未検証です。デフォルトのデモでは何も購入しません。検証記録 →
購入者が得られるもの
指定された登録者名義で1年間登録された、指定どおりのドメイン1件です。 支払い前に、見積もりでサプライヤー費用、固定マークアップ、最終金額を確認できます。たとえば、サプライヤー費用が 10 ドルでマークアップが 2 ドルの場合、注文額は 12 USDC になります。これらは説明用の金額であり、レジストラの料金ではありません。
DNS の管理とドメイン情報も含まれます。更新は、新たに見積もった価格で別途購入します。レジストラの自動更新は無効になっています。利用可能であっても予約済みではなく、登録者のメール確認には所有者による対応が必要な場合があります。
組み込みのレジストラで対応する範囲は、.com、.net、.org、通常の ASCII 名、1年間です。プレミアム名、IDN、移管の受け入れ、期限切れドメインの復元はこのリリースの対象外です。
1つの製品、3つの役割
| あなたの立場 | 使用するもの |
|---|---|
| ドメイン事業者または再販業者 | 自分のレジストラアカウント、受取用ウォレット、返金準備金、固定マークアップ、および注文を永続的に保存する販売ノード |
| 独立したサプライヤー | 独自の言語とインフラストラクチャで実装するHTTP サプライヤー仕様 |
| エージェントまたはアプリ開発者 | 署名付き domains.*@v1 機能、JavaScript クライアント、またはstdio MCP 設定 |
flowchart LR
Agent["AI agent / MCP client"] -->|Discover| Hub["AIMarket Hub"]
Hub -->|Public quotes only| Seller["Domain operator"]
Agent -->|Private order + x402 payment| Seller
Seller -->|Register and reconcile| Provider["Openprovider / Porkbun / HTTP supplier"]
Agent -->|Owner-signed DNS| Seller
Agent -->|Buyer-side connector| Vercel["Your Vercel project"]
Hub がディスカバリーを担います。注文、登録者の連絡先、決済の承認、DNS 操作は販売者に直接送信されます。この実装では Hub の手数料はかかりません。Vercel トークンは購入者が保持します。
ローカルで試す
Node.js 22.13+ を使用してください。ローカルでの検証には 22.22.1 を使用しました。モノレポ内の domain-kit/、またはサテライトチェックアウトのルートから実行します。
npm ci --ignore-scripts
npm run check
npm test
npm run demo
デモでは、署名付き HTTP ライフサイクル(見積もり → 登録のシミュレーション → DNS → 更新)を実行します。レジストラーのアカウント、ウォレットへの入金、外部サービスは不要です。ローカル HTTP テストには、localhost でリッスンする権限が必要です。
外部 API を最も簡単にテストするには、Porkbun Sandbox のクイックスタートを使用してください。使い捨ての認証情報の自動発行、仮想クレジット、再開可能なエンドツーエンドのパイロットが利用できます。本番パイロットに合格するまでは、Porkbun アダプターはサンドボックス専用です。
Openprovider Sandbox API の統合テストについては、オプトイン方式のnpm run sandbox:pilot の手順に従ってください。このスクリプトは状態を保持し、再実行時には同じ注文を再利用します。
永続的なデモサーバーを起動するには:
cp .env.example .env
node --env-file=.env src/server.js
別のターミナルで:
DOMAIN_ALLOW_DEMO=1 node bin/domain-rails.mjs check http://127.0.0.1:9495
これは公開見積もりプロトコルと署名を検証します。販売者を認定するものではありません。サーバーは暗号化されたドキュメントとキーを data/ に永続化します。デプロイ間でこのディレクトリを破棄しないでください。
公開ノード:キーを設定するまではデモ
DOMAIN_MODE=auto は、販売を開始する前に公開するノード向けです。キーがない場合は公開デモとして動作します。在庫状況は実際の情報(.com、.net、.org についてはレジストリ独自の RDAP)で、見積もりには署名が付き、参考価格とともに demo と表示されます。読み取りリクエストには応答し、register と renew のみが 403 demo_mode で拒否されます。本番レジストラーのキーまたは HTTP サプライヤー、PAY_TO、CDP_KEY_FILE、DOMAIN_REFUND_KEY_FILE、HTTPS の DOMAIN_PUBLIC_URL と DOMAIN_TERMS_URL、DOMAIN_UPSTREAM_COST_CONFIRMED=1 など、すべての本番設定が揃うと、次回の起動から実際の販売を開始します。それまでは /healthz に未設定の項目名(live_missing)が表示されますが、値は表示されません。Porkbun は引き続きサンドボックス専用です。modelmarket.dev は、ドメインのショーケースとしてこのようなノードを運用しています:domains.modelmarket.dev。キットのランディングページをルートに、サンプルデスクを設置しています。サンプルデスクは、名前を検索し、署名付き価格を表示して注文手続きを案内するストアフロントです。どちらも docs/landing/ 内の静的ページで、同一オリジンのノードにアクセスします。ノードの隣で配信してください(node docs/landing/dev.mjs でプレビューできます)。
エージェントの機能
| 機能 | 目的 |
|---|---|
domains.quote@v1 | 利用可能状況、正確な登録価格、または非公開の更新見積もり |
domains.register@v1 | 見積もった名前を1年間登録 |
domains.renew@v1 | 新しい見積もりを使用して、所有するドメインを更新 |
domains.order.status@v1 | 保留中の注文を復旧し、署名付き領収書を取得 |
domains.info@v1 | 有効期限、ネームサーバー、必要な所有者アクション |
domains.dns.get@v1 | DNS レコードとリビジョン |
domains.dns.set@v1 | 他の名前とタイプを保持したまま、選択したレコードセットを置換 |
domains.transfer.code@v1 | サポートされている場合の非公開移管コード。MCP ツール一覧からは除外 |
購入者を接続する
node bin/domain-rails.mjs init-owner /private/path/owner.pem
stdio MCP に対応するクライアント向けに、examples/mcp.json を調整してください。信頼できるカタログを通じて販売者の公開鍵をピン留めし、所有者の署名鍵と連絡先ファイルを設定してから、購入ごとおよび1日あたりの予算を設定します。購入はデフォルトで無効です。
DOMAIN_REGISTRANT_FILE により、連絡先をローカルで読み込みます。ウォレットキーと所有者キーは非公開ファイルから取得され、モデルの引数から取得されることはありません。支払い認証と予算の予約は、送信前に永続化されます。再試行時には元の認証が再利用されます。結果が不明な場合、予算の予約は維持されます。
再試行時には、元の client_order_id と注文本文をそのまま使用してください。保留中の応答を受け取った場合は、ステータスを確認してください。2回目の購入を作成してはいけません。購入および販売者の利用規約への同意は、ユーザーまたはクライアントポリシーによって承認される必要があります。
ドメインを Vercel に接続する
購入者の環境で VERCEL_TOKEN_FILE、VERCEL_PROJECT_ID、および任意で VERCEL_TEAM_ID を設定します。MCP クライアントは vercelConnect を公開します。
{"domain":"your-owned-domain.com"}
コネクターは Vercel の最新の DNS 推奨事項を使用し、指定されたプロジェクトに apex ドメインを追加するとともに、既存の TXT 検証値や無関係なレコードを保持します。他の A レコードを置き換えるには、明示的に replace_existing:true を指定する必要があります。競合する AAAA/CNAME レコードは、まず DNS プロバイダーのコンソールから削除してください。
waiting_for_verification_or_dns は、伝播または検証がまだ完了していないことを意味します。configured は Vercel API の状態を示すもので、独立した HTTPS 到達性テストの結果ではありません。販売者には、永続的に稼働する Node プロセスとディスクが必要です。Vercel Function ではありません。
サプライヤーを持ち込む
Openprovider と Porkbun Sandbox には組み込みアダプターがあります。その他のサプライヤーは、見積もり、連絡先情報の準備、申請、照合、管理に共通の HTTP エンドポイントを実装します。運営者は、自身のアカウント、価格設定、支払い先を維持します。
この契約仕様に対応すれば統合は可能になりますが、テストされていないサプライヤーが本番環境で利用可能になるわけではありません。パイロット計画では、まず Openprovider Sandbox と自社のエージェントから始め、次に自社の Vercel プロジェクト用の管理されたドメインを使用してから、外部の顧客を迎えます。
中断を前提とした運用設計
- 永続的な注文 ID。 入力を変更しても、既存の注文が暗黙に再利用されることはありません。ウォレット署名により、支払いが注文と所有者キーに紐付けられます。
- 盲目的な変更再試行は行いません。 支払いまたはレジストラからの応答が失われた場合、元の証拠を使って照合します。
- 未納が確認された場合の返金。 返金は元の支払者に対して行われます。結果が不明確な場合は保留となります。返金には十分な準備金と、正常に機能するインフラストラクチャが必要です。
- プライベートな管理。 所有者のリクエストと販売者の応答には Ed25519 を使用し、ドキュメント本文には AES-256-GCM を使用します。ドメイン名を含むデータベースの行識別子は暗号化されません。
- 明示的な運用上の制限。 1 つの SQLite データベースにつき、販売者プロセスは 1 つです。Openprovider の更新処理で結果が不明確な場合、文書化された運営者の証拠が必要になることがあります。Porkbun の再送は、23 時間の期間内に限り、永続的な冪等性キーを使用します。それより古い不明な結果は確認が必要です。DNS のリビジョン確認は、外部コンソールからの編集を防ぐアトミックなロックではありません。
有効期限の自動通知、更新スケジューラー、所有者キーの復旧、汎用 DNS 削除 API は含まれていません。顧客へのサービス提供を始める前に、運営者はそれらを支援する手順を用意する必要があります。OPERATIONS.md を参照してください。
リポジトリの状況
正式なソースは AIMarket モノレポ内の domain-kit/ です。GitHub のサテライトリポジトリは alexar76/domain-operator-kit です。モノレポのルートから実行する場合も、同じコマンドを使用できます。npm test --prefix domain-kit(および npm run check --prefix domain-kit)です。Node 22/24 の CI ワークフロー、Docker/Compose の定義、ローカルのブランディング素材が含まれています。ワークフローは準備済みですが、この README は GitHub 上で実行済みであるとは主張していません。ローカルテストのバッジは、日付入りの検証記録にリンクしています。
このパッケージは、npm への意図しない公開を防ぐため、引き続き private:true です。クイックスタートは、ホストされたデモや公開済みパッケージの存在を意味するものではありません。
MIT ライセンスです。基本的な支払い照合処理は AIMarket eSIM オペレーターキットを基に改変しています。NOTICE.md を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。