Updated
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
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.