DNS auth 401 "no MCP public key found" despite correct, globally-propagated base64 TXT record
I maintainer di solito rispondono entro 5 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- go
- Ambito
- authentication, networking
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.)
- Lingua principale
- Go
- Stelle
- 7.3k
- Fork
- 1k
- Merge medio
- 4g 4h
- PR unite (30g)
- 13
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di modelcontextprotocol/registry
-
3 registry records that cannot resolve for any client, and a caution about single-pass dead countsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
modelcontextprotocol/registry#1692 ·
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
modelcontextprotocol/registry#1657 ·
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
modelcontextprotocol/registry#1652 ·
I maintainer di solito rispondono entro 5 giorni
-
IsValidRemoteURL only blocks literal localhost/127.0.0.1 — misses [::1], 127.0.0.0/8, 0.0.0.0, and private/link-local addressesForse già presa @amitvijapur l’ha presa 82 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
modelcontextprotocol/registry#1465 · 1 commento ·
I maintainer di solito rispondono entro 5 giorni
-
GitLab repository URLs with nested groups/subgroups are rejected by validatorForse già presa @anneheartrecord l’ha presa 121 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
modelcontextprotocol/registry#1359 ·
I maintainer di solito rispondono entro 5 giorni
Tutte le issue di modelcontextprotocol/registry
Issue simili
-
product/backlog
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
TencentBlueKing/bk-nodemgr#3645 ·
I maintainer di solito rispondono entro 1 giorno
-
docs(prompt): filer socket fragment hardcodes an issue-intent cap of 8 that Chore runs overrideApertaagent-butler-finding chore
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
jordansmall/spindrift#5128 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
I maintainer di solito rispondono entro 2 giorni
-
License GOtome under Apache 2.0 instead of AGPL-3.0Forse già presa @praetorianer777 l’ha presa oggi. Apertaarea:workflow documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
praetorianer777/GoTome#212 ·
I maintainer di solito rispondono entro 1 giorno
-
ci: pin Go version in Build and Unit Test workflows (>=1.26.6 floats to 1.27.2 and breaks golangci-lint)Forse già presa @leninmehedy l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 87/100
hashgraph/solo-weaver#1255 ·
I maintainer di solito rispondono entro 1 giorno