getdr について
getdr-mcpは、ドメインやURLのAhrefs Domain Rating(DR)をAIエージェントに提供するオープンソースのMCPサーバーです。getdrサーバーまたはローカルのgetdrバイナリを使い、Ahrefsへ直接リクエストしません。
主な機能
- 01ドメインやURLのDRを取得
- 02dr3とdr4の計算式に対応
- 03サーバーまたはローカルバイナリを利用
- 04JSONと構造化コンテンツを返却
活用シーン
- 01AIエージェントによるドメイン評価の取得
- 02複数対象のDR比較
- 03キャッシュを無視した再取得
MCP 対応
stdio経由でMCPクライアントにget_drツールを提供します。ネットワーク上のgetdrサーバーまたはPATH上のgetdrバイナリを使うよう設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y getdr-mcpGETDR_APIURL of a getdr server (getdr serve). When unset, the getdr binary on PATH is used.GETDR_SERVE_TOKENシークレットBearer token for the getdr server, if it requires one.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
1掲載時のツール一覧 · 1 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| fresh | boolean | いいえ | キャッシュを無視して再取得します。 |
| targets | array | はい | ドメインまたは URL。URL はホスト名に簡略化され、www. は削除され、重複は取り除かれます。結果は入力順に並びます。 |
| version | enum | いいえ | DR の計算式:dr3 または dr4(新しいもの)。デフォルトは getdr サーバーまたはバイナリの設定値で、設定がない場合は dr3 です。バージョン間で値を比較することはできません。dr3 | dr4 |
詳細
getdr-mcp
getdr-mcp は、Index Pages が提供する小さなオープンソースのMCPサーバーです。AI エージェントに、ドメインまたは URL の Ahrefs Domain Rating(DR)を取得する get_dr という 1 つのツールを提供します。getdr の薄いラッパーであり、getdr サーバーまたは getdr バイナリに問い合わせるだけで、独自に Ahrefs へリクエストを送ることはありません。Stdio トランスポートを使用し、実行時の依存関係はありません。ドキュメント:
index-pages.com/getdr。
セットアップ
MCP クライアントに追加してください(Claude Desktop、Claude Code、Cursor などでは、次の形式を使用します)。
{
"mcpServers": {
"getdr": {
"command": "npx",
"args": ["-y", "getdr-mcp"]
}
}
}
これは、PATH 上にある getdr バイナリを使用します。代わりにネットワーク上の getdr サーバーを使用する場合は、次のようにします。
{
"mcpServers": {
"getdr": {
"command": "npx",
"args": ["-y", "getdr-mcp"],
"env": {
"GETDR_API": "http://lan-host:8080",
"GETDR_SERVE_TOKEN": "s3cret"
}
}
}
}
Node.js 18 以降が必要です。
バックエンド
呼び出しのたびに、次の順序で確認します。
GETDR_APIが設定されている場合 – その getdr サーバー(getdr serve)に対してPOST $GETDR_API/drを 1 回実行します。トークンが設定されている場合は、Authorization: Bearer $GETDR_SERVE_TOKENを指定します。Ahrefs キーと共有キャッシュはサーバー側で保持されるため、このマシンにはどちらも必要ありません。getdr(0.2.0 以降)がPATH上にある場合 – ターゲットを標準入力で渡し、シェルを介さずにgetdr --format json -q [--version V] [--fresh] -f -を実行します(ターゲットが#で始まる場合は--の後ろに引数として渡します。そうしないと-fにコメントとして読み飛ばされるためです)。バイナリは独自の設定、キャッシュ、キー(AHREFS_KEY)、または独自のapi設定を使用します。- どちらもない場合 – ツールはセットアップ手順を示すエラーを返します。
go install github.com/index-pages/getdr@latest またはリリースからバイナリをインストールし、無料の Ahrefs API キーを取得してください:
index-pages.com/getdr#key。
どちらのバックエンドも同じレコードを返します。呼び出しは 120 秒後にタイムアウトします。
プロキシ:HTTP バックエンドは Node に組み込みの fetch を使用します。NODE_USE_ENV_PROXY=1 が設定されていない限り、HTTP_PROXY/HTTPS_PROXY は無視されます(Node 22.21 以降、または 24 以降。これより古いバージョンには組み込みのプロキシサポートがありません)。バイナリバックエンドでは、通常どおり HTTP_PROXY、HTTPS_PROXY、NO_PROXY が適用されます。
ツール
get_dr – 「Index Pages の getdr を介して、ドメインまたは URL の Ahrefs Domain Rating(0~100)を取得します」。
| 引数 | 型 | |
|---|---|---|
targets | string[] | 必須、空でないこと。ドメインまたは URL |
version | "dr3" または "dr4" | DR の計算式。省略した場合はバックエンドの設定に従います。GETDR_API が設定されている場合は getdr サーバーの設定、それ以外の場合はバイナリの設定(そのバイナリがサーバーを使用する場合も同様)が使われ、未設定なら dr3 になります。バージョン間で値を比較することはできません |
fresh | boolean | キャッシュを無視して再取得します |
ターゲットは getdr によって正規化されます。URL はホストに変換され、www. は削除され、すべて小文字に変換され、重複は取り除かれます。結果は入力順に並びます。
出力
テキスト結果は、ターゲットごとに 1 つのレコードを含む JSON 配列のみです。
[
{"target":"ahrefs.com","dr":91,"version":"dr3","checked_at":"2026-10-28T12:00:00Z","cached":true},
{"target":"nodata.example","dr":null,"version":"dr3","checked_at":"2026-10-28T12:00:00Z","cached":false}
]
各レコードは getdr の JSON コントラクトに従い、getdr --format json および getdr serve と同じです。Ahrefs にデータがない場合、dr は null になります。応答がなかった場合、またはターゲットが無効な場合は、checked_at も null になります。無効なターゲット(ドメインでも URL でもないもの、または localhost のように Ahrefs に拒否されたもの)には、"error":"invalid target" も含まれます。それ以外のレコードに error キーはありません。MCP プロトコル 2025-06-18 以降のクライアントには、structuredContent – {"results": […]} – と、そのための outputSchema も返されます。
無効なターゲットや応答のないターゲットは、通常の結果に含まれます。次の場合は、getdr のメッセージを含むツールエラー(isError: true)が返されます。
- どのターゲットにも応答がなかった場合。
- getdr サーバーが 401 を返した場合 – トークンがないか誤っています。
GETDR_SERVE_TOKENを設定してください。 - getdr サーバーが 503 を返した場合、またはバイナリがコード 3 で終了した場合 – Ahrefs キーがないか、拒否されています。
- サーバーに接続できない場合、バイナリが失敗した場合、または呼び出しがタイムアウトした場合。
サポート対象の MCP プロトコルバージョン:2026-07-28(ステートレス:server/discover とリクエストごとの _meta を使用し、ハンドシェイクなし)、および initialize ベースの 2025-11-25、2025-06-18、2025-03-26、2024-11-05。これらは並行して提供されます。
帰属表示
Domain Rating のデータは Ahrefs から取得しており、 数値を公開する際は「Domain Rating by Ahrefs」と表示することを求める Domain Rating License の対象です。ツールの結果にはデータのみが含まれ、 帰属表示は含まれていません。
getdr は Ahrefs と提携していません。
テレメトリーなし
getdr-mcp は、GETDR_API を設定した場合に getdr サーバーへ接続するだけです。設定しない場合は
getdr バイナリを起動するだけです。テレメトリー、更新チェック、分析、ping はありません。リクエストには
User-Agent getdr-mcp/<version> (+https://index-pages.com/getdr) が付与されます。ソースで確認できます。外部への
リクエストと子プロセスの起動は、どちらも src/backends.ts にのみあります。
開発
npm ci
npm run build
npm test
バックエンドのテストでは、getdr のソースツリー(../bin または
GETDR_SRC)から getdr とモックを使用するサーバーをビルドするため、Go が必要です。Go がない場合はスキップされます。ライブチェックは
AHREFS_KEY が設定されている場合にのみ実行されます。
リリース
package.json、server.json(2か所)、src/version.ts のバージョンを更新し、CHANGELOG.md を更新してから、
タグ vX.Y.Z をプッシュします。.github/workflows/release.yml は、getdr の同じタグのソースに対してビルドとテストを実行し、
すべてのバージョンがタグと一致すること、およびパッケージ化された tarball に shebang 付きの dist/index.js が含まれることを確認して、npm の信頼された公開(OIDC、トークン不要、provenance を含む)を使用して公開します。
信頼された公開は、npm にすでに存在するパッケージでのみ設定できるため、最初のリリースは一度だけ手動で公開します。npm login を実行し、
続けて npm run release を実行してください。その直後に、npmjs.com で信頼された発行者を追加します(パッケージの Settings → Trusted publishing:GitHub Actions、index-pages / getdr-mcp、ワークフロー
release.yml)。設定が期限切れになる前に、ワークフローが 2 日以内に初回の公開を完了する必要があります。
手動で公開する場合は、必ず npm run release(ビルド、テスト、check-release、npm publish)を使用し、単独の
npm publish は使用しないでください。インストールスクリプトが無効(ignore-scripts)の場合、prepack は実行されず、パッケージに
dist/ が含まれない状態で公開されます。スクリプトが実行される環境向けに、prepack はフォールバックとして残されています。
同じワークフローで、server.json を MCP Registry
に io.github.index-pages/getdr-mcp として公開します。npm に新しいバージョンが表示されるまで待機し(レジストリは npm パッケージ内の
mcpName をチェックします)、ワークフローの OIDC トークンで index-pages 名前空間を証明してから
(シークレット不要の mcp-publisher login github-oidc)、固定バージョンでチェックサムを検証した
mcp-publisher を使って mcp-publisher publish を実行します。すでにレジストリにあるバージョンはスキップされます。
ライセンス
MIT ライセンスです。詳細は LICENSE を参照してください。Index Pages が制作しました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。