Skip to main content
Glama

DataForSEO MCP Server

Official
by dataforseo

Servidor MCP de DataForSEO

Implementación de servidor de Protocolo de Contexto de Modelo (MCP) para DataForSEO, que permite a Claude interactuar con API de DataForSEO seleccionadas y obtener datos de SEO a través de una interfaz estandarizada.

Características

  • API SERP: datos de páginas de resultados de motores de búsqueda (SERP) en tiempo real para Google, Bing y Yahoo;
  • API KEYWORDS_DATA: investigación de palabras clave y datos de flujo de clics, incluido el volumen de búsqueda, el costo por clic y otras métricas;
  • API ONPAGE: permite rastrear sitios web y páginas web según parámetros personalizables para obtener métricas de rendimiento SEO en la página;
  • API DATAFORSEO_LABS: datos sobre palabras clave, SERP y dominios basados en las bases de datos internas y algoritmos propietarios de DataForSEO.

Prerrequisitos

  • Node.js (v14 o superior)
  • Credenciales de la API de DataForSEO (inicio de sesión y contraseña de la API)

Instalación

  1. Clonar el repositorio:
git clone https://github.com/dataforseo/mcp-server-typescript cd mcp-server-typescript
  1. Instalar dependencias:
npm install
  1. Configurar variables de entorno:
# 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"

Instalación como paquete NPM

Puedes instalar el paquete globalmente:

npm install -g dataforseo-mcp-server

O ejecutarlo directamente sin instalación:

npx dataforseo-mcp-server

Recuerde configurar las variables de entorno antes de ejecutar el comando:

# Required environment variables export DATAFORSEO_USERNAME=your_username export DATAFORSEO_PASSWORD=your_password # Run with npx npx dataforseo-mcp-server

Construyendo y funcionando

Construir el proyecto:

npm run build

Ejecutar el servidor:

npm start

Módulos disponibles

Los siguientes módulos están disponibles para ser habilitados/deshabilitados:

  • SERP : datos SERP en tiempo real para Google, Bing y Yahoo;
  • KEYWORDS_DATA : investigación de palabras clave y datos de flujo de clics;
  • ONPAGE : rastrear sitios web y páginas web para obtener métricas de rendimiento SEO en la página;
  • DATAFORSEO_LABS : datos sobre palabras clave, SERP y dominios basados en las bases de datos y algoritmos de DataForSEO;
  • BACKLINKS : datos sobre enlaces entrantes, dominios de referencia y páginas de referencia para cualquier dominio, subdominio o página web;
  • BUSINESS_DATA : basado en reseñas de empresas e información de empresas compartida públicamente en las siguientes plataformas: Google, Trustpilot, Tripadvisor;
  • DOMAIN_ANALYTICS : ayuda a identificar todas las posibles tecnologías utilizadas para crear sitios web y ofrece datos Whois;

Agregar nuevas herramientas/módulos

Estructura del módulo

Cada módulo corresponde a una API específica de DataForSEO:

Opciones de implementación

Puedes:

  1. Agregar una nueva herramienta a un módulo existente
  2. Crear un módulo completamente nuevo

Agregar una nueva herramienta

A continuación se explica cómo agregar una nueva herramienta a cualquier módulo nuevo o preexistente:

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

Creando un nuevo módulo

  1. Cree un nuevo directorio en src/modules/ para su módulo:
mkdir -p src/modules/your-module-name
  1. Crear archivos de módulo:
// 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. Registre su módulo en 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. Inicialice su módulo en src/index.ts :
if (isModuleEnabled('YOUR_MODULE_NAME', enabledModules)) { modules.push(new YourModuleNameModule(dataForSEOClient)); }

¿Qué puntos finales o API desea que admitamos a continuación?

Buscamos constantemente ampliar las capacidades de este servidor MCP. Si desea que algún punto final o API de DataForSEO sea compatible, por favor:

  1. Consulte la documentación de la API de DataForSEO para ver qué hay disponible
  2. Abra un problema en nuestro repositorio de GitHub con:
    • La API o el punto final que desea ver compatible;
    • Una breve descripción de su caso de uso;
    • Describe cualquier característica específica que te gustaría ver implementada.

¡Sus comentarios nos ayudan a priorizar qué API admitiremos a continuación!

Recursos

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.

Un servidor de protocolo de contexto de modelo que permite a Claude interactuar con las API de DataForSEO, lo que permite el acceso a datos de SEO, incluidos SERP, investigación de palabras clave, métricas en la página y análisis de dominio.

  1. Características
    1. Prerrequisitos
      1. Instalación
        1. Instalación como paquete NPM
          1. Construyendo y funcionando
            1. Módulos disponibles
              1. Agregar nuevas herramientas/módulos
                1. Estructura del módulo
                2. Opciones de implementación
                3. Agregar una nueva herramienta
                4. Creando un nuevo módulo
              2. ¿Qué puntos finales o API desea que admitamos a continuación?
                1. Recursos

                  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