Uptrack

April 19, 2026 · 4 min read

Install Uptrack in your AI — Claude, ChatGPT, Cursor, VS Code, Windsurf

Uptrack ships as a remote MCP server with OAuth. In a logged-in AI client, "installing" Uptrack takes two clicks: paste the URL or click a deeplink, then approve the consent screen. No npm, no API key paste, no JSON config file. This guide walks through each supported client, plus the fallback options for offline/CI use.

Before you start

  • • An Uptrack account. Sign up free if you don't have one — 50 monitors, all alert channels, no credit card.
  • • One of: Claude.ai (web/desktop), ChatGPT, Cursor, VS Code 1.100+, or Windsurf.
  • • About a minute.

That's it. You don't need Node.js, an API key, or a JSON config. OAuth handles everything — you approve the scopes your client asks for, and Uptrack issues a short-lived access token plus a 90-day refresh token scoped to your account. The client refreshes automatically; you can revoke anytime from Settings → Integrations.

The one thing to remember

The Uptrack remote MCP URL:

https://api.uptrack.app/mcp

Every client in this guide uses that URL. If a client has a native install button in your Install in AI page, use it — the deeplink pre-fills the URL and skips typing.

Claude.ai (web or desktop)

1

Open Claude's Connectors settings

In Claude.ai, go to Settings → Connectors. (Desktop: Settings → Connectors tab.) Click "Add custom connector".
2

Paste the MCP URL

Paste https://api.uptrack.app/mcp and click Continue. Claude reads our discovery metadata and detects OAuth automatically.
3

Approve the consent screen

Claude redirects you to the Uptrack consent page. Review the scopes (e.g. monitors:read, monitors:write), click Authorize. You're back in Claude.
4

Try it

Ask Claude: "What's the status of my monitors?" Claude will call the list_monitors tool and show you the current state.

Cursor

Cursor has a native MCP install deeplink. The Install in AI page exposes the one-click button — or you can configure it manually:

1

Settings → MCP → Add new MCP server

In Cursor, open Settings → MCP. Click Add new MCP server and select URL.
2

Paste the config

Paste this JSON:
{
  "mcpServers": {
    "uptrack": {
      "url": "https://api.uptrack.app/mcp"
    }
  }
}
3

Approve OAuth

Cursor hits our MCP endpoint, gets a 401 with a WWW-Authenticate header pointing at our AS metadata, and opens the consent flow in a browser tab. Approve, return to Cursor.
4

Verify tools are loaded

In a new chat, type / — Uptrack's tools should appear in the tool list. Try: "create a 30-second monitor for example.com".

VS Code 1.100+

1

Command Palette → MCP: Add Server

Press ⌘⇧P (macOS) / Ctrl+Shift+P (Windows/Linux). Type MCP: Add Server. Select HTTP.
2

Paste the URL

Paste https://api.uptrack.app/mcp, give the server a name like "Uptrack", press Enter.
3

Approve OAuth inside the editor

VS Code opens the consent screen inside a notification. Click Allow. That's it — no browser context switch.
4

Use from Copilot Chat

Open Copilot Chat, mention @uptrack, ask anything about your monitors.

Prefer a shared config?

Create .vscode/mcp.json in your repo and commit it. Everyone on the team gets the same Uptrack MCP server — they each complete their own OAuth flow on first use.

ChatGPT

1

Settings → Connectors

In ChatGPT, open Settings → Connectors. Click Add remote MCP server.
2

Paste the URL

Paste https://api.uptrack.app/mcp. Confirm.
3

Approve OAuth

ChatGPT opens the Uptrack consent screen. Approve. Done.

Windsurf

Same pattern as Cursor — add a custom MCP server in Windsurf's Cascade settings, paste the URL, approve OAuth. The Install in AI page also exposes a windsurf:// deeplink for one-click install.

Offline / CI: stdio MCP with API key

When the remote server isn't a fit — no OAuth, air-gapped, CI runner, Claude Desktop without network — use the stdio MCP server. It runs as an npm package on the machine executing the agent.

1

Generate an API key

Go to Dashboard → API Keys. Create a new key and copy it. Keys are shown once — store it somewhere safe.
2

Add the stdio server to your client config

Add this to your MCP client config (Claude Desktop's claude_desktop_config.json, Cursor's mcp.json, etc.):
{
  "mcpServers": {
    "uptrack": {
      "command": "npx",
      "args": ["-y", "@uptrack-app/mcp"],
      "env": {
        "UPTRACK_API_KEY": "uk_live_..."
      }
    }
  }
}
3

Restart the client

Claude Desktop and most MCP clients only re-read config on restart. Kill and relaunch. The tool list should now include Uptrack.

Scripts: direct REST with API key or Bearer token

Cron jobs, CI steps, your own services — anywhere a full MCP conversation is overkill. The API accepts both API keys and OAuth Bearer tokens, identically.

# API key
curl https://api.uptrack.app/monitors \
  -H "X-API-Key: uk_live_..."

# OAuth Bearer
curl https://api.uptrack.app/monitors \
  -H "Authorization: Bearer ey..."

Full OpenAPI 3.0 spec at uptrack.app/openapi.yaml. Drop it into your codegen for a typed client in any language.

What the agent can and can't do

OAuth scopes bound each grant to specific capabilities. The consent screen shows the client exactly which scopes it's requesting:

ScopeWhat it grants
monitors:readList monitors, read status and uptime history
monitors:writeCreate, update, pause, resume, delete monitors
incidents:readList and inspect incidents
incidents:writeAcknowledge incidents
status_pages:readRead public status pages config
alerts:read / alerts:writeManage alert channels
analytics:readRead uptime analytics

Revoke any authorization any time from Dashboard → Settings → Integrations. Revocation is immediate; the client's next call returns 401.

Troubleshooting

The consent screen says "invalid_redirect_uri"

Your client registered a redirect URI that doesn't match what it's now passing. This usually means the client updated its config. Delete the authorization from Settings → Integrations and redo the install flow.

Tools list is empty after OAuth

The OAuth grant succeeded but tool discovery didn't run. Most clients require an explicit reconnect or restart — look for a "Refresh tools" or "Reconnect" button in the client's MCP settings.

Agent says "I don't have access to Uptrack"

The tool is registered but the agent may not be using it. Mention Uptrack explicitly: "use Uptrack to list my monitors". If it still fails, check the client's MCP connection status — sometimes the token expired and silently failed to refresh.

401 Unauthorized when I use Bearer token in curl

Bearer tokens expire after one hour. Use the refresh token to mint a new one, or switch to API key auth for long-lived scripts. API keys don't expire.

I can see tools but write operations fail with "insufficient_scope"

Your token was issued with read-only scopes. Revoke and re-authorize, making sure the client requests monitors:write / incidents:write when prompted.

FAQ

Is there a cost?

No. The MCP server (remote and stdio), OAuth, and API access are included on every plan, including Free.

Does this replace the dashboard?

No. Use whichever is faster for the task. Conversational ops ("add a monitor for X", "ack the incident on Y") go through the agent; dense visualizations and bulk operations are still dashboard work.

Which client do you recommend?

Whatever you already use for code. Cursor and VS Code are fastest to install because of the native deeplinks. Claude.ai is fastest to use because the consent flow is the smoothest. All five behave identically once connected.

What scopes do you recommend the agent request?

Start with read-only (monitors:read, incidents:read). Add write scopes when you actually want the agent to create/modify resources. Some clients let you pick per-scope at consent time; others take what the client asks for — the consent screen always shows you before you approve.

How do I audit what the agent did?

Every API call is logged in your audit log (Settings → Audit Log). Filter by OAuth client to see exactly which agent performed which action.

Ready to install?

Head to the installer in your dashboard. One-click buttons for every client, plus the MCP URL if you'd rather paste it yourself.

Open the installer