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 서버

DataForSEO를 위한 MCP(Model Context Protocol) 서버 구현으로, Claude가 선택된 DataForSEO API와 상호 작용하고 표준화된 인터페이스를 통해 SEO 데이터를 얻을 수 있습니다.

특징

  • SERP API: Google, Bing, Yahoo의 실시간 검색 엔진 결과 페이지(SERP) 데이터
  • KEYWORDS_DATA API: 검색 볼륨, 클릭당 비용 및 기타 지표를 포함한 키워드 조사 및 클릭스트림 데이터
  • ONPAGE API: 사용자 정의 가능한 매개변수에 따라 웹사이트와 웹페이지를 크롤링하여 온페이지 SEO 성과 지표를 얻을 수 있습니다.
  • DATAFORSEO_LABS API: DataForSEO의 사내 데이터베이스와 독점 알고리즘을 기반으로 한 키워드, SERP, 도메인에 대한 데이터입니다.

필수 조건

  • Node.js(v14 이상)
  • DataForSEO API 자격 증명(API 로그인 및 비밀번호)

설치

  1. 저장소를 복제합니다.

지엑스피1

  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"

건물과 운영

프로젝트를 빌드하세요:

npm run build

서버를 실행합니다:

node build/index.js

사용 가능한 모듈

다음 모듈을 활성화/비활성화할 수 있습니다.

  • SERP : Google, Bing, Yahoo의 실시간 SERP 데이터
  • KEYWORDS_DATA : 키워드 조사 및 클릭스트림 데이터
  • ONPAGE : 웹사이트와 웹페이지를 크롤링하여 온페이지 SEO 성과 지표를 얻습니다.
  • DATAFORSEO_LABS : DataForSEO의 데이터베이스와 알고리즘을 기반으로 한 키워드, SERP, 도메인에 대한 데이터입니다.

새로운 도구/모듈 추가

모듈 구조

각 모듈은 특정 DataForSEO API에 해당합니다.

구현 옵션

다음 중 하나를 선택할 수 있습니다.

  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. DataForSEO API 설명서를 확인하여 사용 가능한 기능을 확인하세요.
  2. 다음을 사용하여 GitHub 저장소에 이슈를 열어보세요.
    • 지원하려는 API/엔드포인트
    • 사용 사례에 대한 간략한 설명
    • 구체적으로 구현하고 싶은 기능이 있는지 설명해 주세요.

귀하의 피드백은 다음에 지원할 API의 우선순위를 정하는 데 도움이 됩니다!

자원

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

Claude가 DataForSEO API와 상호 작용할 수 있도록 하는 모델 컨텍스트 프로토콜 서버로, SERP, 키워드 조사, 온페이지 메트릭, 도메인 분석을 포함한 SEO 데이터에 액세스할 수 있습니다.

  1. 특징
    1. 필수 조건
      1. 설치
        1. 건물과 운영
          1. 사용 가능한 모듈
            1. 새로운 도구/모듈 추가
              1. 모듈 구조
              2. 구현 옵션
              3. 새 도구 추가
              4. 새 모듈 만들기
            2. 다음으로 어떤 엔드포인트/API를 지원하길 원하시나요?
              1. 자원

                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