← Agent setup

Cursor

Add the server to the global MCP config (or .cursor/mcp.json in a project).

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

~/.cursor/mcp.json

Endpoint https://uprank.devino.ca/api/mcp, streamable HTTP with a bearer header read from UPRANK_MCP_TOKEN.

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

Check that Cursor loaded the server

Open Customize in the sidebar and choose MCPs: uprank should be listed with its toggle on. Its tools also appear in the tools list at the top of the chat panel.

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 Cursor 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 Cursor

I saved mcp.json. Why doesn't Cursor show uprank?
Restart Cursor after saving mcp.json; Cursor's own MCP guide says to save the file and then restart.
Why does uprank return 401 in Cursor when the curl check works?
curl reads UPRANK_MCP_TOKEN from your terminal, but Cursor fills the Authorization header from its own environment through ${env:UPRANK_MCP_TOKEN}. Make sure the variable is available to Cursor, and restart Cursor after updating your shell profile.
Where does Cursor show why uprank failed to connect?
Open the Output panel (Ctrl+Shift+U, or Cmd+Shift+U on a Mac) and select MCP Logs. It shows server initialization, tool calls and errors.
uprank is in both ~/.cursor/mcp.json and .cursor/mcp.json. Which one does Cursor use?
Cursor merges the two files, and when the same server name is in both, the project entry in .cursor/mcp.json wins. Fix or remove the project entry if it is out of date.

No workspace yet?

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