Supports JavaScript functionality in on-page analysis through the 'enable_javascript' parameter in the DataForSEO On-Page API integration.
Provides Node.js integration examples for programmatically interacting with the DataForSEO API services through child processes.
Supports installation and distribution through npm, allowing users to install the package globally or run it directly with npx.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DataForSEO MCP Serverget SERP results for 'best coffee shops' in New York"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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"}'Related MCP server: DataForSEO MCP Server
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-dataforseoPublishing
To publish this package to npm:
Login to npm if not already logged in:
npm loginPublish the package:
npm publish --access publicTo update the package later:
npm version patch npm publish