home / mcp / dataforseo mcp server

DataForSEO MCP Server

Model Context Protocol server for DataForSEO API

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "skobyn-mcp-dataforseo": {
      "command": "npx",
      "args": [
        "@skobyn/mcp-dataforseo",
        "--config",
        "'{\"username\":\"your_username\",\"password\":\"your_password\"}'"
      ],
      "env": {
        "DATAFORSEO_PASSWORD": "YOUR_PASSWORD",
        "DATAFORSEO_USERNAME": "YOUR_USERNAME"
      }
    }
  }
}

You can run a stdio-based MCP server for DataForSEO that accepts JSON requests on stdin and returns JSON responses on stdout. This lets you integrate DataForSEO data retrieval into your automation pipelines and Node.js applications with a minimal, script-friendly interface.

How to use

You communicate with the MCP server by sending a JSON request to its standard input and reading the JSON response from its standard output. Start the MCP server using one of the provided commands, then stream your requests to it. The server supports multiple MCP request types, including SERP data, keywords data, backlinks, on-page checks, domain analytics, app data, merchant data, and business data. Use a separate request per line to keep responses aligned with each input.

How to install

Prerequisites: you need Node.js installed on your machine. If you don’t have Node.js, install it from nodejs.org or your system’s package manager.

# Option 1: Run directly with npx
npx @skobyn/mcp-dataforseo --config '{"username":"your_username","password":"your_password"}'

# Option 2: Install globally and run
npm install -g @skobyn/mcp-dataforseo
mcp-dataforseo --config '{"username":"your_username","password":"your_password"}'

Additional configuration and usage notes

You can also provide credentials via environment variables instead of a config string. Set DATAFORSEO_USERNAME and DATAFORSEO_PASSWORD in your shell, then run the MCP server with the same command as above but without the --config option.

Example usage in Node.js

You can integrate the MCP server into a Node.js process by spawning it and exchanging JSON messages through its stdin and stdout.

{
  "type": "dataforseo_serp",
  "keyword": "artificial intelligence",
  "location_code": 2840,
  "language_code": "en",
  "device": "desktop",
  "os": "windows"
}

Available tools

dataforseo_serp

Fetch SERP data for a given keyword, location, language, and device profile.

dataforseo_keywords_data

Retrieve keyword data for a set of terms with location and language filters.

dataforseo_backlinks

Obtain backlink data for a target domain with a specified limit.

dataforseo_onpage

Analyze an on-page URL for checks such as spelling and JavaScript enablement.

dataforseo_domain_analytics

Query domain analytics to gain insights about a given domain.

dataforseo_app_data

Access app-related data using a specific app ID.

dataforseo_merchant

Retrieve merchant-focused keyword data across locations and languages.

dataforseo_business_data

Get business data related to a keyword, location, and language.