All-in-One SEO & Web Intelligence Toolkit API fetchSERP
A Model Context Protocol (MCP) server that exposes the FetchSERP API for SEO, SERP analysis, web scraping, and keyword research.
This MCP server provides access to all FetchSERP API endpoints:
No installation required! This MCP server runs directly from GitHub using npx.
Get your FetchSERP API token: Sign up at https://www.fetchserp.com to get your API token. New users get 250 free credits to get started!
This MCP server supports two transport modes:
npx mode (Option 1):
HTTP mode (Option 2):
Option 1: Using npx (Local/Remote GitHub) Add this server to your MCP client configuration. For example, in Claude Desktop using github registry :
{
"mcpServers": {
"fetchserp": {
"command": "npx",
"args": [
"github:fetchSERP/fetchserp-mcp-server-node"
],
"env": {
"FETCHSERP_API_TOKEN": "your_fetchserp_api_token_here"
}
}
}
}
or using npm registry
{
"mcpServers": {
"fetchserp": {
"command": "npx",
"args": ["fetchserp-mcp-server"],
"env": {
"FETCHSERP_API_TOKEN": "your_fetchserp_api_token_here"
}
}
}
}
Option 2: Claude API with MCP Server For programmatic usage with Claude's API and your deployed MCP server:
const claudeRequest = {
model: "claude-sonnet-4-20250514",
max_tokens: 1024,
messages: [
{
role: "user",
content: question
}
],
// MCP Server Configuration
mcp_servers: [
{
type: "url",
url: "https://mcp.fetchserp.com/sse",
name: "fetchserp",
authorization_token: FETCHSERP_API_TOKEN,
tool_configuration: {
enabled: true
}
}
]
};
const response = await httpRequest('https://api.anthropic.com/v1/messages', {
method: 'POST',
headers: {
'x-api-key': CLAUDE_API_KEY,
'anthropic-version': '2023-06-01',
'anthropic-beta': 'mcp-client-2025-04-04',
'content-type': 'application/json'
}
}, JSON.stringify(claudeRequest));
Option 3: OpenAI API with MCP Server For programmatic usage with OpenAI's API and your deployed MCP server:
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const res = await openai.responses.create({
model: "gpt-4.1",
tools: [
{
type: "mcp",
server_label: "fetchserp",
server_url: "https://mcp.fetchserp.com/sse",
headers: {
Authorization: `Bearer ${FETCHSERP_API_TOKEN}`
}
}
],
input: question
});
console.log(res.choices[0].message);
Option 4: Docker Use the pre-built Docker image from GitHub Container Registry for containerized deployment:
{
"mcpServers": {
"fetchserp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FETCHSERP_API_TOKEN",
"ghcr.io/fetchserp/fetchserp-mcp-server-node:latest"
],
"env": {
"FETCHSERP_API_TOKEN": "your_fetchserp_api_token_here"
}
}
}
}
Docker Features:
Manual Docker Usage:
# Pull the latest image
docker pull ghcr.io/fetchserp/fetchserp-mcp-server-node:latest
# Run with environment variable
docker run -i --rm \
-e FETCHSERP_API_TOKEN="your_token_here" \
ghcr.io/fetchserp/fetchserp-mcp-server-node:latest
# Or run in HTTP mode on port 8000
docker run -p 8000:8000 \
-e FETCHSERP_API_TOKEN="your_token_here" \
-e MCP_HTTP_MODE=true \
ghcr.io/fetchserp/fetchserp-mcp-server-node:latest
get_backlinks
Get backlinks for a domain
get_domain_info
Get comprehensive domain information
get_domain_emails
Extract emails from a domain
get_playwright_mcp
Use GPT-4.1 to remote control a browser via a Playwright MCP server
This endpoint uses GPT-4.1 to remote control a browser via a Playwright MCP server.
get_webpage_seo_analysis
Comprehensive SEO analysis of a webpage
get_webpage_ai_analysis
AI-powered webpage analysis
generate_wordpress_content
Generate WordPress content using AI with customizable prompts and models
Generates SEO-optimized WordPress content including title and content (800-1500 words) with keyword targeting in the first 100 words.
generate_social_content
Generate social media content using AI with customizable prompts and models
Generates engaging social media content optimized for various platforms and audiences.
get_moz_analysis
Get Moz domain authority and metrics
get_keywords_search_volume
Get search volume for keywords
get_keywords_suggestions
Get keyword suggestions
get_long_tail_keywords
Generate long-tail keywords
get_serp_results
Get search engine results
get_serp_html
Get SERP results with HTML content
get_serp_results
get_serp_text
Get SERP results with text content
get_serp_results
get_serp_ai_mode
Get SERP with AI Overview and AI Mode response
Returns AI overview and AI mode response for the query. Less reliable than the 2-step process but returns results in under 30 seconds.
check_page_indexation
Check if domain is indexed for keyword
get_domain_ranking
Get domain ranking for keyword
scrape_webpage
Scrape webpage without JavaScript
scrape_domain
Scrape multiple pages from domain
scrape_webpage_js
Scrape webpage with custom JavaScript
scrape_webpage_js_proxy
Scrape webpage with JavaScript and proxy
get_user_info
Get user information and API credits
You need a FetchSERP API token to use this server.
Getting your API token:
Set the token as an environment variable:
export FETCHSERP_API_TOKEN="your_token_here"
The server includes comprehensive error handling:
docker build --platform=linux/amd64 -t olivier86/fetchserp-mcp-server-node:latest --push .
docker build --platform=linux/amd64 -t ghcr.io/fetchserp/mcp-server-node:latest --push .
docker run -p 8000:8000 olivier86/fetchserp-mcp-server-node:latest
nohup ngrok http 8000 --domain guinea-dominant-jolly.ngrok-free.app > /var/log/ngrok.log 2>&1 &
npm login npm publish --access public