✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

DataForSEO MCP Server

A stdio-based Model Context Protocol (MCP) server for DataForSEO API.

Installation

You can run directly with npx:

npx @skobyn/mcp-dataforseo --config '{"username":"your_username","password":"your_password"}'

Or install globally:

npm install -g @skobyn/mcp-dataforseo
mcp-dataforseo --config '{"username":"your_username","password":"your_password"}'

Usage

Send JSON requests to stdin and receive JSON responses from stdout:

echo '{"type":"dataforseo_serp","keyword":"artificial intelligence"}' | npx @skobyn/mcp-dataforseo --config '{"username":"your_username","password":"your_password"}'

Supported Request Types

SERP API

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

Keywords Data API

{
  "type": "dataforseo_keywords_data",
  "keywords": ["seo", "search engine optimization"],
  "location_code": 2840,
  "language_code": "en"
}

Backlinks API

{
  "type": "dataforseo_backlinks",
  "target": "example.com",
  "limit": 100
}

On-Page API

{
  "type": "dataforseo_onpage",
  "url": "https://example.com",
  "check_spell": true,
  "enable_javascript": true
}

Domain Analytics API

{
  "type": "dataforseo_domain_analytics",
  "domain": "example.com"
}

App Data API

{
  "type": "dataforseo_app_data",
  "app_id": "com.example.app"
}

Merchant API

{
  "type": "dataforseo_merchant",
  "keyword": "bluetooth speakers",
  "location_code": 2840,
  "language_code": "en"
}

Business Data API

{
  "type": "dataforseo_business_data",
  "keyword": "pizza delivery",
  "location_code": 2840,
  "language_code": "en"
}

Integration Example

Here’s how to use this MCP server in your Node.js code:

const { spawn } = require('child_process');

// Start the MCP server
const server = spawn('npx', ['@skobyn/mcp-dataforseo', '--config', '{"username":"your_username","password":"your_password"}']);

// Define the request
const request = {
  type: 'dataforseo_serp',
  keyword: 'artificial intelligence'
};

// Send the request
server.stdin.write(JSON.stringify(request) + 'n');
server.stdin.end();

// Process the response
server.stdout.on('data', (data) => {
  const response = JSON.parse(data.toString());
  console.log(response);
});

// Handle errors
server.stderr.on('data', (data) => {
  console.error(`Error: ${data}`);
});

Environment Variables

You can also use environment variables instead of the config:

export DATAFORSEO_USERNAME=your_username
export DATAFORSEO_PASSWORD=your_password
npx @skobyn/mcp-dataforseo

Publishing

To publish this package to npm:

  1. Login to npm if not already logged in:

    npm login
    
  2. Publish the package:

    npm publish --access public
    
  3. To update the package later:

    npm version patch
    npm publish
    

Featured Templates

View More
Data Analysis
Pharmacy Admin Panel
252 1957
AI Agents
AI Video Generator
252 2007 5.0
Verified Icon
AI Assistants
Speech to Text
137 1881
AI Assistants
Talk with Claude 3
159 1523

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.