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