Search for MCP servers by keywords
Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Current registry API doesn't seem to have a search API endpoint.
Describe the solution you'd like A clear and concise description of what you want to happen.
It should be possible to search MCP servers by keywords.
Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.
N/A
Additional context Add any other context or screenshots about the feature request here.
n/a
Good point, basic keyword string matching search was meant to be in scope for the MVP here; I forgot to cut an Issue for this and we should do this.
I do think we should design the search endpoint such that it is easily extensible for other implementations to do more advanced things with it (e.g. filter, sort); and perhaps look to other registry specifications for inspiration (e.g. WoT Discovery, xRegistry) on how to design this well. Even though advanced search is out of scope for the official registry itself.
Will the central registry actually implement search, or are we just defining an endpoint for API implementors? My instinct was that, for scalability reasons, search would be the purview of registry consumers.
I think we should actually implement a search by name (via exact substring match). Reason being, I would want our CLI tool to be able to provide functionality like "give me a list of servers already published by com.microsoft so I don't try to republish the same one".
I would propose that we:
- Agree on 'implement a substring match on the 'name' field' approach
- For now, keep it out of the registry API spec, so that...
- subregistries don't need to implement it
- easier to make breaking changes/change how search works in future to support more capable forms of search
- Change the label from 'product requirements work' to 'implementation work' (or at least to 'tech requirements work', if we think there is much more to discuss on this)
Related: https://github.com/modelcontextprotocol/registry/issues/291 (search for MCP servers by updated at timestamp)
Recording decision: in today's maintainer meeting we agreed on this for go live, combined with #291.