SearchAtlas
搜索与获取by search-atlas-group
SearchAtlas AI Agent,聚合 SEO、内容创作、PPC、权威建设与站点管理能力,帮助团队统一优化增长运营。
什么是 SearchAtlas?
SearchAtlas AI Agent,聚合 SEO、内容创作、PPC、权威建设与站点管理能力,帮助团队统一优化增长运营。
README
SearchAtlas MCP Server
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:
- Press F12 (or Cmd+Option+I on Mac) to open DevTools
- Go to Console tab
- Run:
localStorage.getItem("token") - 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.cmdinstead ofnpx. This is because Claude Code spawns processes directly and Windows requires the.cmdextension.
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 nodeandnpm root -gto find them, or just copy the config thatsearchatlas loginprinted — 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"
}
}
}
}
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)
SEARCHATLAS_TOKENenv varSEARCHATLAS_API_KEYenv var~/.searchatlasrcfile (created bysearchatlas 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
- Node.js >= 18
- A SearchAtlas account — sign up here
License
MIT
常见问题
SearchAtlas 是什么?
SearchAtlas AI Agent,聚合 SEO、内容创作、PPC、权威建设与站点管理能力,帮助团队统一优化增长运营。
相关 Skills
股票投研框架
by alondai
股票投研9点分析框架,覆盖基本面/财务/竞品/估值/宏观/情绪等维度
SEO审计工具
by amdf01-debug
智能浏览器
by ayakolin
A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands. (Chinese localized version)
相关 MCP Server
网页抓取
编辑精选by Anthropic
Fetch 是 MCP 官方参考服务器,让 AI 能抓取网页并转为 Markdown 格式。
✎ 这个服务器解决了 AI 直接处理网页内容时格式混乱的问题,适合需要让 Claude 分析在线文档或新闻的开发者。不过作为参考实现,它缺乏生产级的安全配置,你得自己处理反爬虫和隐私风险。
Brave 搜索
编辑精选by Anthropic
Brave Search 是让 Claude 直接调用 Brave 搜索 API 获取实时网络信息的 MCP 服务器。
✎ 如果你想让 AI 助手帮你搜索最新资讯或技术文档,这个工具能绕过传统搜索的限制,直接返回结构化数据。特别适合需要实时信息的开发者,比如查 API 更新或竞品动态。不过它依赖 Brave 的 API 配额,高频使用可能受限。
Puppeteer 浏览器控制
编辑精选by Anthropic
Puppeteer 是让 Claude 自动操作浏览器进行网页抓取和测试的 MCP 服务器。
✎ 这个服务器解决了手动编写 Puppeteer 脚本的繁琐问题,适合需要自动化网页交互的开发者,比如抓取动态内容或做端到端测试。不过,作为参考实现,它可能缺少生产级的安全防护,建议在可控环境中使用。