Skip to main content
GET
/
servers
List all servers
curl --request GET \
  --url https://api.smithery.ai/servers \
  --header 'Authorization: Bearer <token>'
{
  "servers": [
    {
      "id": "abc123",
      "qualifiedName": "smithery/hello-world",
      "namespace": "smithery-ai",
      "slug": "hello-world",
      "displayName": "Hello World",
      "description": "A simple hello world server",
      "iconUrl": "https://example.com/icon.png",
      "verified": true,
      "useCount": 42,
      "remote": true,
      "isDeployed": true,
      "createdAt": "2024-01-01T00:00:00.000Z",
      "homepage": "https://smithery.ai/servers/smithery/hello-world",
      "owner": "user_abc123",
      "score": 0.016
    }
  ],
  "pagination": {
    "currentPage": 1,
    "pageSize": 10,
    "totalPages": 5,
    "totalCount": 42
  }
}

Search Servers

The registry is a list of MCP servers that are available to use. You can search for MCP servers by name, description, or tags. To get started, all you need is a Smithery API Key. You can get one at smithery.ai/account/api-keys.

Authorizations

Authorization
string
header
required

Smithery API key as Bearer token

Query Parameters

q
string

Search query for full-text and semantic search across server names and descriptions.

page
integer

Page number (1-indexed).

Required range: 1 <= x <= 9007199254740991
pageSize
integer

Number of results per page (default 10, max 100).

Required range: 1 <= x <= 100
topK
integer

Maximum number of candidate results to consider from the search index before pagination.

Required range: 10 <= x <= 500
fields
string

Comma-separated list of fields to include in response

ids
string<uuid>[]

Filter by specific server IDs.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
qualifiedName
string

Exact match on the server's qualified name (e.g. "smithery/hello-world"). Deprecated: use GET /servers/:namespace/:server instead.

namespace
string

Filter by the namespace that owns the server.

remote
enum<string>

Filter by remote status. Remote servers are accessed via URL; non-remote servers run locally via stdio.

Available options:
0,
1,
true,
false
isDeployed
enum<string>

Filter by deployment status. Deployed servers are hosted on Smithery infrastructure.

Available options:
0,
1,
true,
false
verified
enum<string>

Filter to only verified servers.

Available options:
0,
1,
true,
false
ownerId
string

Filter by the server owner's user ID.

repoOwner
string

Filter by connected GitHub repository owner.

repoName
string

Filter by connected GitHub repository name.

seed
integer

Random seed for deterministic pagination. When provided, results use a stable sort order that is consistent across pages for the same seed value.

Required range: -9007199254740991 <= x <= 9007199254740991

Response

Successful response

servers
object[]
required
pagination
object
required