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 ```