Skip to main content
Glama

SearchAtlas MCP Server

npm version MCP Registry License: MIT Node.js

npm · MCP Registry · GitHub

Connect any MCP-compatible AI client to the SearchAtlas v2 MCP server — 500+ tools covering OTTO SEO, PPC, Content Genius, Site Explorer, Google Business Profile, Local SEO, Link Laboratory, Digital PR, LLM Visibility, keyword research, and more.

This package runs as a thin stdio bridge to the hosted v2 MCP server at https://mcp.searchatlas.com/mcp/ so it works with clients that only speak stdio. Clients with native Streamable-HTTP support can connect to the remote endpoint directly.

Works with Claude Code, Cursor, Claude Desktop, VS Code, Windsurf, and Zed.


Setup (3 steps)

1. Install & log in

With npm:

npm install -g searchatlas-mcp-server
searchatlas login

With yarn:

yarn global add searchatlas-mcp-server
searchatlas login

With pnpm:

pnpm add -g searchatlas-mcp-server
searchatlas login

Without installing (npx):

npx searchatlas-mcp-server login

This opens your browser. After logging in:

  1. Press F12 (or Cmd+Option+I on Mac) to open DevTools

  2. Go to Console tab

  3. Run: localStorage.getItem("token")

  4. Copy the result and paste it into the terminal

The CLI validates your token, saves it, and prints ready-to-paste configs with your paths auto-detected.

2. Add to your MCP client

Claude Code

macOS / Linux:

claude mcp add searchatlas -e SEARCHATLAS_TOKEN=your-token -- npx -y searchatlas-mcp-server

Windows (PowerShell):

claude mcp add searchatlas -e SEARCHATLAS_TOKEN=your-token -- npx.cmd -y searchatlas-mcp-server

Windows note: You must use npx.cmd instead of npx. This is because Claude Code spawns processes directly and Windows requires the .cmd extension.

Done. That's it.

Cursor

Create .cursor/mcp.json in your project root (or ~/.cursor/mcp.json for global):

{
  "mcpServers": {
    "searchatlas": {
      "command": "/opt/homebrew/bin/node",
      "args": ["/opt/homebrew/lib/node_modules/searchatlas-mcp-server/dist/index.js"],
      "env": {
        "SEARCHATLAS_TOKEN": "your-token"
      }
    }
  }
}

Your paths may differ. Run which node and npm root -g to find them, or just copy the config that searchatlas login printed — it has your exact paths.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "searchatlas": {
      "command": "/opt/homebrew/bin/node",
      "args": ["/opt/homebrew/lib/node_modules/searchatlas-mcp-server/dist/index.js"],
      "env": {
        "SEARCHATLAS_TOKEN": "your-token"
      }
    }
  }
}

Restart Claude Desktop after saving.

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "searchatlas": {
      "command": "/opt/homebrew/bin/node",
      "args": ["/opt/homebrew/lib/node_modules/searchatlas-mcp-server/dist/index.js"],
      "env": {
        "SEARCHATLAS_TOKEN": "your-token"
      }
    }
  }
}

Add to .vscode/mcp.json in your project:

{
  "servers": {
    "searchatlas": {
      "command": "/opt/homebrew/bin/node",
      "args": ["/opt/homebrew/lib/node_modules/searchatlas-mcp-server/dist/index.js"],
      "env": {
        "SEARCHATLAS_TOKEN": "your-token"
      }
    }
  }
}

Add to Zed settings.json:

{
  "context_servers": {
    "searchatlas": {
      "command": {
        "path": "/opt/homebrew/bin/node",
        "args": ["/opt/homebrew/lib/node_modules/searchatlas-mcp-server/dist/index.js"],
        "env": {
          "SEARCHATLAS_TOKEN": "your-token"
        }
      }
    }
  }
}

3. Verify

searchatlas check
  SearchAtlas MCP Server — Health Check

  ✓ Credential source: ~/.searchatlasrc
  ✓ Config loaded successfully (endpoint: https://mcp.searchatlas.com/mcp)
  ✓ JWT structure valid (expires in 12 days) — user 42
  ✓ MCP handshake succeeded — 587 tools available

  All checks passed — you're ready to go!

Why full paths?

macOS GUI apps (Cursor, Claude Desktop, VS Code, Windsurf, Zed) don't inherit your shell's PATH, so they can't find node or npx. Using the full path to node and pointing it directly at the installed package avoids spawn npx ENOENT and env: node: No such file errors entirely.

searchatlas login detects your paths automatically and prints configs you can copy-paste.

How to find your paths

Command

Full path to node

which node

Global npm modules dir

npm root -g


Usage

Just talk naturally. The AI picks the right tool:

"What are the top SEO issues for my site?"
"Run a technical SEO audit on example.com"
"Write a blog post about technical SEO best practices"
"Find long-tail keywords for project management software"
"List my projects"
"Show available playbooks and run one"

CLI Commands

Command

Description

searchatlas login

Log in, save token, print MCP configs

searchatlas check

Validate credentials + API connectivity

searchatlas --version

Print version

searchatlas --help

Show help

All commands also work via npx searchatlas-mcp-server <command>.


Tools

Tools are discovered dynamically from the hosted v2 MCP server — your client sees the live catalogue (currently ~587 tools) without needing a package update when new ones ship. The major groups:

Prefix

Area

Representative tools

otto_*

OTTO SEO automation (70 tools)

otto_list_projects, otto_add_site, otto_get_dynamic_optimizations

ppc_*

Google Ads / PPC (76 tools)

ppc_list_accounts, ppc_create_campaign, ppc_get_keyword_performance

cg_*

Content Genius (74 tools)

cg_list_articles, cg_edit_article_content, cg_generate_content_brief

se_*

Site Explorer (46 tools)

se_list_sites, se_get_details, se_backlinks_overview

gbp_*

Google Business Profile (96 tools)

gbp_get_business_categories, gbp_list_citation_submissions

local_seo_*

Local SEO heatmaps (19 tools)

local_seo_heatmaps_get_heatmap_details, local_seo_heatmaps_get_rank

ll_*

Link Laboratory (24 tools)

ll_list_projects, ll_create_order

dpr_*

Digital PR (20 tools)

dpr_list_campaigns, dpr_create_campaign

llmv_*

LLM Visibility (30 tools)

llmv_list_projects, llmv_get_visibility_report

krt_*

Keyword Rank Tracking (16 tools)

krt_list_projects, krt_track_keywords

bv_*

Brand Vault (25 tools)

bv_list, bv_ask, bv_update_business_info

ws_*

Website Studio (8 tools)

ws_list_projects, ws_create_project

gsc_*

Google Search Console (11 tools)

gsc_get_sites, gsc_get_keyword_performance

social_hub_*

Social Hub (19 tools)

social_hub_list_posts, social_hub_create_post

cs_*

Content Strategy (12 tools)

cs_list_templates, cs_create

kg_*

Knowledge Graph (7 tools)

kg_list, kg_create_entity

dkn_*

Domain Knowledge Network (7 tools)

dkn_list_nodes, dkn_create

indexer_*

Indexer (6 tools)

indexer_submit_batch, indexer_check_status

rb_*

Report Builder (3 tools)

rb_list_reports, rb_get_report_details

pr_*

Press Release (14 tools)

pr_list, pr_write, pr_update

Run searchatlas check to see the live count, or ask your MCP client to list tools after connecting.


Configuration

Token priority (first match wins)

  1. SEARCHATLAS_TOKEN env var

  2. SEARCHATLAS_API_KEY env var

  3. ~/.searchatlasrc file (created by searchatlas login)

Environment variables

Variable

Required

Description

SEARCHATLAS_TOKEN

Yes

JWT token from SearchAtlas

SEARCHATLAS_API_KEY

Alternative

API key auth

SEARCHATLAS_API_URL

No

Custom v2 MCP endpoint (default: https://mcp.searchatlas.com/mcp)

Native Streamable-HTTP clients

If your MCP client supports Streamable HTTP directly, you can skip this npm package and connect to the remote server in one step:

  • URL: https://mcp.searchatlas.com/mcp/

  • Transport: Streamable HTTP (JSON-RPC + SSE)

  • Header: Authorization: Bearer <SEARCHATLAS_TOKEN>


Troubleshooting

Error

Fix

spawn npx ENOENT / env: node: No such file

Use full paths (see Why full paths?) or re-run searchatlas login

spawn npx ENOENT on Windows (Claude Code)

Use npx.cmd instead of npx — see Claude Code setup

No SearchAtlas credentials found

Run searchatlas login

Token expired on ...

Run searchatlas login for a fresh token

Authentication failed (401)

Token expired — run searchatlas login

fetch failed

Check network; run searchatlas check

Tools not showing up

Restart your MCP client after adding config

Still stuck? Run searchatlas check, make sure Node.js >= 18 (node --version), or open an issue.


Development

git clone https://github.com/Search-Atlas-Group/searchatlas-mcp-server.git
cd searchatlas-mcp-server
npm install && npm run build

Test with MCP Inspector:

npx @modelcontextprotocol/inspector npx searchatlas-mcp-server

Requirements

License

MIT

Install Server
A
license - permissive license
B
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/search-atlas-group/searchatlas-mcp-server'

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