DNS auth 401 "no MCP public key found" despite correct, globally-propagated base64 TXT record
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- go
調査の方向性
Start with the registry's DNS authentication path, using the mcp-publisher login dns flow and the reported 401 as the reproduction. Compare the TXT lookup result used by the registry with the public and authoritative resolver results listed here, and investigate whether stale negative caching is involved. Done means the registry recognizes the published base64 proof and DNS login succeeds, or the resolver/cache behavior is identified.
索引モデルが issue の本文から書いたものです。
説明
Summary
DNS authentication (mcp-publisher login dns) fails with 401 no MCP public key found in DNS TXT records, even though the required MCP proof TXT record is correctly published, well-formed, and globally propagated. The registry's resolver appears to be serving/caching a stale negative result: every public resolver and the authoritative nameserver return the correct base64 Ed25519 key, but the registry still cannot see it after ~3 hours.
Environment
mcp-publisherversion: 1.8.1- Domain:
solides.com.br(apex TXT record, authoritative = AWS Route 53, TTL 60s) - Auth method:
login dns
What the publisher expects (from login dns output)
Expected proof record:
v=MCPv1; k=ed25519; p=SKhuBvoz+KAh+PdxO6WHDunygJ03s6ahwSbR6FR3wtw=
What is actually published (and globally propagated)
The TXT record on the solides.com.br apex is identical to the expected proof, is a single value (no 255-char chunking, no duplicate v=MCPv1), with TTL 60s. Verified just now against 5 resolvers plus the authoritative NS:
| Resolver | Returns |
|---|---|
| 8.8.8.8 (Google) | v=MCPv1; k=ed25519; p=SKhuBvoz+KAh+PdxO6WHDunygJ03s6ahwSbR6FR3wtw= |
| 1.1.1.1 (Cloudflare) | identical |
| 9.9.9.9 (Quad9) | identical |
| 208.67.222.222 (OpenDNS) | identical |
| ns-1666.awsdns-16.co.uk (authoritative Route 53) | identical |
Reproduce:
dig +short TXT solides.com.br @8.8.8.8 | grep MCPv1
Actual error
Error: failed to get token: failed to exchange dns signature: token exchange failed with status 401:
{"title":"Unauthorized","status":401,"detail":"DNS authentication failed",
"errors":[{"message":"no MCP public key found in DNS TXT records"}]}
Likely cause
The record was previously published for a few days in hex encoding (p=48a8..., 64 chars) before being corrected to the spec-required base64 encoding. We suspect the registry's internal DNS resolver has a stale cache / negative-cache entry for solides.com.br TXT that is outliving the record's 60s TTL (3h+ and counting), so it never re-fetches the corrected base64 key. The public internet has fully converged on the correct value.
Ask
Could you confirm which resolver the registry backend uses for DNS auth, and whether its cache for solides.com.br TXT can be flushed / its TTL honored? Happy to provide any further diagnostics.
(Note: the p= value above is an Ed25519 public key — safe to share for reproduction.)
- 主要言語
- Go
- スター
- 7.3k
- フォーク
- 1k
- 平均マージ
- 3日 14時間
- マージ済み PR(30日)
- 12
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
modelcontextprotocol/registry のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
modelcontextprotocol/registry#1713 ·
メンテナーはふだん 1 日以内に返信
-
3 registry records that cannot resolve for any client, and a caution about single-pass dead countsオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
modelcontextprotocol/registry#1692 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
modelcontextprotocol/registry#1657 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
modelcontextprotocol/registry#1652 ·
メンテナーはふだん 1 日以内に返信
-
IsValidRemoteURL only blocks literal localhost/127.0.0.1 — misses [::1], 127.0.0.0/8, 0.0.0.0, and private/link-local addresses対応中かも @amitvijapur が 89 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
modelcontextprotocol/registry#1465 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
modelcontextprotocol/registry の issue をすべて見る
似ている issue
-
Chained slog With calls discard previously bound attributes対応中かも @yuefdev が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
[scanner] TestAgentNowLineStates hard-fails instead of degrading when node is off PATH対応中かも @arteeh が今日担当しました。 オープンagent/scanner ci help wanted kind/test
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
hivecommons/hive#12924 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Gentleman-Programming/engram#1940 ·
メンテナーはふだん 1 日以内に返信
-
area: go-workers help wanted tech debt
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
[exporter/splunkhec] Oversized metric event causes subsequent valid metrics to be dropped対応中かも @harshkoli1255 が今日担当しました。 オープンbug exporter/splunkhec needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
open-telemetry/opentelemetry-collector-contrib#52142 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信