Serpstat API MCP Server
About
A TypeScript server that integrates Serpstat SEO API with Anthropic's Model Context Protocol (MCP), enabling AI assistants like Claude to access comprehensive SEO data and analysis tools.
Details
- Author
- serpstatglobal
- Categories
- Productivity, Other, AI, Marketing
Jump to
Claude Desktop & Gemini CLI Configuration
macOS:~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:%APPDATA%/Claude/claude_desktop_config.jsonLinux:~/.config/Claude/claude_desktop_config.json
{ "mcpServers": { "serpstat": { "command": "npx", "args": ](https://api.serpstat.com/v4)["-y", "@serpstat/serpstat-mcp-server"], "env": { "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE", "LANG": "en_US.UTF-8", "LC_ALL": "en_US.UTF-8" } } } }
For local development, use the full path:
{ "mcpServers": { "serpstat": { "command": "node", "args": ["/path/to/node_modules/serpstat-mcp-server/dist/index.js"], "env": { "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE" } } } }
You can limit which tools are available by specifyingSERPSTAT_ENABLED_CATEGORIESenvironment variable. This is useful for:
- Reducing context window usage in AI assistants
- Focusing on specific SEO analysis areas
- Creating specialized configurations for different use cases
- domain- Domain analysis tools (domain info, competitors, domain keywords, etc.)
- keywords- Keyword research tools (keyword suggestions, search volume, difficulty, etc.)
- backlinks- Backlink analysis tools (backlink summary, anchors, referring domains, etc.)
- url- URL analysis tools (URL traffic, competitors, keywords, etc.)
- projects- Project management tools (create, list, delete projects)
- credits- Credits and usage monitoring tools
- rt- Rank tracking tools (rank history, SERP tracking, etc.)
- audit- Site audit tools (full site SEO audit, error reports, etc.)
- page-audit- One-page audit tools (single page analysis, on-page SEO, etc.)
Example: Enable only keyword and domain tools
{ "mcpServers": { "serpstat": { "command": "npx", "args": ["-y", "@serpstat/serpstat-mcp-server"], "env": { "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE", "SERPSTAT_ENABLED_CATEGORIES": "keywords,domain" } } } }
{ "mcpServers": { "serpstat": { "command": "npx", "args": ["-y", "@serpstat/serpstat-mcp-server"], "env": { "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE", "SERPSTAT_ENABLED_CATEGORIES": "backlinks" } } } }
IfSERPSTAT_ENABLED_CATEGORIESis not specified or is empty, all tools are available (65 total tools across all categories).
After installation and configuration in Claude Desktop, you can ask Claude:
- "Show me domain info forexample.com"
- "Find competitors formy-site.comin Google US"
- "Get top 50 keywords thatexample.comranks for"
- "Show me all available market research categories"
- "Find top domains in'E-commerce'category for Google US"
- "Get top 20 domains in'/Arts & Entertainment/TV & Video'category sorted by traffic"
- "Analyze competitive landscape in'Business & Industrial'category with domains that have SDR above 50"
- "Find leading players in'Health & Fitness'market with minimum 100k monthly traffic"
- "Find related keywords to'digital marketing'"
- "Get keyword suggestions for'iphone 15'excluding'rent'keywords"
- "Get comprehensive keyword data for[iphone,samsung,googel pixel]including search volume, CPC, and difficulty"
- "Show me competitor domains ranking forpizza deliverykeyword with visibility metrics"
- "Get top search results forlaptop computerskeyword showing positions, domains and SERP features"
- "Get unique keywords fordomain1.comvsdomain2.com"
- "Analyze backlinks summary fordomain.com"
- "Get anchor text analysis fordomain.combacklinks"
- "Get active backlinks fordomain.comshowing linking pages and target URLs"
- "Get referring domains fordomain.comwith domain authority metrics"
- "Get lost backlinks fordomain.comshowing removed links and deletion dates"
- "Get top 10 anchors fordomain.comwith backlink counts and referring domains"
- "Get backlinks intersection fordomain.comvscompetitor1.comandcompetitor2.comshowing shared referring domains"
- "Get threat backlinks fordomain.comshowing malicious links from sites flagged for security threats"
- "Create a new project forexample.comnamedMy SEO Project"
- "List all my projects with pagination"
- "Delete project with ID1234567"
- "Show me my audit credits statistics"
- "Check my API credits usage and remaining quota"
- "List all my rank tracker projects"
- "Check parsing status for project12345in region2840"
- "Get audit settings for project1113915"
- "Start site audit for project1113915"
- "Stop site audit for project1113915"
- g_us- Google USA
- g_uk- Google United Kingdom
- g_ca- Google Canada
- g_au- Google Australia
- g_de- Germany
- g_fr- Google France
- g_es- Google Spain
- g_it- Google Italy
- g_pl- Google Poland
- g_ua- Google Ukraine
See a full list ofSearch Engines Short Names
"Command not found: serpstat-mcp-server"
- Make sure you installed the package globally with-gflag
- Verify your PATH includes npm global binaries:npm config get prefix
- Try reinstalling:npm uninstall -g @serpstat/serpstat-mcp-server && npm install -g @serpstat/serpstat-mcp-server
"API token error" or "Unauthorized"
- Check thatSERPSTAT_API_TOKENis set correctly in your environment
- Verify your token is valid and active in your Serpstat account
- Ensure your token has sufficient API credits and permissions
- Make sure all dependencies are installed:npm install
- Try rebuilding:npm run clean && npm run build
Claude Desktop doesn't recognize the server
- Restart Claude Desktop after configuration changes
- Check the config file path and JSON syntax
- Verify the server starts correctly: runserpstat-mcp-serverin terminal
- You need to install Node.js -download and install Node.js
- Most Serpstat plans have 1 RPS (1 request per second) limit
- Wait between requests or contact Serpstat support for higher limits
- Check your API usage in the Serpstat dashboard
{ "mcpServers": { "serpstat": { "command": "npx", "args": ["-y", "@serpstat/serpstat-mcp-server"], "env": { "SERPSTAT_API_TOKEN": "YOUR_TOKEN_HERE", "LANG": "en_US.UTF-8", "LC_ALL": "en_US.UTF-8", "LOG_LEVEL": "debug" } } } }
git clone git@github.com:SerpstatGlobal/serpstat-mcp-server-js.git cd serpstat-mcp-server-js
cp .env.example .env # Edit .env with your Serpstat API token
npx jest src/__tests__/services/keyword_tools.test.ts
npx jest --testNamePattern="methodName"
- npm run build— Compile TypeScript sources to JavaScript (output indist/)
- npm start— Run the compiled server fromdist/
- npm run dev— Run the server in development mode with hot-reload
- npm test— Run all tests
- npm run lint— Run linting
- npm run clean— Clean build directory
serpstat-mcp-server/ ├── src/ │ ├── index.ts # Entry point │ ├── server.ts # Main MCP server │ ├── handlers/ # Tool handlers │ ├── services/ # Services for Serpstat API │ ├── types/ # Data types │ ├── utils/ # Utilities (config, logger, validation) │ └── __tests__/ # Tests ├── dist/ # Compiled JavaScript (after build) ├── package.json ├── tsconfig.json ├── README.md └── .env.example
By default, most Serpstat plans have1 RPS (1 request per second)- this is sufficient for most tasks. If you need higher throughput, contact Serpstat support to discuss plan upgrades.
Important: The server respects rate limits automatically. If you encounter rate limit errors, wait before making additional requests.
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch:git checkout -b feature/amazing-feature
- Make your changes
- Add tests for new functionality
- Ensure tests pass:npm test
- Commit your changes:git commit -m 'Add amazing feature'
- Push to the branch:git push origin feature/amazing-feature
- Submit a pull request
- Follow existing code style and TypeScript conventions
- Add tests for new features
- Update documentation as needed
- Use conventional commit messages
- Ensure all linting passes:npm run lint
SeeCHANGELOG.mdfor details about changes in each version.
- 📖Serpstat API Documentation
- 🐛Report Issues
The most effective way to receive support from Serpstat is to use their live chat feature directly within the platform. Alternatively, you can email them atsupport@serpstat.com.
- Model Context Protocolby Anthropic
- Serpstat APIfor SEO data services
This project is under MIT license, which means you can copy, use, modify, and even sell any part of this code without any hassle.
Self-hostable AGPL SEO manager backend with an MCP server for keyword research, content queue, and SERP tracking, built for Claude Code.
Connect Claude, Cursor, or ChatGPT to a Shopify store's real visitor data — heatmaps, session replays, funnels, revenue attribution — with ~70 tools that also write back: edit products, launch popups, apply SEO fixes.
AI-native SEO service via MCP — gives Claude native access to keyword research, rank tracking, site audits, backlink analysis, and autonomous SEO agent workflows.
Connect your Google Ads and Meta accounts to Claude, Cursor, or any AI tool that supports MCP.
Supervised Meta Ads operating system for Claude Code - 57 tools for campaign management, multi-asset ads, targeting, pixel diagnostics, catalogs, and safety gates
Mercopilot connects your Shopify store and your Google Ads account to Claude, ChatGPT, and other AI assistants through a standard called MCP. Once connected, you ask your AI assistant plain-English questions about your store and your ad spend, get a ranked list of what to fix and where to grow, and approve specific changes that are made directly in Shopify or Google Ads. No separate dashboard to monitor, no reports to download.
A shared campaign canvas for you and your AI agent: briefed by your brand rules, gated by your approval.
Run your Linkedin account from claude or chatgpt
Google Ads reporting and campaign management for Claude; everything it creates starts paused, nothing spends until you turn it on.
Chat with any brand's Meta (Facebook/Instagram) ads inside Claude — research a competitor's ad library, surface their longest-running winners, extract hooks/formats, and clone winning ads for your own brand.
A TypeScript server that integrates Serpstat SEO API with Anthropic's Model Context Protocol (MCP), enabling AI assistants like Claude to access comprehensive SEO data and analysis tools.
- About MCP
- Prerequisites
- Installation
- Configuration
- Usage Examples
- MCP Tools
- Troubleshooting
- Development
- API Rate Limits
- Contributing
- Support
- License
The Model Context Protocol (MCP) is an open standard developed by Anthropic that enables AI assistants to securely connect to external data sources and tools. This server implements MCP to provide Claude and other compatible AI assistants with access to Serpstat's powerful SEO analytics API.
This project implements a TypeScript server that provides an API interface for working with Serpstat tools via the MCP protocol. The server supports request handling, parameter validation, logging, and working with multiple SEO analysis tools.
- 🔍Comprehensive SEO Analysis: Access domain info, keyword research, competitor analysis, and backlink data
- ✅Input Validation: Robust parameter validation using Zod schemas
- 📊Event Logging: Detailed logging with Winston for debugging and monitoring
- ⚙️Flexible Configuration: Environment-based configuration with sensible defaults
- 🧪Well Tested: Jest tests for parameter validation and business logic
- 🚀TypeScript: Full type safety throughout the codebase
- Node.js 18.0.0 or higher(Download Node.js)
- Valid Serpstat API token(get one fromSerpstat)
- Compatible AI Assistant: Claude Desktop, Gemini CLI, or any MCP-compatible client
npm install -g @serpstat/serpstat-mcp-server
npm install @serpstat/serpstat-mcp-server
Set the following environment variables (can be in .env file):
- SERPSTAT_API_TOKEN— Your Serpstat API token (required)
- SERPSTAT_API_URL— Serpstat API URL (default:https://api.serpstat.com/v4)
- LOG_LEVEL— Logging level: error, warn, info, debug (default: info)
- SERPSTAT_ENABLED_CATEGORIES— Filter tools by categories (optional, comma-separated, default: all categories enabled)
Claude Desktop & Gemini CLI Configuration
macOS:~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:%APPDATA%/Claude/claude_desktop_config.jsonLinux:~/.config/Claude/claude_desktop_config.json
{ "mcpServers": { "serpstat": { "command": "npx", "args": ["-y", "@serpstat/serpstat-mcp-server"], "env": { "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE", "LANG": "en_US.UTF-8", "LC_ALL": "en_US.UTF-8" } } } }
For local development, use the full path:
{ "mcpServers": { "serpstat": { "command": "node", "args": ["/path/to/node_modules/serpstat-mcp-server/dist/index.js"], "env": { "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE" } } } }
You can limit which tools are available by specifyingSERPSTAT_ENABLED_CATEGORIESenvironment variable. This is useful for:
- Reducing context window usage in AI assistants
- Focusing on specific SEO analysis areas
- Creating specialized configurations for different use cases
- domain- Domain analysis tools (domain info, competitors, domain keywords, etc.)
- keywords- Keyword research tools (keyword suggestions, search volume, difficulty, etc.)
- backlinks- Backlink analysis tools (backlink summary, anchors, referring domains, etc.)
- url- URL analysis tools (URL traffic, competitors, keywords, etc.)
- projects- Project management tools (create, list, delete projects)
- credits- Credits and usage monitoring tools
- rt- Rank tracking tools (rank history, SERP tracking, etc.)
- audit- Site audit tools (full site SEO audit, error reports, etc.)
- page-audit- One-page audit tools (single page analysis, on-page SEO, etc.)
Example: Enable only keyword and domain tools
{ "mcpServers": { "serpstat": { "command": "npx", "args": ["-y", "@serpstat/serpstat-mcp-server"], "env": { "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE", "SERPSTAT_ENABLED_CATEGORIES": "keywords,domain" } } } }
{ "mcpServers": { "serpstat": { "command": "npx", "args": ["-y", "@serpstat/serpstat-mcp-server"], "env": { "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE", "SERPSTAT_ENABLED_CATEGORIES": "backlinks" } } } }
IfSERPSTAT_ENABLED_CATEGORIESis not specified or is empty, all tools are available (65 total tools across all categories).
After installation and configuration in Claude Desktop, you can ask Claude:
- "Show me domain info forexample.com"
- "Find competitors formy-site.comin Google US"
- "Get top 50 keywords thatexample.comranks for"
- "Show me all available market research categories"
- "Find top domains in'E-commerce'category for Google US"
- "Get top 20 domains in'/Arts & Entertainment/TV & Video'category sorted by traffic"
- "Analyze competitive landscape in'Business & Industrial'category with domains that have SDR above 50"
- "Find leading players in'Health & Fitness'market with minimum 100k monthly traffic"
- "Find related keywords to'digital marketing'"
- "Get keyword suggestions for'iphone 15'excluding'rent'keywords"
- "Get comprehensive keyword data for[iphone,samsung,googel pixel]including search volume, CPC, and difficulty"
- "Show me competitor domains ranking forpizza deliverykeyword with visibility metrics"
- "Get top search results forlaptop computerskeyword showing positions, domains and SERP features"
- "Get unique keywords fordomain1.comvsdomain2.com"
- "Analyze backlinks summary fordomain.com"
- "Get anchor text analysis fordomain.combacklinks"
- "Get active backlinks fordomain.comshowing linking pages and target URLs"
- "Get referring domains fordomain.comwith domain authority metrics"
- "Get lost backlinks fordomain.comshowing removed links and deletion dates"
- "Get top 10 anchors fordomain.comwith backlink counts and referring domains"
- "Get backlinks intersection fordomain.comvscompetitor1.comandcompetitor2.comshowing shared referring domains"
- "Get threat backlinks fordomain.comshowing malicious links from sites flagged for security threats"
- "Create a new project forexample.comnamedMy SEO Project"
- "List all my projects with pagination"
- "Delete project with ID1234567"
- "Show me my audit credits statistics"
- "Check my API credits usage and remaining quota"
- "List all my rank tracker projects"
- "Check parsing status for project12345in region2840"
- "Get audit settings for project1113915"
- "Start site audit for project1113915"
- "Stop site audit for project1113915"
- g_us- Google USA
- g_uk- Google United Kingdom
- g_ca- Google Canada
- g_au- Google Australia
- g_de- Germany
- g_fr- Google France
- g_es- Google Spain
- g_it- Google Italy
- g_pl- Google Poland
- g_ua- Google Ukraine
See a full list ofSearch Engines Short Names
"Command not found: serpstat-mcp-server"
- Make sure you installed the package globally with-gflag
- Verify your PATH includes npm global binaries:npm config get prefix
- Try reinstalling:npm uninstall -g @serpstat/serpstat-mcp-server && npm install -g @serpstat/serpstat-mcp-server
"API token error" or "Unauthorized"
- Check thatSERPSTAT_API_TOKENis set correctly in your environment
- Verify your token is valid and active in your Serpstat account
- Ensure your token has sufficient API credits and permissions
- Make sure all dependencies are installed:npm install
- Try rebuilding:npm run clean && npm run build
Claude Desktop doesn't recognize the server
- Restart Claude Desktop after configuration changes
- Check the config file path and JSON syntax
- Verify the server starts correctly: runserpstat-mcp-serverin terminal
- You need to install Node.js -download and install Node.js
- Most Serpstat plans have 1 RPS (1 request per second) limit
- Wait between requests or contact Serpstat support for higher limits
- Check your API usage in the Serpstat dashboard
{ "mcpServers": { "serpstat": { "command": "npx", "args": ["-y", "@serpstat/serpstat-mcp-server"], "env": { "SERPSTAT_API_TOKEN": "YOUR_TOKEN_HERE", "LANG": "en_US.UTF-8", "LC_ALL": "en_US.UTF-8", "LOG_LEVEL": "debug" } } } }
git clone git@github.com:SerpstatGlobal/serpstat-mcp-server-js.git cd serpstat-mcp-server-js
cp .env.example .env # Edit .env with your Serpstat API token
npx jest src/__tests__/services/keyword_tools.test.ts
npx jest --testNamePattern="methodName"
- npm run build— Compile TypeScript sources to JavaScript (output indist/)
- npm start— Run the compiled server fromdist/
- npm run dev— Run the server in development mode with hot-reload
- npm test— Run all tests
- npm run lint— Run linting
- npm run clean— Clean build directory
serpstat-mcp-server/ ├── src/ │ ├── index.ts # Entry point │ ├── server.ts # Main MCP server │ ├── handlers/ # Tool handlers │ ├── services/ # Services for Serpstat API │ ├── types/ # Data types │ ├── utils/ # Utilities (config, logger, validation) │ └── __tests__/ # Tests ├── dist/ # Compiled JavaScript (after build) ├── package.json ├── tsconfig.json ├── README.md └── .env.example
By default, most Serpstat plans have1 RPS (1 request per second)- this is sufficient for most tasks. If you need higher throughput, contact Serpstat support to discuss plan upgrades.
Important: The server respects rate limits automatically. If you encounter rate limit errors, wait before making additional requests.
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch:git checkout -b feature/amazing-feature
- Make your changes
- Add tests for new functionality
- Ensure tests pass:npm test
- Commit your changes:git commit -m 'Add amazing feature'
- Push to the branch:git push origin feature/amazing-feature
- Submit a pull request
- Follow existing code style and TypeScript conventions
- Add tests for new features
- Update documentation as needed
- Use conventional commit messages
- Ensure all linting passes:npm run lint
SeeCHANGELOG.mdfor details about changes in each version.
- 📖Serpstat API Documentation
- 🐛Report Issues
The most effective way to receive support from Serpstat is to use their live chat feature directly within the platform. Alternatively, you can email them atsupport@serpstat.com.
- Model Context Protocolby Anthropic
- Serpstat APIfor SEO data services
This project is under MIT license, which means you can copy, use, modify, and even sell any part of this code without any hassle.
Self-hostable AGPL SEO manager backend with an MCP server for keyword research, content queue, and SERP tracking, built for Claude Code.
Connect Claude, Cursor, or ChatGPT to a Shopify store's real visitor data — heatmaps, session replays, funnels, revenue attribution — with ~70 tools that also write back: edit products, launch popups, apply SEO fixes.
AI-native SEO service via MCP — gives Claude native access to keyword research, rank tracking, site audits, backlink analysis, and autonomous SEO agent workflows.
Connect your Google Ads and Meta accounts to Claude, Cursor, or any AI tool that supports MCP.
Supervised Meta Ads operating system for Claude Code - 57 tools for campaign management, multi-asset ads, targeting, pixel diagnostics, catalogs, and safety gates
Mercopilot connects your Shopify store and your Google Ads account to Claude, ChatGPT, and other AI assistants through a standard called MCP. Once connected, you ask your AI assistant plain-English questions about your store and your ad spend, get a ranked list of what to fix and where to grow, and approve specific changes that are made directly in Shopify or Google Ads. No separate dashboard to monitor, no reports to download.
A shared campaign canvas for you and your AI agent: briefed by your brand rules, gated by your approval.
Run your Linkedin account from claude or chatgpt
Google Ads reporting and campaign management for Claude; everything it creates starts paused, nothing spends until you turn it on.
Chat with any brand's Meta (Facebook/Instagram) ads inside Claude — research a competitor's ad library, surface their longest-running winners, extract hooks/formats, and clone winning ads for your own brand.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





