Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.uplink.build/llms.txt

Use this file to discover all available pages before exploring further.

Prerequisites:
  • Node.js 18 or higher
  • An Uplink account (sign up on Uplink Console)
  • An MCP-capable AI client (Claude Code, Cursor, Windsurf, etc.)
  • The Uplink Connect app on a mobile device (for pairing)

Step 1: Install the CLI

The @uplink-code/cli package ships both the uplink command (for signing in) and the credentials helpers the MCP server uses to authenticate.
npm install -g @uplink-code/cli

Step 2: Install the MCP server

npm install -g @uplink-code/mcp
This installs the uplink-mcp binary, which any MCP client can spawn over stdio.

Step 3: Sign in

uplink login
uplink login opens your browser to Uplink Console, captures your session tokens via a localhost callback, and writes them to ~/.config/uplink/credentials.json (mode 0600). The MCP server reads from this file at startup. Verify the sign-in:
uplink whoami
You should see your email, user id, and the credential expiry.

Step 4: Configure your AI client

Claude Code

Add the Uplink MCP server to ~/.claude.json (or run via claude mcp add):
{
  "mcpServers": {
    "uplink": {
      "type": "stdio",
      "command": "uplink-mcp"
    }
  }
}
Restart Claude Code. The uplink_* tools become available.

Cursor

Add to ~/.cursor/mcp.json:
{
  "mcpServers": {
    "uplink": {
      "command": "uplink-mcp"
    }
  }
}

Other MCP clients

Any client that supports the standard stdio MCP transport works — point it at the uplink-mcp binary with no arguments.

Configuration

The MCP server reads these environment variables when present:
VariablePurposeDefault
UPLINK_API_HOSTOverride the Uplink API base URL (for local dev / staging)https://api.uplink.build
UPLINK_TOKENOverride the access token from the credentials file (for CI / non-interactive use)reads ~/.config/uplink/credentials.json
The CLI accepts the same variables, plus:
VariablePurposeDefault
UPLINK_CONSOLE_URLOverride the console URL uplink login openshttps://console.uplink.build

Refreshing credentials

Access tokens expire after ~1 hour. The MCP server auto-refreshes them on the next API call using the stored refresh token, persisting the new tokens back to the credentials file. You shouldn’t need to re-run uplink login until the refresh token itself expires (typically days to weeks). To sign out:
uplink logout

First session

In your AI client, ask: “Start an Uplink session”. The model should:
  1. Call uplink_connect — returns a 6-digit pairing code.
  2. Surface the code to you, e.g. Pair with code: 123-456 (expires in 30s).
  3. Call uplink_wait_for_device — blocks until you type the code into the Connect app.
Once paired, the model can drive the page with the rest of the tool catalog.

Optional: docs lookups from your AI client

The Uplink MCP server already ships its SDK reference as resources the model reads before writing scripts, so this isn’t required. But if you want your AI client to be able to search the full Uplink docs directly, you can add the Mintlify docs MCP alongside it:
claude mcp add uplink-docs -- bunx mintlify-mcp -p uplink
Requires the Bun runtime. This is a third-party server (mintlify-mcp) that reads any Mintlify-hosted docs site — it’s independent of the Uplink MCP server and not needed for device automation.