eurodns-mcp について
eurodns-mcpは、MCPクライアントからEuroDNS User APIを利用し、ドメイン、DNS、サブスクリプション、SSL、請求情報などを管理するサーバーです。DNS編集の保護機能に加え、権限設定と呼び出し履歴の監査に対応します。
主な機能
- 01EuroDNSのドメインとDNS管理
- 02サブスクリプション、SSL、請求操作
- 03リスクの高い操作へのガードレール
- 04DNSレコード編集ワークフロー
- 05検索可能な監査履歴
活用シーン
- 01ドメインの空き状況とDNSレコードの確認
- 02変更内容を確認してからのDNS更新
- 03SSLサブスクリプションとアカウント履歴の確認
MCP 対応
MCPツールを通じてEuroDNS User APIの操作を公開し、プロンプトとリソースも提供します。ローカルクライアント向けのstdioと、共有デプロイ向けのストリーミングHTTPに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @jigsawfr/eurodns-mcpEURODNS_APP_IDシークレットApplication ID from the EuroDNS dashboard, under API access.EURODNS_API_KEYシークレットAPI key issued alongside the application ID. The host's public IP must also be allowlisted in the same dashboard.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
36掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
eurodns-mcp
ドメイン、DNS ゾーン、サブスクリプションを、頼むだけで管理できます。
EuroDNS User API 用の Model Context Protocol サーバーです — ドメイン、DNS ゾーン、連絡先、サブスクリプション、SSL、請求書、注文に対応します。
これは独立したオープンソースプロジェクトです。EuroDNS との提携、承認、支援を受けているものではありません。「EuroDNS」は、このサーバーが通信する API を特定する目的でのみ使用しています。
AI の支援を受けて、プロのエンジニアが作成しました。すべての行はコミット前にレビューされており、その動作に対する責任は人間が負います。
提供内容
- 36 個のツールで API 全体をカバー — 79 個の API 操作すべてに対応し、一覧/取得のペア、プロファイルの作成/更新のペア、オン/オフの切り替え、製品ごとの読み取りをそれぞれ 1 つのツールにまとめています。請求と取り消し不能な操作を有効にすると、55 個のツールになります。
- モデルが読み取るすべてのツールと引数を説明 — ツールの機能と戻り値、隣接するツールより優先すべき場合とそうでない場合、アノテーションだけでは伝えられない内容、ID の取得元を記載しています。テストでツール全体にわたってこれを確認し、ワークフローでは各レジストリのリンターを実行します。
- 3 つの DNS ワークフローツール — ゾーンの保存時にゾーン全体が置き換えられるため、これらのツールでレコード編集を安全に行えます。
- ガードレール — デプロイで、費用が発生する操作やデータを破壊する操作を拒否できます。
- 名前を付ける価値のあるワークフロー用プロンプト 4 つと、リソース 2 つ:閲覧可能なポートフォリオと、このデプロイで許可される操作を説明するリソースです。想定していたツールが一覧にない理由も含まれます。
- 2 つのトランスポート — ローカルクライアント向けの
stdioと、共有デプロイ向けのストリーミング可能な HTTP。 - 1 つのエンドポイントで両方のプロトコル世代に対応 — 2026-07-28 リビジョンをネイティブにサポートしつつ、現在大半を占める 2025 年代のクライアントにも対応します。
- HTTP では OAuth 2.1 または共有トークンを使用でき、呼び出しごとに監査ログを記録します。
- 履歴を照会可能 — 何が行われたか、誰が行ったかをサーバーに問い合わせられます。
- 読み取り対象のシークレットの取得元として、オプションで 1Password Connect を利用できます。
仕組み
flowchart TD
client(["MCP client"])
client -->|stdio| registry
client -->|streamable HTTP| origin
subgraph http ["HTTP transport only"]
origin["Origin check"] --> bearer["Bearer token<br/>OAuth 2.1 or shared secret"]
bearer --> scopes["Scope gate"]
end
scopes --> registry["Tool registry"]
registry --> guard{"Guardrails<br/>read-only, billing, destructive"}
guard -->|refused| deny["Error naming the setting to change"]
guard -->|allowed| api[("EuroDNS User API")]
op[("1Password Connect")] -.->|"op:// refs, at startup"| creds["Credentials"]
creds -.-> api
registry -.-> log[("Audit log")]
guard -.-> log
log -.->|eurodns_audit_query| client
図から読み取るべき点は 2 つあります。認可には 独立した 2 つのゲートがあります。まずデプロイ全体で許可される操作を定め、次にその範囲内で呼び出し元のスコープが許可する操作を定めます。また、監査ログには拒否を含む すべての経路が記録されます。上流 API はすべての呼び出し元を 1 つの共有キーで認証するため、それ自体では呼び出し元を特定できないからです。
要件
- Node.js 22 以降。Node 20 は 2026 年 4 月 30 日にサポート終了となり、セキュリティパッチは提供されません。コンテナイメージでは、アクティブな LTS である Node 24 が実行されます。
- EuroDNS API の認証情報:EuroDNS ダッシュボードの API アクセスで作成する Application ID と API key。
- このサーバーを実行するマシンのパブリック IP を、同じダッシュボードで許可リストに登録する必要があります。 API からの
403は、認証情報の誤りではなく、許可リストへの登録漏れが原因であることがほとんどです。
クイックスタート
Claude Desktop など、クライアント自身がサーバーを起動する場合:
{
"mcpServers": {
"eurodns": {
"command": "npx",
"args": ["-y", "@jigsawfr/eurodns-mcp"],
"env": {
"EURODNS_APP_ID": "your-application-id",
"EURODNS_API_KEY": "your-api-key"
}
}
}
}
まずターミナルで試す場合:
npx -y @jigsawfr/eurodns-mcp
認証情報がなくても起動し、すべてのツール、プロンプト、リソースを一覧表示します。また、それぞれの呼び出しを、必要な 2 つの変数名を示すメッセージとともに拒否します。そのため、キーを用意する前でもマーケットプレイスや npx @modelcontextprotocol/inspector で機能を確認できます。
このパッケージには 2 つのコマンドが含まれています。上記の stdio 用 eurodns-mcp と、HTTP トランスポート用の eurodns-mcp-http です。後者は npx -p @jigsawfr/eurodns-mcp eurodns-mcp-http で実行できます。
HTTP 経由で共有デプロイする場合は、代わりにコンテナを使用してください。デプロイをご覧ください。
API キーをクライアントの設定ファイルに記載しないようにしてください。シークレットでは、そのための 2 つの方法を紹介しています。
どのようなことを頼めますか
| 質問 | 使用するツール |
|---|---|
| 「example.com の DNS レコードを教えてください」 | eurodns_dns_get_zone |
「example.com に TXT レコード _acme-challenge を追加してください」 | eurodns_dns_upsert_record |
| 「www を 203.0.113.10 に向けると、何が変わりますか?」 | eurodns_dns_diff_zone |
| 「example.lu は取得可能ですか?」 | eurodns_domain_check_availability |
| 「所有しているドメインのうち、DNSSEC が有効なのはどれですか?」 | eurodns_domain_get |
| 「この SSL 証明書の有効期限はいつですか?」 | eurodns_subscription_get |
| 「プリペイド残高はいくらですか?」 | eurodns_account_get_prepaid_balance |
| 「先週、何を変更しましたか?」 | eurodns_audit_query |
| 「何が拒否されましたか?理由も教えてください」 | eurodns_audit_query |
ドキュメント
| ページ | 内容 |
|---|---|
| ツール | 全 55 個のツール、それらにまとめられた操作、プロンプト、リソース |
| ガードレール | リスククラス、デプロイ環境で禁止できる操作、呼び出し前の確認 |
| 設定 | すべての環境変数とそのデフォルト値 |
| HTTP トランスポート | 複数のクライアントへのサービス提供、静的トークン、OAuth 2.1、スコープ |
| シークレット | クライアント設定に API キーを記載しない方法と、1Password Connect |
| 監査ログ | 記録される内容、ハッシュチェーン、サーバーへの操作履歴の問い合わせ |
| Entra ID | Microsoft Entra ID を使った OAuth の手順と注意点 |
| デプロイ | コンテナ、Fly.io、Render、Railway、およびログの SIEM への送信 |
| プロトコル | 対応する MCP のリビジョンと、1 つのエンドポイントで両方を提供する方法 |
| 開発 | ビルド、テスト、生成されるツール群、リリースの仕組み |
デプロイ
cp .env.example .env # credentials, plus a token: openssl rand -hex 32
docker compose up -d
curl localhost:3000/healthz
公開イメージは ghcr.io/jigsawfr/eurodns-mcp にあり、linux/amd64 と
linux/arm64 向けに、ビルドの来歴を示すアテステーション付きでビルドされています。
実行場所を決める要素は2つあり、どちらも一般的なレイテンシや価格の話ではありません。
- EuroDNS API は送信元 IP でフィルタリングするため、ホストには安定した、できれば 専用の送信 IP が必要です。他のテナントと共有する IP では、仕組みは維持できても 保護は失われます。
- 履歴クエリツールはファイルを読み込むため、ホストには永続ディスクが必要です。 そのため、ファイルシステムが一時的なプラットフォームは使えません。
どちらの点でも Fly.io が有利です。専用 IPv4 は月に数ドルで、他のサービスでは
およそ $100 かかります。deploy/ には、各プラットフォームの
詳細、すぐに使える fly.toml と render.yaml、そして比較の全容が記載されています。
誰もが一度はつまずく設定があります。コンテナ内ではサーバーは 0.0.0.0 で
リッスンし、認証なしでループバック以外のアドレスを使うと起動を拒否します。
EURODNS_MCP_AUTH を token または oauth に設定してください。
2つの方式のどちらを選ぶか
選択の基準はセキュリティの強さではありません。どちらも安全です。呼び出し元ごとに 別々の ID が必要かどうか、そして事前に把握しておくべきコストがあるかどうかです。
token は、ヘッダーに設定する共有シークレットです。すぐに使い始められ、必要なのは
サーバーだけで、1人で使うデプロイに適しています。失うのは呼び出し元の追跡機能です。
監査ログにはラベルが記録されるため、破壊的な呼び出しがあったことはわかりますが、
誰が実行したかはわかりません。
oauth では各ユーザーが個別の認証情報を持ち、5つのスコープで実行できる操作を
決め、監査ログに実際の ID が記録されます。スコープは呼び出し元ができる操作を決めます。
トークンを取得できるユーザーは ID プロバイダーが決めますが、ほとんどのプロバイダーは
ディレクトリ内の全員を既定で対象とします。そのため、この設定は後回しにせず、
構成の一部として扱ってください。導入時に必要なのは、ID プロバイダーが受け入れる
ドメイン上のホスト名です。Microsoft Entra ID の場合、サーバーの公開 URL が
アプリケーション ID URI も兼ねる必要があるため、ドメインはテナントで検証済み
でなければなりません。*.fly.dev のようなプラットフォームのホスト名は検証できないため、
ドメインは必須です。Entra ID では、関係する3つの名前が
一致しない場合に発生するエラーと、さらに一歩進んで、全員に同じスコープを割り当てるのではなく、
各ユーザーに 異なる スコープを割り当てる方法も含めて、一連の手順を解説しています。
token で開始して、後から oauth に移行する場合、再起動以外に必要なことはありません。
データ移行も、ツールの動作変更も不要です。
貢献
ワークフローについてはCONTRIBUTING.md、コマンドについては docs/development.md を参照してください。変更履歴の生成に Conventional Commits を使用しているため、 プルリクエストのタイトルはその規約に準拠しているかチェックされます。
ライセンス
MIT。
「EuroDNS」は EuroDNS S.A. の商標であり、このライセンスの対象ではありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。