apex-data-for-seo
Version:
A comprehensive MCP server for DataForSEO API
384 lines (324 loc) • 7.68 kB
Markdown
# 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