Skip to main content
Glama
SurfRankAI

SurfRank MCP Server

by SurfRankAI

SurfRank MCP Server

Let your AI agent run AI-visibility reports, research keywords, and track competitors on SurfRank β€” directly from the chat window.

npm version license node

This package exposes the SurfRank public API as Model Context Protocol (MCP) tools, so any MCP-compatible AI assistant β€” Claude Desktop, Claude Code, Cursor, Windsurf, ChatGPT MCP connectors, and others β€” can call SurfRank on your behalf.


What is SurfRank?

SurfRank measures how visible your brand is inside AI answers (ChatGPT, Perplexity, Gemini, Claude, Grok, DeepSeek, Meta AI). It runs your tracked keywords against each engine, scores your mentions against competitors, and surfaces the content opportunities that would move the needle.

What is MCP?

The Model Context Protocol is an open standard from Anthropic that lets AI agents discover and call external tools. Install this server once, and your agent gets 24 new abilities β€” no plugin APIs, no OAuth dance, no glue code.


What you can ask your agent once this is connected

πŸ’¬ "Create a SurfRank project for surfrank.ai in the SaaS industry, then track these 10 keywords…"

πŸ’¬ "What did my latest AI visibility report show? Which engines are missing my brand?"

πŸ’¬ "Run a quick test for competitor.com and compare it to my score."

πŸ’¬ "List my top 5 content opportunities and draft articles for the highest-impact ones."

The agent picks the right tool, calls the SurfRank API with your key, and replies in natural language. Credits come out of your SurfRank account at the same rate as direct API calls.


Requirements

  • Node.js 18 or newer (required by the MCP SDK).

  • A SurfRank API key on the Pay As You Go plan. Generate one at app.surfrank.ai/api-management.

  • An MCP-compatible client (see the Configuration section).


Install

Run ad-hoc with npx β€” no install needed:

npx -y @surfrank/mcp-server

Or install globally:

npm install -g @surfrank/mcp-server

Configuration

Pick your client below and paste the snippet into its MCP config file.

Claude Desktop

Edit your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "surfrank": {
      "command": "npx",
      "args": ["-y", "@surfrank/mcp-server"],
      "env": {
        "SURFRANK_API_KEY": "sr_your_key_here"
      }
    }
  }
}

Restart Claude Desktop. You should see surfrank appear in the MCP servers menu.

Cursor

Edit ~/.cursor/mcp.json (or use Settings β†’ MCP β†’ Add server):

{
  "mcpServers": {
    "surfrank": {
      "command": "npx",
      "args": ["-y", "@surfrank/mcp-server"],
      "env": {
        "SURFRANK_API_KEY": "sr_your_key_here"
      }
    }
  }
}

Claude Code

claude mcp add surfrank -- npx -y @surfrank/mcp-server
export SURFRANK_API_KEY=sr_your_key_here

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "surfrank": {
      "command": "npx",
      "args": ["-y", "@surfrank/mcp-server"],
      "env": { "SURFRANK_API_KEY": "sr_your_key_here" }
    }
  }
}

Available tools

The server exposes every SurfRank public-API endpoint as a tool (24 in total). Your agent discovers them automatically β€” you don't need to list them in your prompt.

Category

Tools

Projects

list_projects, get_project, create_project, update_project, delete_project

Keywords

list_keywords, add_keyword, add_keywords_bulk, delete_keyword

Reports

trigger_report, list_reports, get_report, get_latest_analyses

Quick Test

run_quick_test, list_quick_tests, get_quick_test, select_quick_test_keywords

Keyword Research

research_keyword, list_keyword_research, get_keyword_research

Competitors

list_competitors, add_competitor, delete_competitor

Opportunities

list_opportunities

Each tool maps 1:1 to a REST endpoint under https://api.surfrank.ai/api/v1/public/*.


Scoped API keys

If you generate a project-scoped API key, the MCP server can only operate on that project. Any tool call that references a different project ID is rejected with a 403 from the SurfRank API, and the error surfaces verbatim in the agent's response.

This is the recommended setup when you're connecting a single workspace or a teammate to a single brand.


Credit usage

Credits are deducted from your SurfRank account per the same pricing as direct API calls:

Operation

Cost

Quick test

1 credit flat

Keyword research

0.5 Γ— number of engines

Report trigger

0.3 Γ— keywords Γ— engines

Everything else (list / get / update)

free

Every tool response includes a credits object so your agent (and you) can track usage in real time.


Environment variables

Variable

Required

Default

Purpose

SURFRANK_API_KEY

βœ…

β€”

Your API key (sr_…)

SURFRANK_API_URL

β€”

https://api.surfrank.ai/api/v1/public

Override for staging / local development


Debugging

Use the official MCP inspector to poke at the server directly β€” useful when onboarding a new client or diagnosing a connection issue:

SURFRANK_API_KEY=sr_your_key_here \
  npx @modelcontextprotocol/inspector npx @surfrank/mcp-server

The inspector opens a browser UI where you can list tools and call them manually, exactly as an AI agent would.


Security notes

  • API keys are shown once on creation and stored as SHA-256 hashes on SurfRank's servers. If you lose a key, revoke and regenerate it β€” it can't be recovered.

  • Credentials stay in your local MCP config file. This package never writes them to disk and never phones home.

  • Each API key is rate-limited to 60 requests per minute. Exceeding it returns HTTP 429.



License

MIT Β© SurfRank Pte. Ltd. β€” see LICENSE.

Install Server
A
license - permissive license
A
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SurfRankAI/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server