FE
OfficialSearch

FetchSERP MCP Server: SEO and SERP Intelligence API

Analyze search data with FetchSERP's MCP server—fetch SERPs, monitor keywords, track rankings, backlinks and insights for competitive SEO.

Quick Install
npx -y @fetchSERP/fetchserp-mcp-server-node

Overview

FetchSERP MCP Server is a Node.js implementation of a Model Context Protocol (MCP) server focused on search engine result pages (SERP) and SEO intelligence. It exposes a set of tools that let developer applications and agent frameworks query live search results, monitor keywords and rankings, inspect backlink data, and generate domain-level insights. By wrapping search and scraping capabilities behind an MCP-compatible interface, this server makes it easier to integrate SERP data into automated workflows, AI assistants, and monitoring systems.

The primary value is convenience and composability: instead of building custom scrapers or parsing flows, you can call standardized tools that return structured SERP, keyword, and backlink information. This speeds up prototyping (for example, an AI agent that answers “who outranks me for X”) and simplifies operational use cases like scheduled rank tracking, competitor analysis, and automated SEO reporting.

Features

  • Exposes SERP scraping and parsing as MCP tools for programmatic consumption
  • Keyword monitoring and historical rank tracking
  • Backlink discovery and domain-level backlink summaries
  • Support for multiple search engines and localization parameters (language, region)
  • Structured JSON outputs suitable for downstream processing and visualization
  • Lightweight Node.js server that can be self-hosted or containerized
  • Health and readiness endpoints for orchestration and monitoring

Installation / Configuration

Clone the repository and install dependencies:

git clone https://github.com/fetchSERP/fetchserp-mcp-server-node.git
cd fetchserp-mcp-server-node
npm ci

Create a .env file (example):

# .env
PORT=3000
MCP_HOST=0.0.0.0
MCP_PORT=3000
# Optional: API key to protect endpoints
API_KEY=your_secure_api_key_here
# Optional: external scraping service or provider credentials
SCRAPER_API_KEY=provider_api_key

Basic start:

npm start
# or, for development
npm run dev

Check server health (example curl):

curl -H "Authorization: Bearer your_secure_api_key_here" http://localhost:3000/health

Configuration file (JSON) for tool registration (example):

{
  "tools": [
    {
      "name": "serp.fetch",
      "description": "Fetch and parse SERP for a query",
      "params": {
        "query": "string",
        "engine": "google",
        "loc": "New York,US",
        "num": 10
      }
    },
    {
      "name": "keywords.track",
      "description": "Track ranking history for a keyword"
    }
  ]
}

Container (Docker) example:

FROM node:18-alpine
WORKDIR /app
COPY . .
RUN npm ci --production
ENV PORT=3000
EXPOSE 3000
CMD ["node", "server.js"]

Available Tools / Resources

Below are representative tools that the MCP server typically exposes. Exact names and parameters may vary based on your deployed configuration; check your server’s /tools or /mcp metadata endpoints for the authoritative list.

Tool namePurposeTypical inputsTypical output
serp.fetchRetrieve and parse SERP for a queryquery, engine, loc, device, numList of organic results, ads, snippets, metadata
keywords.trackRecord and return ranking historydomain, keyword, engine, date-rangeTime series of positions, URL that ranked
backlinks.lookupDiscover backlinks for a domain/URLdomain or url, limitList of referring domains, anchor texts, metrics
domain.insightsAggregate domain metricsdomainDomain authority, backlink counts, top pages
export.reportGenerate PDF/CSV report of resultsreport type, filtersURL to downloadable report

Example call (HTTP) to invoke a tool (hypothetical MCP execution endpoint):

curl -X POST http://localhost:3000/mcp/execute \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_secure_api_key_here" \
  -d '{
    "tool": "serp.fetch",
    "params": {
      "query": "best espresso machine",
      "engine": "google",
      "loc": "San Francisco,US",
      "num": 10
    }
  }'

Node.js client snippet:

import fetch from "node-fetch";

const res = await fetch("http://localhost:3000/mcp/execute", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer your_secure_api_key_here"
  },
  body: JSON.stringify({
    tool: "serp.fetch",
    params: { query: "seo tools", engine: "google", num: 5 }
  })
});
const data = await res.json();
console.log(data);

Use Cases

  • Scheduled rank tracking: run a daily job that calls keywords.track for a list of monitored keywords, store results in a time-series database, and surface alerts when positions change.
  • Competitive research: fetch SERPs and domain insights for competitor queries to identify content gaps and top ranking pages.
  • Automated SEO reporting: generate CSV or PDF reports using export.report that combine SERP snapshots, backlink summaries, and ranking history for clients or stakeholders.
  • AI-driven assistants: connect the MCP server to an agent framework so the assistant can execute live search lookups (e.g., “Who currently ranks #1 for X?”) and return structured answers backed by up-to-date SERP data.
  • Backlink monitoring and outreach: use backlinks.lookup to identify new referring domains and feed them into an outreach workflow for link-building campaigns.

Where to find the project

Source code and additional examples are available on GitHub: https://github.com/fetchSERP/fetchserp-mcp-server-node

Check the repository README and the server’s metadata endpoints (/tools or /mcp) after deployment to see the exact tool names, parameters, and usage details for your installation.

Tags:search