UNPKG

dataforseo-mcp-server

Version:

A Model Context Protocol (MCP) server for the DataForSEO API, enabling modular and extensible integration of DataForSEO endpoints with support for both HTTP and SSE transports.

44 lines (43 loc) 2.13 kB
import { BaseModule } from '../base.module.js'; import { SerpOrganicLiveAdvancedTool } from './tools/serp-organic-live-advanced.tool.js'; import { SerpOrganicLocationsListTool } from './tools/serp-organic-locations-list.tool.js'; import { SerpYoutubeOrganicLiveAdvancedTool } from './tools/serp-youtube-organic-live-advanced.tool.js'; import { SerpYoutubeVideoInfoLiveAdvancedTool } from './tools/serp-youtube-video-info-live-advanced.tool.js'; import { SerpYoutubeVideoCommentsLiveAdvancedTool } from './tools/serp-youtube-video-comments-live-advanced-tool.js'; import { SerpYoutubeVideoSubtitlesLiveAdvancedTool } from './tools/serp-youtube-video-subtitles-live-advanced-tool.js'; import { SerpYoutubeLocationsListTool } from './tools/serp-youtube-locations-list.tool.js'; import { serpPrompts } from './serp.prompt.js'; export class SerpApiModule extends BaseModule { getTools() { const tools = [ new SerpOrganicLiveAdvancedTool(this.dataForSEOClient), new SerpOrganicLocationsListTool(this.dataForSEOClient), new SerpYoutubeLocationsListTool(this.dataForSEOClient), new SerpYoutubeOrganicLiveAdvancedTool(this.dataForSEOClient), new SerpYoutubeVideoInfoLiveAdvancedTool(this.dataForSEOClient), new SerpYoutubeVideoCommentsLiveAdvancedTool(this.dataForSEOClient), new SerpYoutubeVideoSubtitlesLiveAdvancedTool(this.dataForSEOClient), // Add more tools here ]; return tools.reduce((acc, tool) => ({ ...acc, [tool.getName()]: { description: tool.getDescription(), params: tool.getParams(), handler: (params) => tool.handle(params), }, }), {}); } getPrompts() { return serpPrompts.reduce((acc, prompt) => ({ ...acc, [prompt.name]: { description: prompt.description, params: prompt.params, handler: (params) => { return prompt.handler(params); }, }, }), {}); } }