Skip to main content
Glama
sqid MCP server

sqid MCP server

Official
by sqid-dev

sqid MCP server

Sqid for AI editors and agents over the Model Context Protocol: the same actions as the sqid CLI, served as tools. Hosted, Streamable HTTP, OAuth through Sqid's own sign-in. No API keys to paste.

claude mcp add --transport http sqid https://mcp.sqid.dev/mcp

The first call opens a browser to sign in to Sqid and approve the connection. After that the agent can create a site, get the snippet, wire webhooks, list identified visitors, enrich a contact, read moments and billing, as the person who approved it.

Tools

Tool

Does

whoami

Who approved the connection, role, plan present

sites_list, site_create, snippet_get, site_status

Sites, the install snippet, the "stream is live" check

webhook_add (default event identification), webhook_list, webhook_preview, webhook_test

Where identified visitors (or moments, pages, clicks) are delivered

visitors_list, visitor_get

Identified visitors on demand

enrich

Email, phone or LinkedIn URL to a full record

signals_status, signals_set, moments_list

Signals state, on or off, recent moments

billing_status

Plan, card, balance, this month

Card entry and plan changes are not tools. They happen in the console or the CLI.

Every tool carries MCP annotations: reads are readOnlyHint: true, the five that change things (site_create, webhook_add, webhook_test, enrich, signals_set) are not, and nothing is marked destructive because no tool deletes. Clients such as Claude Code use these to decide what needs a confirmation.

Related MCP server: OutcomeCI MCP Server

How auth works

Clerk (the instance behind app.sqid.dev) is the OAuth authorization server. This server is a resource server at MCP_RESOURCE_URL, per the MCP authorization spec: clients discover it through /.well-known/oauth-protected-resource, register as public clients (Client ID Metadata Documents, with dynamic registration as fallback), obtain a token whose audience is that URL with PKCE, and send it on every POST /mcp. A missing or bad token gets a 401 with a WWW-Authenticate challenge pointing at the metadata.

The client's token is verified here and goes no further. MCP forbids passing it upstream, so for calls to app.sqid.dev the server is a Clerk machine (sqid-mcp) and mints its own short-lived machine token whose claims name the verified person. The console admits that machine and acts as that person, logged as such. Nothing is stored on this server beyond those tokens in memory.

Run

It is a Cloudflare Worker (src/worker.js, wrangler.jsonc), served at mcp.sqid.dev. The same app also runs on Node (src/server.js) for local runs and tests.

npm install
npm test                       # offline: fake Sqid API, real MCP client
cp .env.example .dev.vars      # local secrets for wrangler dev (never committed)
npm run dev                    # wrangler dev on http://localhost:8787
npm run check                  # wrangler deploy --dry-run
npm run deploy                 # wrangler deploy

Secrets are set once per Worker and never live in the repo:

wrangler secret put CLERK_PUBLISHABLE_KEY
wrangler secret put CLERK_SECRET_KEY
wrangler secret put MCP_MACHINE_SECRET_KEY

Health: GET /alive. Logs: wrangler tail.

Registering with Clerk

  1. Clerk dashboard, Agents, MCP servers: add MCP_RESOURCE_URL and allow public clients to connect. Clerk then issues tokens with that audience and shows the consent screen.

  2. Clerk dashboard, Configure, Machines: create a machine sqid-mcp; its secret key is MCP_MACHINE_SECRET_KEY; its id goes into the console's clerk.mcpMachineIds.

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Privacy friendly, cookieless web analytics built MCP-first. "Add analytics to my Next.js app" → an AI agent runs the setup_analytics_for_site tool, picks the right install snippet, edits your layout file, and verifies the script is loading. OAuth onboarding, no API keys to paste.
      28
      51 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to create, validate, and manage agent-powered workflows across team tools, with tools for inspecting schemas, configuring triggers, and reviewing runs and logs. It provides authorized remote access through OAuth without local installation or shared API keys.
      1
      MIT
    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables AI agents to interact with Webflow's Data API and Designer, letting them manage CMS content, pages, and site design elements through OAuth-authenticated remote or locally hosted connections.
      501 npm
      MIT