Dependency-ordered; TDD (failing test first) per task.
- T01 Golden fixture
testdata/official_v0.1_servers.json(packages-only, remotes-only, hybrid, deprecated, non-latest, deleted). - T02
official_test.go— failing tests:parseOfficialPageenvelope + status/isLatest filter; classification matrix;fetchOfficialServerscursor pagination;referenceServersoffline. - T03
official.go—parseOfficialPage/parseOfficialItems/officialServerToEntry/buildPackageCommand+ camelCase/snake_case-tolerant map helpers. - T04
official.go—fetchOfficialServerscursor follow-loop,buildOfficialURL(version=latest, limit, search, cursor), versioned User-Agent (#566). - T05
reference.go— built-in curated reference set (7 stdio servers),referenceServers(). - T06
search.go—fetchServersshort-circuits official + reference; threadquery; route dispatch toparseOfficialPage; remove URL-synthesis loop. - T07
search.go— remove dropped parsers (parseMCPRun,parseMCPStore,parseFleur,buildFleurInstallCmd,parseRemoteMCPServers,parseAzureMCPDemoWithoutGuesser,constructServerURL) + dead constants + their tests; keepparseOpenAPIRegistryas legacy-flat fallback. - T08
config.go—DefaultRegistries()rewire (official + reference + docker; pulse/smithery opt-in). - T09 Update
registry_data_test.go+integration_test.goto the new default set. - T10
server/consistency_official_test.go— cross-surface #567 regression (REST + CLI). - T11 Docs:
docs/registries.md(new) + README registry list; CLAUDE.md unchanged (40k gate). - T12 Local green:
run-linter.sh,go test ./internal/... -race,test-api-e2e.sh. Open PR (never merge); dual-AI review.