MCPWeb 担当者学習Web セキュリティ

ドメイン番人 MCP サーバーの使い方

ドメイン番人5 分で読めます
目次

この記事でわかること

  • ドメイン番人 MCP サーバーで何ができるか(提供している tool 一覧)
  • Claude Desktop / Cursor / Claude Code から呼ぶための設定 JSON
  • /diagnose API を MCP 経由で呼んだときに返ってくる値の読み方
  • 自前の運用ツール(社内 chat / 監視 bot)からも同じ API を直接叩く方法

ドメイン番人 MCP サーバーとは

ドメイン番人は、/api/diagnose で公開している DNS・メール認証診断 API を、MCP(Model Context Protocol)対応クライアントからも呼べる形で出しています。エンドポイントはサービスドメインに同居しています。

https://domain-bannin.jp/api/mcp

トランスポートは Streamable HTTP(MCP の HTTP+SSE 系仕様)。JSON-RPC 2.0 の POST を投げると、tools/listtools/call が使えます。現時点で提供している tool は domain_diagnose の 1 つ(ドメインを渡すと SPF / DKIM / DMARC / MX / SSL 等の診断結果を返す)です。

MCP サーバーを介して各クライアントから /diagnose を呼ぶ流れ

Claude Desktop から呼ぶ

Claude Desktop の設定ファイル(~/Library/Application Support/Claude/claude_desktop_config.json 等)に、HTTP 経由の MCP サーバーを追加します。

{
  "mcpServers": {
    "domain-bannin": {
      "type": "http",
      "url": "https://domain-bannin.jp/api/mcp"
    }
  }
}

Claude Desktop を再起動すると、ツール一覧に domain_diagnose が表示されます。チャットで「example.com のメール認証を見て」と頼むと、Claude が自動で tool を呼びます。

Cursor から呼ぶ

Cursor の ~/.cursor/mcp.json(または対応する設定パス)に同じ形式で追加できます。

{
  "mcpServers": {
    "domain-bannin": {
      "url": "https://domain-bannin.jp/api/mcp"
    }
  }
}

Cursor 側でツールを enable にし、Composer などから「example.com の DNS 設定をチェック」と依頼すると、結果が JSON で取れます。

Claude Code から呼ぶ

Claude Code(ターミナル CLI)では、.claude/mcp.json または環境設定で同様に追加できます。

{
  "mcpServers": {
    "domain-bannin": {
      "url": "https://domain-bannin.jp/api/mcp"
    }
  }
}

CLI セッションでツール一覧を確認した上で、domain_diagnose を呼ぶスラッシュコマンドや会話から実行できます。

返ってくる結果の読み方

domain_diagnose は、ドメイン名を 1 つ渡すと、以下のような構造化された結果を返します。

{
  "domain": "example.com",
  "categories": {
    "spf":   { "status": "warn",  "summary": "...", "details": [...] },
    "dkim":  { "status": "ok",    "summary": "...", "details": [...] },
    "dmarc": { "status": "fail",  "summary": "...", "details": [...] },
    "mx":    { "status": "ok",    "summary": "...", "details": [...] },
    "ssl":   { "status": "ok",    "summary": "...", "details": [...] }
  }
}
  • statusok / warn / fail の 3 段階
  • summary はビジネスインパクトで書かれた短文。クライアント側がそのまま読み上げても自然になるよう設計
  • details は技術的な根拠(実際の SPF レコード、レコードの解釈など)

diagnose 応答の構造とクライアントでの活用

自前のツール(chat bot / 監視)から HTTP で直接呼ぶ

MCP クライアントを使わなくても、/api/mcp に JSON-RPC を POST すれば純粋な HTTP(curl)から同じ診断を呼べます。tools/calldomain_diagnose を指定します。

curl -sS https://domain-bannin.jp/api/mcp \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "domain_diagnose",
      "arguments": { "domain": "example.com" }
    }
  }' | jq .

社内 Slack bot や監視ジョブから呼ぶ場合は、こちらの方が組み込みやすいケースがあります。

なお、ブラウザの診断フォームが使う /api/diagnose は Bot 対策の認証(Turnstile)つきで、curl から直接は呼べません。プログラムからの HTTP 連携には上記の /api/mcp をお使いください。

どんな使い方が向くか

  • 制作会社が顧客サイトを移管したあとの DNS / メール認証 健康診断 を、対話型のクライアントから軽く叩いて確認する
  • 自社が複数ドメインを抱えている場合、Cursor / Claude Code で「未確認ドメイン全部回して」と依頼してリスト化
  • 監視 bot にドメインを投げて結果を要約してもらい、メールやチャットに通知

逆に向かないのは、1 秒に 100 件以上の高頻度バッチです。レートリミットを実装しているので、深夜にゆっくり回す形をおすすめします。

よくある質問

MCP サーバーの利用に料金はかかりますか?

現時点で公開している /api/mcp は無料の /diagnose をラップする構造のため、利用料金はかかりません。ただし高頻度バッチは想定外なのでレートリミットの範囲でご利用ください。

認証は必要ですか?

現時点では未認証で接続できます。社内利用ではネットワーク経路で制限してください。将来の有料化に伴い API キー方式を導入する可能性があります。

MCP サーバーの URL を変更する予定はありますか?

/api/mcp のパスは安定運用しています。サブドメインやポートを切り出す場合は別途告知します。

まとめ

  • ドメイン番人 MCP サーバーは https://domain-bannin.jp/api/mcp にあり、domain_diagnose を提供する
  • Claude Desktop / Cursor / Claude Code いずれも、設定 JSON に URL を 1 行追加するだけで使える
  • 純粋な HTTP / curl からも同じ API を叩けるので、bot 連携にも乗せられる
  • まずは /diagnose のブラウザ UI で挙動を確認してから MCP に接続するのがおすすめ。料金プランや業務利用相談は /contact まで

次の一歩は無料診断から。