プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。Google でログインするとレビューを書けます。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Dns Aid

作者:infobloxopenバージョン 0.17.3i★ 76iパソコンで動く
レジストリ名io.github.infobloxopen/dns-aid

インストール方法

What it does

Discover and publish AI agents via DNS using SVCB records (RFC 9460)

  • Connects パソコンで動く
  • Account or key No key needed
  • Category 開発者ツール

インストール

使っているAIアプリを選んで、設定をコピーしてください。

チェック 3/3 合格 · あなたのパソコンで動きます

まず:どの AI を使っていますか?

使っているアプリを選ぶと、下に手順が表示されます。

Claude につなげますが、先に準備が必要です

Dns Aid のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. Dns Aid に登録してキーを作る

    提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。

    キーの取り方は下の提供元 README にあります

  3. パソコン版 Claude アプリの設定ファイルを開く

    SettingsDeveloperEdit Config

  4. この設定を貼り付けて保存

    {
      "mcpServers": {
        "dns-aid": {
          "command": "uvx",
          "args": [
            "dns-aid"
          ],
          "env": {
            "DNS_AID_BACKEND": "your-value"
          }
        }
      }
    }

    キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください

  5. Claude を終了してもう一度開く

  6. 試してみる

    Dns Aid を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude が Dns Aid を使っていると言うか、回答に Dns Aid のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

ChatGPT はまだ Dns Aid につなげません

Dns Aid はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません

代わりにできること

A · Dns Aid につなげるアプリを使う

  • Dns Aid のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
  • Dns Aid のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)
  • Dns Aid のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)
  • Dns Aid のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)

B · 開発者ツール の中で ChatGPT につなげる別のサーバー

同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました

Claude Code につなげますが、先に準備が必要です

Dns Aid のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. Dns Aid に登録してキーを作る

    提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。

    キーの取り方は下の提供元 README にあります

  3. ターミナルを開く

    Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く

  4. このコマンドを貼り付けて Enter

    claude mcp add --scope user dns-aid --env DNS_AID_BACKEND=your-value -- uvx dns-aid

    Enter の前に「your-value」を自分のキーに書き換えてください

    キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください

  5. Claude Code で /mcp と入力

    Dns Aid が一覧にあり、接続済みと表示されれば OK です

  6. 試してみる

    Dns Aid を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude Code が Dns Aid を使っていると言うか、回答に Dns Aid のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Cursor につなげますが、先に準備が必要です

Dns Aid のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. Dns Aid に登録してキーを作る

    提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。

    キーの取り方は下の提供元 README にあります

  3. このボタンで Cursor を開く

    Cursor で開く

    Cursor がインストールの確認をするので Install を押します

  4. キーを入力

    Dns Aid の設定で DNS_AID_BACKEND が空です。自分のキーを入れて保存します

    キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください

  5. Cursor の AI チャットを Agent モードで開く

  6. 試してみる

    Dns Aid を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Cursor が Dns Aid を使っていると言うか、回答に Dns Aid のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

VS Code につなげますが、先に準備が必要です

Dns Aid のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. Dns Aid に登録してキーを作る

    提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。

    キーの取り方は下の提供元 README にあります

  3. このボタンで VS Code を開く

    VS Code で開く

    VS Code がインストールの確認をするので Install を押します

  4. キーを入力

    Dns Aid の設定で DNS_AID_BACKEND が空です。自分のキーを入れて保存します

    キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください

  5. VS Code の AI チャットを Agent モードで開く

  6. 試してみる

    Dns Aid を使って、私に何ができるか教えて、1 つやってみせて

    ✓ VS Code が Dns Aid を使っていると言うか、回答に Dns Aid のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください

MCP を使えるアプリをすべて見る →

JSON 設定は下の「開発者向け」にあります

つまずいたら?Dns Aid を使っている人に聞いてみましょう💬 ディスカッション →
開発者向け:ターミナルのコマンドと JSON 設定

パソコンにインストール

Claude Code

claude mcp add --scope user dns-aid --env DNS_AID_BACKEND=your-value -- uvx dns-aid

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "dns-aid": {
      "command": "uvx",
      "args": [
        "dns-aid"
      ],
      "env": {
        "DNS_AID_BACKEND": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "dns-aid": {
      "command": "uvx",
      "args": [
        "dns-aid"
      ],
      "env": {
        "DNS_AID_BACKEND": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "dns-aid": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "dns-aid"
      ],
      "env": {
        "DNS_AID_BACKEND": "your-value"
      }
    }
  }
}

自分で入力する値

  • DNS_AID_BACKEND env
    DNS backend to use (route53, cloudflare, infoblox, nios, ns1, ddns, mock). Not required for discovery-only operations.

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

ひと目でわかる

週あたりのダウンロードi
123/週
接続方法
パソコンで動く
最新バージョンi
0.17.3
レジストリ公開日i
2026年4月14日
コードの最終更新i
2026年11月5日
作者
infobloxopen
パッケージ
pypi: dns-aid
レジストリでの状態
有効

使えるアプリ

このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。

パソコン上で動かせるアプリ

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

すべてのアプリと長所・短所 →

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月12日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント dns-aid で確認済みです

  • ✓ 合格

    今もメンテナンスされている

    コードの最終更新:7 日前

  • ✓ 合格

    ライセンスがある

    Apache-2.0を使用

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

話し合い

質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。

まだ投稿はありません。最初の質問や共有をどうぞ。

ここの投稿は利用者によるもので、PopNx チームのものではありません。

Google でログインして投稿

ユーザーレビュー

まだレビューはありません

Google でログインしてレビューを書く

開発者ツールのほかのサーバーとの比較i

  • このカテゴリのほかの5802件のうち96%よりスターが多い
  • このカテゴリのほかの5802件のうち8%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの5802件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Dns Aidは安全ですか?

当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は7 日前、最新バージョン(0.17.3)がレジストリに届いたのは7 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:REA, GitHub, Serena MCP: the IDE for your agent

同じカテゴリのほかの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

REA

Reverse engineer anything from your terminal or agent with one CLI and MCP server.

作者:morluto広く使われている↓ 38.9万/週★ 45.3万18 日前更新

パソコンで動く

GitHub

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

作者:github広く使われている★ 3.4万9 日前更新

パソコンでもクラウドでも

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

DNS-AID

DNS-based Agent Identification and Discovery

Reference implementation for IETF draft-mozleywilliams-dnsop-dnsaid-02.

DNS-AID enables AI agents to discover each other via DNS, using the internet's existing naming infrastructure instead of centralized registries or hardcoded URLs.

Relationship to IETF

The DNS-AID specification is being developed within the IETF: https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-dnsaid/.

This repository provides a reference implementation.

This project does not define the specification. The IETF draft is authoritative.

Scope of this Repository

This project focuses on implementation, tooling, and ecosystem activities.

Changes to protocol behavior should be discussed within the IETF.

New to DNS-AID? Start with the Getting Started Guide for install, first agent publication, and backend setup.

Documentation

Ecosystem and Integrations

DNS-AID is a substrate. The library in this repository is sufficient on its own — it publishes and resolves agent records against any DNS provider, with no dependency on a particular directory, indexer, or telemetry backend.

When a search, indexing, or telemetry layer is useful, the SDK can point at any HTTP endpoint that implements the documented interfaces. Operators are encouraged to run their own — the indexer is a thin layer over the same DNS records this library publishes and discovers, and the SDK telemetry sink is configurable via DNS_AID_SDK_HTTP_PUSH_URL (off by default). Independent directory implementations exist across the ecosystem; DNS-AID is designed to remain interoperable with any of them rather than canonicalize a single one.

Quick Start

Install
# Install from PyPI

pip install "dns-aid[cli,mcp]"

Or install the latest unreleased main from GitHub

pip install "dns-aid[cli,mcp] @ git+https://github.com/dns-aid/dns-aid-core.git"

For backend-specific extras (route53, cloudflare, ns1, cloud_dns, infoblox, akamai-edgedns, ddns), see the Getting Started Guide.

Python Library
import dns_aid

Publish your agent to DNS

await dns_aid.publish( name="my-agent", domain="example.com", protocol="mcp", endpoint="agent.example.com", capabilities=["chat", "code-review"] )

Discover agents at a domain (Path A: DNS substrate)

agents = await dns_aid.discover("example.com") for agent in agents: print(f"{agent.name}: {agent.endpoint_url}")

Discover via HTTP index (richer metadata; format aligns with the ANS schema) —

also auto-detects and dereferences ARD ai-catalogs (see docs/ard-catalog.md)

agents = await dns_aid.discover("example.com", use_http_index=True)

(0.26.3+) A catalog on your own domain needs nothing. An off-domain catalog

pointer is trusted only via per-record JWS (verify_signatures=True) or, opt-in,

a DNSSEC-validated pointer (trust_dnssec_pointers=True) — otherwise it is ignored

and discovery falls back to the on-domain catalog. The trust basis is surfaced as

AgentRecord.catalog_trust (tls_domain | dnssec | jws). See docs/ard-catalog.md.

(0.26.4+) Opt-in DNSSEC/DANE hardening (SDK/CLI/MCP; all default off — DNSSEC is

never required). require_dnssec / min_dnssec enforce the resolver AD flag on

DNS-plane agents (ARD / HTTP-catalog agents are exempt — they carry no DNS SVCB

record). verify_dane binds each agent endpoint's TLS cert to its DANE/TLSA record

(defense-in-depth, meaningful only under DNSSEC) → AgentRecord.dane_verified.

(0.26.5+) trust_dnssec_pointers (above) is exposed the same way — CLI

--trust-dnssec-pointers / MCP — so all four opt-in trust controls have SDK/CLI/MCP parity.

Filtered discovery — pure-Python predicates over the in-memory result (v0.19.0+)

result = await dns_aid.discover( "example.com", capabilities=["payment-processing"], auth_type="oauth2", realm="prod", require_signed=True, require_signature_algorithm=["ES256", "Ed25519"], )

Verify an agent's DNS records

result = await dns_aid.verify("my-agent.example.com") print(f"Security Score: {result.security_score}/100")

Path B: cross-domain search via an external directory (v0.19.0+)

When the caller does not yet know which domain hosts the agent it wants, the SDK can query any directory backend that implements the search endpoint. The directory layer is opt-in convenience; the DNS substrate remains the authoritative trust gate.

from dns_aid.sdk import AgentClient, SDKConfig

Point at whichever directory the caller has chosen to trust.

Can also be set via DNS_AID_SDK_DIRECTORY_API_URL.

config = SDKConfig(directory_api_url="https://your-directory.example.com")

async with AgentClient(config=config) as client: response = await client.search(q="payment processing", protocol="mcp") for r in response.results: print(r.agent.fqdn)

After the directory returns candidates, re-resolve each one through Path A and validate signatures / DNSSEC before invoking. This is the substrate-as-authority pattern: the directory provides ranking and discovery convenience, but never sits in the trust path between the caller and the agent.

async with AgentClient(config=config) as client:

response = await client.search(q="fraud detection") for candidate in response.results: verified = await dns_aid.discover( candidate.agent.domain, name=candidate.agent.name, require_signed=True, )

Invoke only when DNS substrate confirms the directory's claim.

The SDK exposes additional filter parameters (capabilities, min_security_score, verified_only, etc.) for directories that compute and return those signals; see API Reference for the full surface. The semantics of those values are defined by whichever directory the caller has chosen — DNS-AID does not centralize them.

SDK: Invoke Agents & Capture Telemetry (v0.6.0+)
import dns_aid

Discover + invoke in one line — telemetry captured automatically

result = await dns_aid.discover("example.com", protocol="mcp") agent = result.agents[0]

resp = await dns_aid.invoke(agent, method="tools/list") print(f"Latency: {resp.signal.invocation_latency_ms}ms") print(f"Status: {resp.signal.status}") print(f"Tools: {resp.data}")

Rank multiple agents by your own local telemetry signals

ranked = await dns_aid.rank(result.agents, method="tools/list") for r in ranked: print(f"{r.agent_fqdn}: score={r.composite_score:.1f}")

OpenTelemetry (v0.23.0+): install dns-aid[otel] and set otel_enabled=True (or DNS_AID_SDK_OTEL_ENABLED=true) to emit spans + metrics per invoke and propagate W3C trace context to downstream agents. See docs/integrations/opentelemetry.md.

For advanced usage (connection reuse, OpenTelemetry export, pluggable telemetry sink):

from dns_aid.sdk import AgentClient, SDKConfig

config = SDKConfig( otel_enabled=True, # Export to any OpenTelemetry collector caller_id="my-app",

Optional: push telemetry to any HTTP endpoint the caller controls

http_push_url="https://your-telemetry.example.com/v1/signals",

)

async with AgentClient(config=config) as client: resp = await client.invoke(agent, method="tools/call", arguments={...}) fqdns = [a.fqdn for a in agents] ranked = client.rank(fqdns) # Rank by the caller's own observed telemetry

If an external aggregator publishes community-wide rankings over HTTP, the SDK can fetch them via client.fetch_rankings(...); the endpoint is configured by the caller, not by the library.

SDK: Per-Invoke Credential Provider Callback (v0.21.0+)

For short-lived credentials (RFC 8693 token exchange, AWS STS assume-role, HashiCorp Vault dynamic secrets, HSM/KMS-backed signing keys), pass an opt-in async credential_provider callback to invoke(). The SDK awaits the callback lazily at invoke time with the target AgentRecord and uses the returned dict for auth resolution. Strictly additive — every existing call site continues to work without source change.

async def token_exchange_provider(agent: AgentRecord) -> dict[str, str]:

Mint a fresh delegation token per call — e.g., RFC 8693 token exchange

against Keycloak / Okta / Auth0 / Microsoft Entra ID.

return {"token": await my_idp.exchange_token(subject_token, agent.fqdn)}

async with AgentClient(config=config) as client: resp = await client.invoke( agent, method="tools/list", credential_provider=token_exchange_provider, )

Precedence: auth_handler > credentials > credential_provider > no_auth. See docs/security-credentials.md for the per-handler security matrix, audit-trail flow, and the examples/integration_oauth2_token_exchange.py and examples/integration_aws_sts_assume_role.py canonical patterns.

CLI Usage

# Publish an agent to DNS

dns-aid publish \ --name my-agent \ --domain example.com \ --protocol mcp \ --endpoint agent.example.com \ --capability chat \ --capability code-review

Publish with transport and auth metadata (v0.10.0+)

dns-aid publish \ --name billing \ --domain example.com \ --protocol mcp \ --endpoint mcp.example.com \ --capability billing --capability invoicing \ --transport streamable-http \ --auth-type bearer

Publish with DNS-AID custom SVCB parameters (v0.4.8+)

dns-aid publish \ --name booking \ --domain example.com \ --protocol mcp \ --endpoint mcp.example.com \ --capability travel --capability booking \ --cap-uri https://mcp.example.com/.well-known/agent-cap.json \ --cap-sha256 dGVzdGhhc2g \ --bap "mcp/1,a2a/1" \

冒頭だけを表示しています。続きはリポジトリで読めます