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.

73 lines 4.17 kB
import { BaseModule } from '../base.module.js'; import { backlinksPrompts } from './backlinks.prompt.js'; import { BacklinksAnchorTool } from './tools/backlinks-anchor.tool.js'; import { BacklinksTool } from './tools/backlinks-backlinks.tool.js'; import { BacklinksBulkBacklinksTool } from './tools/backlinks-bulk-backlinks.tool.js'; import { BacklinksBulkNewLostBacklinksTool } from './tools/backlinks-bulk-new-lost-backlinks.tool.js'; import { BacklinksBulkNewLostReferringDomainsTool } from './tools/backlinks-bulk-new-lost-referring-domains.tool.js'; import { BacklinksBulkPagesSummaryTool } from './tools/backlinks-bulk-pages-summary.js'; import { BacklinksBulkRanksTool } from './tools/backlinks-bulk-ranks.tool.js'; import { BacklinksBulkReferringDomainsTool } from './tools/backlinks-bulk-referring-domains.tool.js'; import { BacklinksBulkSpamScoreTool } from './tools/backlinks-bulk-spam-score.tool.js'; import { BacklinksCompetitorsTool } from './tools/backlinks-competitors.tool.js'; import { BacklinksDomainIntersectionTool } from './tools/backlinks-domain-intersection.tool.js'; import { BacklinksDomainPagesSummaryTool } from './tools/backlinks-domain-pages-summary.tool.js'; import { BacklinksDomainPagesTool } from './tools/backlinks-domain-pages.tool.js'; import { BacklinksFiltersTool } from './tools/backlinks-filters.tool.js'; import { BacklinksPageIntersectionTool } from './tools/backlinks-page-intersection.tool.js'; import { BacklinksReferringDomainsTool } from './tools/backlinks-referring-domains.tool.js'; import { BacklinksReferringNetworksTool } from './tools/backlinks-referring-networks.tool.js'; import { BacklinksSummaryTool } from './tools/backlinks-summary.tool.js'; import { BacklinksTimeseriesNewLostSummaryTool } from './tools/backlinks-timeseries-new-lost-summary.tool.js'; import { BacklinksTimeseriesSummaryTool } from './tools/backlinks-timeseries-summary.tool.js'; export class BacklinksApiModule extends BaseModule { constructor(client) { super(client); } getTools() { const tools = [ new BacklinksTool(this.dataForSEOClient), new BacklinksAnchorTool(this.dataForSEOClient), new BacklinksBulkBacklinksTool(this.dataForSEOClient), new BacklinksBulkNewLostReferringDomainsTool(this.dataForSEOClient), new BacklinksBulkNewLostBacklinksTool(this.dataForSEOClient), new BacklinksBulkRanksTool(this.dataForSEOClient), new BacklinksBulkReferringDomainsTool(this.dataForSEOClient), new BacklinksBulkSpamScoreTool(this.dataForSEOClient), new BacklinksCompetitorsTool(this.dataForSEOClient), new BacklinksDomainIntersectionTool(this.dataForSEOClient), new BacklinksDomainPagesSummaryTool(this.dataForSEOClient), new BacklinksDomainPagesTool(this.dataForSEOClient), new BacklinksPageIntersectionTool(this.dataForSEOClient), new BacklinksReferringDomainsTool(this.dataForSEOClient), new BacklinksReferringNetworksTool(this.dataForSEOClient), new BacklinksSummaryTool(this.dataForSEOClient), new BacklinksTimeseriesNewLostSummaryTool(this.dataForSEOClient), new BacklinksTimeseriesSummaryTool(this.dataForSEOClient), new BacklinksBulkPagesSummaryTool(this.dataForSEOClient), new BacklinksFiltersTool(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 backlinksPrompts.reduce((acc, prompt) => ({ ...acc, [prompt.name]: { description: prompt.description, params: prompt.params, handler: (params) => { return prompt.handler(params); }, }, }), {}); } } //# sourceMappingURL=backlinks-api.module.js.map