DataForSEO MCP Server
by Skobyn
Verified
# DataForSEO MCP Server
A stdio-based Model Context Protocol (MCP) server for DataForSEO API.
## Installation
You can run directly with npx:
```bash
npx @skobyn/mcp-dataforseo --config '{"username":"your_username","password":"your_password"}'
```
Or install globally:
```bash
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:
```bash
echo '{"type":"dataforseo_serp","keyword":"artificial intelligence"}' | npx @skobyn/mcp-dataforseo --config '{"username":"your_username","password":"your_password"}'
```
## Supported Request Types
### SERP API
```json
{
"type": "dataforseo_serp",
"keyword": "artificial intelligence",
"location_code": 2840,
"language_code": "en",
"device": "desktop",
"os": "windows"
}
```
### Keywords Data API
```json
{
"type": "dataforseo_keywords_data",
"keywords": ["seo", "search engine optimization"],
"location_code": 2840,
"language_code": "en"
}
```
### Backlinks API
```json
{
"type": "dataforseo_backlinks",
"target": "example.com",
"limit": 100
}
```
### On-Page API
```json
{
"type": "dataforseo_onpage",
"url": "https://example.com",
"check_spell": true,
"enable_javascript": true
}
```
### Domain Analytics API
```json
{
"type": "dataforseo_domain_analytics",
"domain": "example.com"
}
```
### App Data API
```json
{
"type": "dataforseo_app_data",
"app_id": "com.example.app"
}
```
### Merchant API
```json
{
"type": "dataforseo_merchant",
"keyword": "bluetooth speakers",
"location_code": 2840,
"language_code": "en"
}
```
### Business Data API
```json
{
"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:
```javascript
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:
```bash
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:
```bash
npm login
```
2. Publish the package:
```bash
npm publish --access public
```
3. To update the package later:
```bash
npm version patch
npm publish
```