← Agent setup

Windsurf

Add the server to the Cascade MCP config.

Updated

Add to Claude

1. Get a token

A workspace owner issues a credential at /mcp. Start with read-only scopes: article:read, brand:read, campaign:read. Export it in your shell profile:

export UPRANK_MCP_TOKEN="<your token>"

2. Register the server

~/.config/devin/mcp_config.json

Endpoint https://uprank.devino.ca/api/mcp, streamable HTTP with a bearer header read from UPRANK_MCP_TOKEN. On Windows the file is %APPDATA%\devin\mcp_config.json. Older Windsurf builds, before the rename to Devin Desktop, read ~/.codeium/windsurf/mcp_config.json instead.

{
  "mcpServers": {
    "uprank": {
      "serverUrl": "https://uprank.devino.ca/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:UPRANK_MCP_TOKEN}"
      }
    }
  }
}

Check that Windsurf loaded the server

Open the Actions (...) menu at the top right of the Cascade panel. Its MCPs section lists uprank with the number of tools it has enabled, and a toggle to switch it on or off.

3. Verify

Ask the agent to call article_list with { "pageSize": 1 }. A JSON result with items and nextCursor means the connection and scopes are good. A 401 means the token is missing, revoked, expired, or a dev: credential used against production.

4. Next steps

Ask Windsurf in plain language; it picks the tool. These work with the read-only token.

  • List my five most recent uprank articles with their status.

    article_list

  • Summarize my site's uprank brand profile: voice, audience and proof points.

    brand_get

  • Which of my uprank articles have an expired claim or no current quality score?

    refresh_list

Ready for drafts? Issue a second token that adds research:run, article:write, quality:run and ask for the create_quality_article prompt with a site id and either a campaign id and a topic to research or an existing topic opportunity id. It researches, drafts and scores an article against the quality gates and stops before publishing.

Troubleshooting Windsurf

Why does uprank return 401 from Cascade?
${env:UPRANK_MCP_TOKEN} resolves to an empty string when the variable is not set in Windsurf's environment, so uprank receives no token. Set UPRANK_MCP_TOKEN where Windsurf can see it, or read the token from a file outside your repository with ${file:/path/to/token}, which inserts the file's trimmed contents.
Why doesn't a new Devin Desktop tab have the uprank tools?
mcp_config.json configures the legacy Cascade agent. The Devin Local agent, the default for new tabs, reads MCP servers from the Devin CLI config files instead.
Can my team's Windsurf MCP settings block uprank?
Yes. Once a team allowlists any MCP server, every server not on the list is blocked. Ask an admin to allowlist uprank; the Server ID must match the key in mcp_config.json, uprank, case-sensitively.
Does uprank count toward Cascade's tool limit?
Yes. Cascade can use at most 100 tools at a time across all servers, and uprank exposes 17. To stay under the limit, list the tools you don't need in that server's disabledTools array.

No workspace yet?

Tokens belong to a workspace. Create one, then come back to step 1.