UNPKG

apex-data-for-seo

Version:

A comprehensive MCP server for DataForSEO API

384 lines (324 loc) 7.68 kB
# Apex Data for SEO A comprehensive MCP (Model Context Protocol) server for the DataForSEO API, designed to be used with AI assistants and tools. ## Features - Easy to use MCP server for DataForSEO API - Simple CLI for running the server - NPM package for integration into your own projects - Supports the full suite of DataForSEO API endpoints ## Installation ### Global Installation ```bash npm install -g apex-data-for-seo ``` ### Local Installation ```bash npm install apex-data-for-seo ``` ## Usage ### CLI Usage Run the server directly from the command line: ```bash apex-data-for-seo --dataforseo-login YOUR_LOGIN --dataforseo-password YOUR_PASSWORD ``` Or using environment variables: ```bash DATAFORSEO_LOGIN=your_login DATAFORSEO_PASSWORD=your_password apex-data-for-seo ``` ### NPX Usage You can also run the server without installing it: ```bash npx apex-data-for-seo --dataforseo-login YOUR_LOGIN --dataforseo-password YOUR_PASSWORD ``` ### Programmatic Usage You can use the server programmatically in your Node.js application: ```javascript const { startServer } = require('apex-data-for-seo'); // Start the server const server = startServer({ dataforseoLogin: 'YOUR_LOGIN', dataforseoPassword: 'YOUR_PASSWORD' }); // Handle server events server.on('exit', (code) => { console.log(`Server exited with code ${code}`); }); ``` ## Available Tools The MCP server includes a comprehensive suite of tools for accessing all DataForSEO API endpoints: ### SERP API Tools #### DataForSEO_GoogleSearch Search for results in Google organic search. ```javascript { "name": "DataForSEO_GoogleSearch", "parameters": { "keyword": "string", "location_name": "string?", "language_name": "string?", "device": "desktop|mobile|tablet?" } } ``` #### DataForSEO_GoogleMapsSearch Search for local businesses in Google Maps. ```javascript { "name": "DataForSEO_GoogleMapsSearch", "parameters": { "keyword": "string", "location_name": "string?", "language_name": "string?" } } ``` #### DataForSEO_GoogleNewsSearch Search for news articles in Google News. ```javascript { "name": "DataForSEO_GoogleNewsSearch", "parameters": { "keyword": "string", "location_name": "string?", "language_name": "string?" } } ``` #### DataForSEO_BingSearch Search for results in Bing organic search. ```javascript { "name": "DataForSEO_BingSearch", "parameters": { "keyword": "string", "location_name": "string?", "language_name": "string?" } } ``` ### Keywords Data API Tools #### DataForSEO_KeywordData Get search volume and keyword metrics. ```javascript { "name": "DataForSEO_KeywordData", "parameters": { "keyword": "string", "location_name": "string?", "language_name": "string?" } } ``` #### DataForSEO_KeywordIdeas Get keyword ideas based on seed keywords. ```javascript { "name": "DataForSEO_KeywordIdeas", "parameters": { "seed_keywords": "string[]", "location_name": "string?", "language_name": "string?", "limit": "number?" } } ``` #### DataForSEO_KeywordsForSite Get keywords for which a site ranks. ```javascript { "name": "DataForSEO_KeywordsForSite", "parameters": { "target": "string", "location_name": "string?", "language_name": "string?", "limit": "number?" } } ``` ### Domain Analytics API Tools #### DataForSEO_DomainOverview Get an overview of a domain's metrics. ```javascript { "name": "DataForSEO_DomainOverview", "parameters": { "domain": "string", "location_name": "string?", "language_name": "string?" } } ``` #### DataForSEO_WebsiteTechnologies Get technologies used by a website. ```javascript { "name": "DataForSEO_WebsiteTechnologies", "parameters": { "domain": "string" } } ``` ### Backlinks API Tools #### DataForSEO_BacklinksOverview Get an overview of a domain's backlink profile. ```javascript { "name": "DataForSEO_BacklinksOverview", "parameters": { "target": "string", "limit": "number?" } } ``` #### DataForSEO_BacklinksList Get a list of backlinks for a domain or URL. ```javascript { "name": "DataForSEO_BacklinksList", "parameters": { "target": "string", "limit": "number?" } } ``` ### On-Page API Tools #### DataForSEO_OnPageAnalysis Create a task to analyze a website. ```javascript { "name": "DataForSEO_OnPageAnalysis", "parameters": { "target": "string", "max_crawl_pages": "number?", "store_raw_html": "boolean?" } } ``` #### DataForSEO_InstantPageAnalysis Analyze a specific URL instantly. ```javascript { "name": "DataForSEO_InstantPageAnalysis", "parameters": { "url": "string", "custom_js": "string?" } } ``` ### Merchant API Tools #### DataForSEO_GoogleShoppingSearch Search for products on Google Shopping. ```javascript { "name": "DataForSEO_GoogleShoppingSearch", "parameters": { "keyword": "string", "location_name": "string?", "language_name": "string?" } } ``` #### DataForSEO_AmazonProductSearch Search for products on Amazon. ```javascript { "name": "DataForSEO_AmazonProductSearch", "parameters": { "keyword": "string", "location_name": "string?", "language_name": "string?" } } ``` ### Content Analysis API Tools #### DataForSEO_ContentAnalysis Analyze text content for sentiment and readability. ```javascript { "name": "DataForSEO_ContentAnalysis", "parameters": { "content": "string", "language_name": "string?" } } ``` ### App Data API Tools #### DataForSEO_AppStoreSearch Search for apps in the Apple App Store. ```javascript { "name": "DataForSEO_AppStoreSearch", "parameters": { "keyword": "string", "location_name": "string?", "language_name": "string?" } } ``` #### DataForSEO_GooglePlaySearch Search for apps in the Google Play Store. ```javascript { "name": "DataForSEO_GooglePlaySearch", "parameters": { "keyword": "string", "location_name": "string?", "language_name": "string?" } } ``` ### Business Data API Tools #### DataForSEO_GoogleBusinessInfo Get information about a business from Google My Business. ```javascript { "name": "DataForSEO_GoogleBusinessInfo", "parameters": { "keyword": "string", "location_name": "string?", "language_name": "string?" } } ``` ### DataForSEO Labs API Tools #### DataForSEO_DomainCompetitors Get a list of competitors for a domain. ```javascript { "name": "DataForSEO_DomainCompetitors", "parameters": { "domain": "string", "location_name": "string?", "language_name": "string?", "limit": "number?" } } ``` #### DataForSEO_DomainIntersection Find shared keywords between multiple domains. ```javascript { "name": "DataForSEO_DomainIntersection", "parameters": { "domains": "string[]", "location_name": "string?", "language_name": "string?", "limit": "number?" } } ``` #### DataForSEO_KeywordDifficulty Get difficulty scores for keywords. ```javascript { "name": "DataForSEO_KeywordDifficulty", "parameters": { "keywords": "string[]", "location_name": "string?", "language_name": "string?" } } ``` ## MCP Integration This server follows the Model Context Protocol (MCP) specification, making it compatible with AI assistants that support MCP. ## License MIT