Search MCP servers
search_toolsSearch the public MCP server universe by what you want a server to do. Returns compact summaries; call get_server for a full record. Ordered by relevance, except that results with official_match true come first and results with has_public_source true come next. official_match is true when the server is published by the company the query names, and how a query names a company depends on query_class. query_class is named when the query names exactly one product we recognize (a search for it, a comparison, or a question whether a server for it exists) and we have matched that company to the publisher namespaces that are its own, by checking its own website: its web domain, such as com.stripe for stripe.com, or for some companies its account on a code host, such as io.github.getsentry. Otherwise query_class is discovery. On a named query only results under those namespaces can have official_match true; another publisher whose domain carries the same name never does. When the query is the product's name alone, ignoring the words mcp, server, official, the, a and an, up to three of the company's servers are counted among the closest matches, and every result under its namespaces has official_match true. When it has other words too, the same holds only for the company's servers already among the 100 closest matches by its words, or among the 5 closest by its meaning and within a cosine distance of 0.5 of it; the rest keep their place and have official_match false. On a discovery query, official_match is true when the query, ignoring the words mcp and server, is exactly the registered name of the domain a namespace names, such as linear for app.linear (linear.app), exactly one publisher namespace in the search index has a domain of that name, the server is under that namespace, and it is one of the three closest matches by relevance; code-host namespaces such as io.github.* and namespaces beneath a shared host such as workers.dev have no such name, and a server under that namespace that matches less closely keeps its place and has official_match false. On a discovery query the flag says only that the domain carries the name searched for, not who operates the server. The registry requires proof of control of a domain, or of a code-host account, to publish under it; we run no check of that control of our own. has_public_source is true when the record's repository URL is an owner/repo URL on github.com or gitlab.com that we link as source code, unless a check of GitHub within the last 7 days found that the github.com repository does not exist or is not public. No such check is made for gitlab.com. Within each group, a result whose publisher owns its GitHub repository, as checked within the last 7 days, moves up a little with the repository's stars, at most once per repository in a response, and moves down when the repository is archived. tool_count, tools_tokens_estimate and protocol_version come from the same check, are given only when it got the server's MCP answer within the last 7 days, and are null otherwise. tools_tokens_estimate is an estimate of the tokens the tool definitions take, counted with the o200k_base tokenizer. This data comes from the Official MCP Registry.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many servers to return. Default 10, maximum 50. | |
| query | Yes | What the server should do, in words. A phrase works as well as a keyword. | |
| filters | No |