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
JavaScript
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