Commit ecc41f9
feat(registries): adopt official MCP registry v0.1 protocol + standardize defaults
Implements the board-decided design for goal MCP-856: adopt the official
Model Context Protocol registry protocol and standardize the shipped default
registries. Resolves GH #566 (Pulse v0beta 410) and #567 (remotes-present
misclassification) by design.
- Official v0.1 parser (internal/registries/official.go): descend the wrapped
{ server, _meta } envelope; skip deleted/deprecated/non-latest by default;
cursor pagination (bounded) with version=latest + search passthrough;
versioned User-Agent (#566). Tolerates camelCase + snake_case wire fields.
- Per-entry classification (the #567 root fix): packages[] => stdio (InstallCmd
set, URL empty), remotes[] => remote (URL set), hybrid => prefer the package
and keep the remote as ConnectURL. Never "remotes present => remote".
- Curated built-in 'reference' source (reference.go): @modelcontextprotocol
servers shipped in-binary so the basics stay discoverable offline (servers#3047).
- Default-registry rewire (config.go): add Official (primary, no key) + Reference;
keep Docker MCP catalog; demote Pulse + Smithery to opt-in RequiresKey; drop
Azure-demo, mcp.run, mcpstore, Fleur, remote-mcp-servers. Remove their bespoke
parsers and all constructServerURL URL synthesis.
- Cross-surface consistency regression (server/consistency_official_test.go):
packages-only => stdio, remotes-only => http identical across REST + CLI.
TDD: golden fixture + parser/classification/pagination/reference unit tests.
Local: build, gofmt, golangci-lint (0 issues), go test ./internal/... -race,
and test-api-e2e.sh (65/65, validated against the live official registry) green.
Related #566
Related #567
Co-Authored-By: Paperclip <noreply@paperclip.ing>1 parent 33bb6e3 commit ecc41f9
13 files changed
Lines changed: 1053 additions & 799 deletions
File tree
- internal
- config
- registries
- testdata
- runtime
- server
- scripts
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
840 | 840 | | |
841 | 841 | | |
842 | 842 | | |
843 | | - | |
844 | | - | |
845 | | - | |
846 | | - | |
847 | | - | |
848 | | - | |
849 | | - | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
850 | 859 | | |
851 | 860 | | |
852 | 861 | | |
| |||
858 | 867 | | |
859 | 868 | | |
860 | 869 | | |
861 | | - | |
862 | | - | |
863 | | - | |
864 | | - | |
865 | | - | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
866 | 875 | | |
867 | | - | |
868 | | - | |
869 | | - | |
870 | | - | |
871 | | - | |
872 | | - | |
873 | | - | |
874 | | - | |
875 | | - | |
876 | | - | |
| 876 | + | |
| 877 | + | |
877 | 878 | | |
878 | 879 | | |
879 | | - | |
880 | | - | |
881 | | - | |
882 | | - | |
883 | | - | |
884 | | - | |
885 | | - | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
886 | 888 | | |
887 | 889 | | |
888 | 890 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
134 | | - | |
| 134 | + | |
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
| |||
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
149 | | - | |
150 | | - | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
151 | 152 | | |
152 | 153 | | |
153 | 154 | | |
| |||
This file was deleted.
0 commit comments