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/mcpEvery 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)
Open Claude's Connectors settings
Paste the MCP URL
https://api.uptrack.app/mcp and click Continue. Claude reads our discovery metadata and detects OAuth automatically.Approve the consent screen
monitors:read, monitors:write), click Authorize. You're back in Claude.Try it
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:
Settings → MCP → Add new MCP server
Paste the config
{
"mcpServers": {
"uptrack": {
"url": "https://api.uptrack.app/mcp"
}
}
}Approve OAuth
401 with a WWW-Authenticate header pointing at our AS metadata, and opens the consent flow in a browser tab. Approve, return to Cursor.Verify tools are loaded
/ — Uptrack's tools should appear in the tool list. Try: "create a 30-second monitor for example.com".VS Code 1.100+
Command Palette → MCP: Add Server
Paste the URL
https://api.uptrack.app/mcp, give the server a name like "Uptrack", press Enter.Approve OAuth inside the editor
Use from Copilot Chat
@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
Settings → Connectors
Paste the URL
https://api.uptrack.app/mcp. Confirm.Approve OAuth
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.
Generate an API key
Add the stdio server to your client config
claude_desktop_config.json, Cursor's mcp.json, etc.):{
"mcpServers": {
"uptrack": {
"command": "npx",
"args": ["-y", "@uptrack-app/mcp"],
"env": {
"UPTRACK_API_KEY": "uk_live_..."
}
}
}
}Restart the client
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:
| Scope | What it grants |
|---|---|
| monitors:read | List monitors, read status and uptime history |
| monitors:write | Create, update, pause, resume, delete monitors |
| incidents:read | List and inspect incidents |
| incidents:write | Acknowledge incidents |
| status_pages:read | Read public status pages config |
| alerts:read / alerts:write | Manage alert channels |
| analytics:read | Read 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