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 2.17 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); }, }, }), {}); } } //# sourceMappingURL=serp-api.module.js.map