DataForSEO MCP Server
OfficialСервер MCP DataForSEO
Реализация сервера Model Context Protocol (MCP) для DataForSEO, позволяющая Клоду взаимодействовать с выбранными API DataForSEO и получать данные SEO через стандартизированный интерфейс.
Функции
SERP API: данные страницы результатов поисковой системы (SERP) в режиме реального времени для Google, Bing и Yahoo;
API KEYWORDS_DATA: исследование ключевых слов и данные о кликах, включая объем поиска, цену за клик и другие показатели;
API ONPAGE: позволяет сканировать веб-сайты и веб-страницы в соответствии с настраиваемыми параметрами для получения показателей эффективности SEO на странице;
API DATAFORSEO_LABS: данные по ключевым словам, SERP и доменам на основе внутренних баз данных DataForSEO и собственных алгоритмов.
Related MCP server: kwrds.ai MCP Server
Предпосылки
Node.js (v14 или выше)
Учетные данные API DataForSEO (логин и пароль API)
Установка
Клонируйте репозиторий:
git clone https://github.com/dataforseo/mcp-server-typescript
cd mcp-server-typescriptУстановить зависимости:
npm installНастройте переменные среды:
# Required
export DATAFORSEO_USERNAME=your_username
export DATAFORSEO_PASSWORD=your_password
# Optional: specify which modules to enable (comma-separated)
# If not set, all modules will be enabled
export ENABLED_MODULES="SERP,KEYWORDS_DATA,ONPAGE,DATAFORSEO_LABS,BACKLINKS,BUSINESS_DATA,DOMAIN_ANALYTICS"
# Optional: enable full API responses
# If not set or set to false, the server will filter and transform API responses to a more concise format
# If set to true, the server will return the full, unmodified API responses
export DATAFORSEO_FULL_RESPONSE="false"Установка как пакета NPM
Вы можете установить пакет глобально:
npm install -g dataforseo-mcp-serverИли запустите его напрямую, без установки:
npx dataforseo-mcp-serverНе забудьте задать переменные среды перед выполнением команды:
# Required environment variables
export DATAFORSEO_USERNAME=your_username
export DATAFORSEO_PASSWORD=your_password
# Run with npx
npx dataforseo-mcp-serverСтроительство и запуск
Создайте проект:
npm run buildЗапускаем сервер:
npm startДоступные модули
Для включения/отключения доступны следующие модули:
SERP: данные SERP в реальном времени для Google, Bing и Yahoo;KEYWORDS_DATA: исследование ключевых слов и данные о посещениях;ONPAGE: сканирование веб-сайтов и веб-страниц для получения показателей эффективности SEO на странице;DATAFORSEO_LABS: данные по ключевым словам, SERP и доменам на основе баз данных и алгоритмов DataForSEO;BACKLINKS: данные о входящих ссылках, ссылающихся доменах и ссылающихся страницах для любого домена, поддомена или веб-страницы;BUSINESS_DATA: основано на обзорах компаний и деловой информации, публично размещенной на следующих платформах: Google, Trustpilot, Tripadvisor;DOMAIN_ANALYTICS: помогает определить все возможные технологии, используемые для создания веб-сайтов, и предлагает данные Whois;
Добавление новых инструментов/модулей
Структура модуля
Каждый модуль соответствует определенному API DataForSEO:
Модуль
SERP→ API SERPМодуль
KEYWORDS_DATA→ API данных ключевых словМодуль
ONPAGE→ API OnPageМодуль
DATAFORSEO_LABS→ API DataForSEO LabsBACKLINKS: модуль → API обратных ссылокBUSINESS_DATA: модуль → API бизнес-данныхDOMAIN_ANALYTICS: модуль → API аналитики домена
Варианты реализации
Вы можете:
Добавить новый инструмент к существующему модулю
Создать совершенно новый модуль
Добавление нового инструмента
Вот как добавить новый инструмент в любой новый или уже существующий модуль:
// src/modules/your-module/tools/your-tool.tool.ts
import { BaseTool } from '../../base.tool';
import { DataForSEOClient } from '../../../client/dataforseo.client';
import { z } from 'zod';
export class YourTool extends BaseTool {
constructor(private client: DataForSEOClient) {
super(client);
// DataForSEO API returns extensive data with many fields, which can be overwhelming
// for AI agents to process. We select only the most relevant fields to ensure
// efficient and focused responses.
this.fields = [
'title', // Example: Include the title field
'description', // Example: Include the description field
'url', // Example: Include the URL field
// Add more fields as needed
];
}
getName() {
return 'your-tool-name';
}
getDescription() {
return 'Description of what your tool does';
}
getParams(): z.ZodRawShape {
return {
// Required parameters
keyword: z.string().describe('The keyword to search for'),
location: z.string().describe('Location in format "City,Region,Country" or just "Country"'),
// Optional parameters
fields: z.array(z.string()).optional().describe('Specific fields to return in the response. If not specified, all fields will be returned'),
language: z.string().optional().describe('Language code (e.g., "en")'),
};
}
async handle(params: any) {
try {
// Make the API call
const response = await this.client.makeRequest({
endpoint: '/v3/dataforseo_endpoint_path',
method: 'POST',
body: [{
// Your request parameters
keyword: params.keyword,
location: params.location,
language: params.language,
}],
});
// Validate the response for errors
this.validateResponse(response);
//if the main data array is specified in tasks[0].result[:] field
const result = this.handleDirectResult(response);
//if main data array specified in tasks[0].result[0].items field
const result = this.handleItemsResult(response);
// Format and return the response
return this.formatResponse(result);
} catch (error) {
// Handle and format any errors
return this.formatErrorResponse(error);
}
}
}Создание нового модуля
Создайте новый каталог в
src/modules/для вашего модуля:
mkdir -p src/modules/your-module-nameСоздайте файлы модуля:
// src/modules/your-module-name/your-module-name.module.ts
import { BaseModule } from '../base.module';
import { DataForSEOClient } from '../../client/dataforseo.client';
import { YourTool } from './tools/your-tool.tool';
export class YourModuleNameModule extends BaseModule {
constructor(private client: DataForSEOClient) {
super();
}
getTools() {
return {
'your-tool-name': new YourTool(this.client),
};
}
}Зарегистрируйте свой модуль в
src/config/modules.config.ts:
export const AVAILABLE_MODULES = [
'SERP',
'KEYWORDS_DATA',
'ONPAGE',
'DATAFORSEO_LABS',
'YOUR_MODULE_NAME' // Add your module name here
] as const;Инициализируйте свой модуль в
src/index.ts:
if (isModuleEnabled('YOUR_MODULE_NAME', enabledModules)) {
modules.push(new YourModuleNameModule(dataForSEOClient));
}Какие конечные точки/API вы хотите, чтобы мы поддерживали в дальнейшем?
Мы всегда стремимся расширить возможности этого сервера MCP. Если у вас есть определенные конечные точки DataForSEO или API, которые вы хотели бы видеть поддерживаемыми, пожалуйста:
Проверьте документацию API DataForSEO, чтобы узнать, что доступно.
Откройте задачу в нашем репозитории GitHub с помощью:
API/конечная точка, которую вы хотели бы поддерживать;
Краткое описание вашего варианта использования;
Опишите любые конкретные функции, которые вы хотели бы реализовать.
Ваши отзывы помогают нам определить приоритеты поддержки API в дальнейшем!
Ресурсы
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceA stdio-based server that enables interaction with the DataForSEO API through the Model Context Protocol, allowing users to fetch SEO data including search results, keywords data, backlinks, on-page analysis, and more.97MIT
- Alicense-qualityDmaintenanceModel Context Protocol server that enables AI assistants to perform keyword research, SEO analysis, and content planning through natural language queries against kwrds.ai's SEO tools.7Apache 2.0

FetchSERP MCP Serverofficial
-licenseCquality-maintenanceA Model Context Protocol server that provides AI assistants with access to FetchSERP API capabilities for SEO analysis, SERP data, web scraping, and keyword research.231919- -licenseCquality-maintenanceA Model Context Protocol server that exposes Haloscan SEO API functionality, allowing users to access keyword insights, domain analysis, and competitor research through Claude for Desktop and other MCP-compatible clients.3257
Related MCP Connectors
Live SEO workflow tools for Claude Code, Codex, and AI agents.
SEO MCP server: crawl your site, find AI-visibility gaps, and ship the fix from your coding agent.
A Model Context Protocol server for Wix AI tools
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dataforseo/mcp-server-typescript'
If you have feedback or need assistance with the MCP directory API, please join our Discord server