Skip to main content
Glama
Browse API reference
GET/v1/servers

List MCP servers

List and search open-source MCP servers, newest first.

Pagination is forward-only: pass the endCursor of one page as after to fetch the next, and stop when hasNextPage is false. Cursors are opaque, so do not construct or parse them.

Bearer authentication required
IMPORTANT

Displaying MCP Directory API data requires visible Glama credit.Review attribution & licensing.

Parameters

NameLocationTypeDescription
afterquerystring

Cursor for pagination

firstqueryinteger

Number of servers to return per page.

minimum 1 / maximum 100 / default 10
queryquerystring

Free text search query

Responses

200Success
{
  "pageInfo": {
    "endCursor": "YWJzb2x1dGU6MQ==",
    "hasNextPage": true,
    "hasPreviousPage": false,
    "startCursor": "YWJzb2x1dGU6MQ=="
  },
  "servers": [
    {
      "attributes": [
        "hosting:local-only"
      ],
      "description": "string",
      "environmentVariablesJsonSchema": null,
      "id": "oge85xl22f",
      "name": "Playwright MCP Server",
      "namespace": "microsoft",
      "qualityScore": null,
      "repository": {
        "url": "https://github.com/pskill9/hn-server"
      },
      "slug": "playwright-mcp",
      "spdxLicense": null,
      "thumbnailUrl": "https://glama.ai/mcp/servers/microsoft/playwright-mcp/thumbnail.webp",
      "tools": [
        {
          "description": "string",
          "inputSchema": {},
          "name": "string"
        }
      ],
      "url": "https://glama.ai/mcp/servers/microsoft/playwright-mcp"
    }
  ]
}
pageInfoPageInforequired

Pagination state

Show fields
endCursorstringrequired

Cursor for pagination

default nullnullable
hasNextPagebooleanrequired
hasPreviousPagebooleanrequired
startCursorstringrequired

Cursor for pagination

default nullnullable
serversarray<McpServer>required
Show fields
attributesarray<McpServerAttributeReferenceKey>required
descriptionstringrequired

MCP server description

environmentVariablesJsonSchemaobjectrequired
default nullnullable
Show fields
oneOfarray<object>
Show fields
requiredarray<string>required
propertiesrecord<string, object>required
Show fields
defaultstring
descriptionstringrequired
default
typestringrequired
default string
requiredarray<string>
typeobjectrequired
idMcpServerIdrequired

MCP server ID

min length 10max length 10pattern ^[a-z0-9]+$
namestringrequired

MCP server name

namespacestringrequired

MCP server namespace

qualityScorenumberrequired

Glama's 0–5 estimate of tool-definition quality. Higher is better. Null until scoring completes. This is the quality component of Glama's ranking, not a measure of availability, security, or popularity.

min 0max 5default nullnullable
repositoryobjectrequired

Repository hosting the source code

nullable
Show fields
urlstring / urirequired

URL to the repository hosting the source code

slugstringrequired

MCP server slug

spdxLicenseobjectrequired

SPDX license

default nullnullable
Show fields
namestringrequired

SPDX license name

urlstring / urirequired

SPDX license URL

thumbnailUrlstring / urirequired

Stable URL for the server thumbnail. Null when no server icon is available.

default nullnullable
toolsarray<McpServerTool>required
Show fields
descriptionstringrequired
nullable
inputSchemarecord<string, any>required

MCP server tool input schema

namestringrequired
urlstring / urirequired

Glama listing for this server. Wherever you present the server, the API Data License requires you to link to it.

400Invalid request
{
  "error": {
    "code": "invalid_request",
    "message": "Invalid request"
  }
}
errorobjectrequired
Show fields
codeErrorCoderequired

Error code

idstring / uuid
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)$
messagestringrequired
401Invalid or missing API key
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid or missing API key"
  }
}
errorobjectrequired
Show fields
codeErrorCoderequired

Error code

idstring / uuid
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)$
messagestringrequired
403Access forbidden
{
  "error": {
    "code": "forbidden",
    "message": "Access forbidden",
    "param": null,
    "type": "forbidden"
  }
}
errorobjectrequired
Show fields
codeRateLimitErrorCoderequired
messagestringrequired
paramnullrequired
nullable
typeRateLimitErrorCoderequired
429Rate limit exceeded
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded",
    "param": null,
    "type": "rate_limit_exceeded"
  }
}
errorobjectrequired
Show fields
codeRateLimitErrorCoderequired
messagestringrequired
paramnullrequired
nullable
typeRateLimitErrorCoderequired
500Internal server error
{
  "error": {
    "code": "internal_server_error",
    "message": "Internal server error"
  }
}
errorobjectrequired
Show fields
codeErrorCoderequired

Error code

idstring / uuid
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)$
messagestringrequired