mcp-dataforseo

This MCP server is a tool for easily retrieving SEO data using the DataForSEO API. It processes JSON requests and responses via standard input and output, designed to allow users to easily utilize the API.

GitHub Stars

7

User Rating

Not Rated

Forks

5

Issues

2

Views

0

Favorites

0

README
DataForSEO MCP Server

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

Sign up for Data for Seo

https://dataforseo.com/?aff=200885

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
    
Author Information

6

Followers

15

Repositories

0

Gists

13

Total Contributions

Top Contributors

Threads