DataForSEO MCP Server

by dataforseo
Apache 2.0
21

Integrations

  • Provides access to Google SERP data through DataForSEO's SERP API, allowing retrieval of real-time search engine results including titles, descriptions, and URLs.

  • Supports server implementation built on Node.js, requiring v14 or higher for handling DataForSEO API requests and responses.

  • Offers a TypeScript-based implementation for creating and extending tools that interact with DataForSEO APIs.

DataForSEO MCP-Server

Model Context Protocol (MCP)-Serverimplementierung für DataForSEO, die es Claude ermöglicht, mit ausgewählten DataForSEO-APIs zu interagieren und SEO-Daten über eine standardisierte Schnittstelle abzurufen.

Merkmale

  • SERP-API: Echtzeitdaten der Suchmaschinen-Ergebnisseite (SERP) für Google, Bing und Yahoo;
  • KEYWORDS_DATA API: Keyword-Recherche und Clickstream-Daten, einschließlich Suchvolumen, Kosten pro Klick und andere Kennzahlen;
  • ONPAGE-API: ermöglicht das Crawlen von Websites und Webseiten gemäß anpassbaren Parametern, um On-Page-SEO-Leistungsmetriken zu erhalten;
  • DATAFORSEO_LABS API: Daten zu Schlüsselwörtern, SERPs und Domänen basierend auf den internen Datenbanken und proprietären Algorithmen von DataForSEO.

Voraussetzungen

  • Node.js (v14 oder höher)
  • DataForSEO-API-Anmeldeinformationen (API-Login und Passwort)

Installation

  1. Klonen Sie das Repository:
git clone https://github.com/dataforseo/mcp-server-typescript cd mcp-server-typescript
  1. Installieren Sie Abhängigkeiten:
npm install
  1. Umgebungsvariablen einrichten:
# 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"

Bauen und Ausführen

Erstellen Sie das Projekt:

npm run build

Führen Sie den Server aus:

node build/index.js

Verfügbare Module

Die folgenden Module können aktiviert/deaktiviert werden:

  • SERP : SERP-Daten in Echtzeit für Google, Bing und Yahoo;
  • KEYWORDS_DATA : Keyword-Recherche und Clickstream-Daten;
  • ONPAGE : Durchsuchen Sie Websites und Webseiten, um On-Page-SEO-Leistungsmetriken zu erhalten.
  • DATAFORSEO_LABS : Daten zu Schlüsselwörtern, SERPs und Domänen basierend auf den Datenbanken und Algorithmen von DataForSEO.

Hinzufügen neuer Tools/Module

Modulstruktur

Jedes Modul entspricht einer bestimmten DataForSEO-API:

Implementierungsoptionen

Sie können entweder:

  1. Hinzufügen eines neuen Tools zu einem vorhandenen Modul
  2. Erstellen Sie ein völlig neues Modul

Hinzufügen eines neuen Tools

So fügen Sie einem neuen oder bereits vorhandenen Modul ein neues Tool hinzu:

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

Erstellen eines neuen Moduls

  1. Erstellen Sie unter src/modules/ ein neues Verzeichnis für Ihr Modul:
mkdir -p src/modules/your-module-name
  1. Moduldateien erstellen:
// 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. Registrieren Sie Ihr Modul in 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. Initialisieren Sie Ihr Modul in src/index.ts :
if (isModuleEnabled('YOUR_MODULE_NAME', enabledModules)) { modules.push(new YourModuleNameModule(dataForSEOClient)); }

Welche Endpunkte/APIs sollen wir als Nächstes unterstützen?

Wir sind stets bestrebt, die Funktionen dieses MCP-Servers zu erweitern. Wenn Sie bestimmte DataForSEO-Endpunkte oder APIs unterstützen möchten, gehen Sie bitte wie folgt vor:

  1. Überprüfen Sie die DataForSEO API-Dokumentation, um zu sehen, was verfügbar ist
  2. Öffnen Sie ein Problem in unserem GitHub-Repository mit:
    • Die API/der Endpunkt, der Ihrer Meinung nach unterstützt werden soll;
    • Eine kurze Beschreibung Ihres Anwendungsfalls;
    • Beschreiben Sie alle spezifischen Funktionen, die Sie gerne implementiert sehen würden.

Ihr Feedback hilft uns dabei, Prioritäten für die als Nächstes zu unterstützenden APIs festzulegen!

Ressourcen

-
security - not tested
A
license - permissive license
-
quality - not tested

Ein Model Context Protocol-Server, der Claude die Interaktion mit DataForSEO-APIs ermöglicht und Zugriff auf SEO-Daten einschließlich SERPs, Keyword-Recherche, On-Page-Metriken und Domänenanalysen gewährt.

  1. Merkmale
    1. Voraussetzungen
      1. Installation
        1. Bauen und Ausführen
          1. Verfügbare Module
            1. Hinzufügen neuer Tools/Module
              1. Modulstruktur
              2. Implementierungsoptionen
              3. Hinzufügen eines neuen Tools
              4. Erstellen eines neuen Moduls
            2. Welche Endpunkte/APIs sollen wir als Nächstes unterstützen?
              1. Ressourcen

                Related MCP Servers

                • -
                  security
                  A
                  license
                  -
                  quality
                  A Model Context Protocol server that enables web search, scraping, crawling, and content extraction through multiple engines including SearXNG, Firecrawl, and Tavily.
                  Last updated -
                  35
                  11
                  TypeScript
                  MIT License
                • -
                  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
                  F
                  license
                  -
                  quality
                  A 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.
                  Last updated -
                  145
                  JavaScript
                • -
                  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

                View all related MCP servers

                ID: mrhdc9pzer