Skip to main content
Glama

DataForSEO MCP Server

Official
by dataforseo

Сервер 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 и собственных алгоритмов.

Предпосылки

  • Node.js (v14 или выше)
  • Учетные данные API DataForSEO (логин и пароль API)

Установка

  1. Клонируйте репозиторий:
git clone https://github.com/dataforseo/mcp-server-typescript cd mcp-server-typescript
  1. Установить зависимости:
npm install
  1. Настройте переменные среды:
# 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:

Варианты реализации

Вы можете:

  1. Добавить новый инструмент к существующему модулю
  2. Создать совершенно новый модуль

Добавление нового инструмента

Вот как добавить новый инструмент в любой новый или уже существующий модуль:

// 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); } } }

Создание нового модуля

  1. Создайте новый каталог в src/modules/ для вашего модуля:
mkdir -p src/modules/your-module-name
  1. Создайте файлы модуля:
// 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), }; } }
  1. Зарегистрируйте свой модуль в 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;
  1. Инициализируйте свой модуль в src/index.ts :
if (isModuleEnabled('YOUR_MODULE_NAME', enabledModules)) { modules.push(new YourModuleNameModule(dataForSEOClient)); }

Какие конечные точки/API вы хотите, чтобы мы поддерживали в дальнейшем?

Мы всегда стремимся расширить возможности этого сервера MCP. Если у вас есть определенные конечные точки DataForSEO или API, которые вы хотели бы видеть поддерживаемыми, пожалуйста:

  1. Проверьте документацию API DataForSEO, чтобы узнать, что доступно.
  2. Откройте задачу в нашем репозитории GitHub с помощью:
    • API/конечная точка, которую вы хотели бы поддерживать;
    • Краткое описание вашего варианта использования;
    • Опишите любые конкретные функции, которые вы хотели бы реализовать.

Ваши отзывы помогают нам определить приоритеты поддержки API в дальнейшем!

Ресурсы

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Сервер Model Context Protocol, который позволяет Клоду взаимодействовать с API-интерфейсами DataForSEO, предоставляя доступ к данным SEO, включая SERP, исследование ключевых слов, показатели на странице и аналитику домена.

  1. Функции
    1. Предпосылки
      1. Установка
        1. Установка как пакета NPM
          1. Строительство и запуск
            1. Доступные модули
              1. Добавление новых инструментов/модулей
                1. Структура модуля
                2. Варианты реализации
                3. Добавление нового инструмента
                4. Создание нового модуля
              2. Какие конечные точки/API вы хотите, чтобы мы поддерживали в дальнейшем?
                1. Ресурсы

                  Related MCP Servers

                  • -
                    security
                    F
                    license
                    -
                    quality
                    A Model Context Protocol server that allows Claude to make API requests on your behalf, providing tools for testing various APIs including HTTP requests and OpenAI integrations without sharing your API keys in the chat.
                    Last updated -
                    Python
                    • Linux
                    • Apple
                  • -
                    security
                    F
                    license
                    -
                    quality
                    A Model Context Protocol server that enables Claude to perform Google Custom Search operations by connecting to Google's search API.
                    Last updated -
                    Python
                    • Linux
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A Model Context Protocol server that enables Claude to perform web research by integrating Google search, extracting webpage content, and capturing screenshots.
                    Last updated -
                    854
                    4
                    MIT License
                    • Apple
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A Model Context Protocol server that enables Claude to perform advanced web research with intelligent search queuing, enhanced content extraction, and deep research capabilities.
                    Last updated -
                    53
                    TypeScript
                    MIT License
                    • Apple

                  View all related MCP servers

                  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