Skip to main content
A curated catalog of well-known MCP servers we’ve vetted. Pick from the list, paste your provider API key, done — qlaud handles the rest. Same UX as the built-in tool catalog, but backed by vendor-hosted MCP servers instead of in-process handlers. For long-tail or unsupported vendors, use the raw-URL flow at /api-reference/mcp. For vendors that publish an MCP server we’ll happily add to the catalog — file an issue.

GET /v1/mcp-catalog — Catalog

curl https://api.qlaud.ai/v1/mcp-catalog
Public — no auth required. Returns the same content for every caller.

Response

{
  "object": "list",
  "data": [
    {
      "catalog_slug": "qlaud-mcp/linear",
      "display_name": "Linear",
      "description": "Issues, projects, cycles, comments, teams — full Linear surface…",
      "provider_brand": "linear",
      "server_url": "https://mcp.linear.app/sse",
      "auth_mode": "either",
      "config_schema": {
        "type": "object",
        "properties": {
          "api_key": {
            "type": "string",
            "format": "password",
            "description": "Linear API key (lin_api_…) or org-wide OAuth token."
          }
        },
        "required": ["api_key"]
      },
      "approx_tool_count": 30,
      "last_verified": "2026-04-25"
    },
    { "catalog_slug": "qlaud-mcp/github", "...": "..." }
  ]
}
config_schema describes what the customer needs to supply at registration (for tenant mode) or what each end-user supplies via the hosted connect URL (for per-user mode). Fields with format: password get rendered as secret inputs in the dashboard form.

POST /v1/mcp-servers — Register from catalog

curl https://api.qlaud.ai/v1/mcp-servers \
  -H "x-api-key: $QLAUD_MASTER_KEY" \
  -d '{
    "name": "linear",
    "catalog_slug": "qlaud-mcp/linear",
    "config": { "api_key": "lin_api_…" }
  }'
Two registration shapes share the same endpoint:
  • Curated (this page): catalog_slug + config (matches the catalog’s config_schema). qlaud applies the entry’s buildAuthHeaders template to convert the config into the actual HTTP headers the server expects (e.g. {api_key: 'lin_…'}{Authorization: 'lin_…'} for Linear; Notion adds the Notion-Version header automatically).
  • Raw URL (see /api-reference/mcp): for vendors not in the catalog or for your own internal MCP servers.
You can’t pass both catalog_slug and server_url — pick one.

Body fields

FieldTypeRequiredDescription
namestringyesPer-account unique label, lowercase alnum + -/_, ≤31 chars. Becomes the prefix on every tool from this server.
catalog_slugstringyes (curated)A slug from /v1/mcp-catalog.
auth_modestringnotenant (default) or per_user. See auth modes.
configobjectconditionalRequired when auth_mode='tenant'; matches the catalog entry’s config_schema. Omit when auth_mode='per_user' — credentials come from each end-user inline at runtime via the hosted connect URL flow.

Per-user mode + curated catalog

When you register a curated MCP server with auth_mode: 'per_user', each end-user supplies the same fields the catalog’s config_schema declares — but inline in chat, via the hosted connect URL flow:
end-user: "What's the status of LIN-42?"

→ qlaud_manage_connections({action: "connect", tool: "linear/get_issue"})
← { connect_url: "https://qlaud.ai/connect/9f8e…", ... }

# end-user clicks the URL, sees a Linear-branded form asking for
# api_key (rendered from the catalog's config_schema), pastes it,
# qlaud encrypts + stores in tool_connections, applies Linear's
# auth template at dispatch time.

end-user: "done"

→ qlaud_get_tool_schemas / qlaud_multi_execute → tool runs
The end-user never sees the actual Authorization header value they’re constructing — they fill in the friendly api_key field; qlaud’s per-catalog template handles vendor-specific quirks (Linear’s missing Bearer prefix, Notion’s Notion-Version header, Atlassian’s HTTP Basic encoding).

Current catalog (35 entries)

Productivity & ticketing: linear, asana, clickup, monday, airtable, trello, hubspot, intercom, salesforce, pipedrive, zendesk, atlassian, notion. Dev / infra: github, gitlab, bitbucket, vercel, netlify, neon, supabase, cloudflare, sentry. Comms / scheduling: slack, cal, zoom, twilio. Analytics / observability: datadog, pagerduty, mixpanel. Payments: stripe, paypal, square, plaid. E-commerce / marketing: shopify, mailchimp. Hit GET /v1/mcp-catalog for the live list with auth_mode, config_schema, and approx_tool_count per entry. More vendors land monthly — file an issue for any vendor publishing an MCP server we should add.

Errors

StatusMeaning
400Body malformed: name invalid, both catalog_slug AND server_url set, unknown catalog_slug, missing required config field for the chosen catalog entry.
401Bad / revoked qlk key.
403Caller used a per-user (standard-scope) key. /v1/mcp-servers requires master scope.
409An MCP server with the same name already exists for this account.