Featured

Deploy OpenClaw in 60 seconds β€” 20% off logoDeploy OpenClaw in 60 seconds β€” 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger β†’
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger β†’
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free β†’
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free β†’
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data β€” no proxies, no parsers, no maintenance.

Start building free β†’
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it β€” secured from day one.

Get it set up for you β†’
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free β†’
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here β†’

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

search-atlas-mcp-server MCP server](https://glama.ai/mcp/servers/search-atlas-group/search-atlas-mcp-server/badges/score.svg)](https://glama.ai/mcp/servers/search-atlas-group/search-atlas-mcp-server)πŸ“‡ ☁️ - SEO, content generation, PPC, keyword research,...

README.md

SearchAtlas MCP Server

![npm version](https://www.npmjs.com/package/searchatlas-mcp-server) ![MCP Registry](https://registry.modelcontextprotocol.io) ![License: MIT](https://opensource.org/licenses/MIT) ![Node.js](https://nodejs.org)

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.

<details> <summary><strong>Windsurf</strong></summary>

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"
      }
    }
  }
}

</details>

<details> <summary><strong>VS Code (GitHub Copilot)</strong></summary>

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"
      }
    }
  }
}

</details>

<details> <summary><strong>Zed</strong></summary>

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"
        }
      }
    }
  }
}

</details>

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

See related servers & alternatives β†’

Related MCP servers

Browse all β†’

Related guides

Hand-picked reading to help you choose and use Search servers.