feat: Add website_url field for MCP servers#422
feat: Add website_url field for MCP servers#422domdomegg merged 6 commits intomodelcontextprotocol:mainfrom
Conversation
|
Small point of uncertainty is whether we should use snake_case or camelCase. Snake would fit better with the rest of sever.json, camelCase would fit better with MCP spec. I think I probably lean towards snake case for fitting with server.json (possibly we should have used camelCase here instead generally...) but holding off merging this for a little bit until maybe some others weigh in (@tadasant @rdimitrov maybe?) |
| } | ||
|
|
||
| // Validate reverse-DNS namespace matching for website URL | ||
| if err := validateWebsiteURLNamespaceMatch(*serverJSON); err != nil { |
There was a problem hiding this comment.
Think it's reasonable to start with this validation, and then we can consider removing it in future if people find it annoying 👍
There was a problem hiding this comment.
Yeah, my thought exactly. Feels easier to relax this restriction rather than enforcing it afterwards 😅
If we want to consider doing it I think there's literally no better time than now to make the switch to camelCase 😃 If not, I agree that it should remain aligned with what the rest of the server.json follows 👍 |
|
Good thing we are in Preview 😅 I think this is fine to merge as website_url. We are already inconsistent in other places (see |
Adds optional website_url field to the server.json schema allowing publishers to provide a url to the server's homepage, documentation, or project website. This provides a central link for users to learn more about the server. Particularly useful when the server has custom installation instructions or setup requirements.
Issue: #183
PR: #130
Discussion: #274
Motivation and Context
This change addresses the need identified in #130, #183 and #274 for a standardized way to direct users to an official landing page similar to
homepageused in NPM (example). It is also serves as a viable option for MCP Servers that don't follow typical package manager patterns (e.g., embedded in a Desktop app).How Has This Been Tested?
make checkpassesBreaking Changes
None. The website_url field is optional and backward compatible with existing server.json files.
Types of changes
Checklist
Additional context
Security considerations: