Skip to main content
Glama
index.ts4.77 kB
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { z } from "zod"; import { DataForSeoClient } from "../client.js"; import { registerTool } from "../tools.js"; import { DataForSeoResponse } from "../types.js"; export function registerDomainAnalyticsTools(server: McpServer, apiClient: DataForSeoClient) { // Technologies Summary registerTool( server, "domain_analytics_technologies_summary", z.object({ technology_name: z.string().optional().describe("Filter results by technology name"), technology_group: z.string().optional().describe("Filter results by technology group"), category: z.string().optional().describe("Filter results by category") }), async (params, client) => { const response = await client.post<DataForSeoResponse<any>>( "/domain_analytics/technologies/summary/live", [params] ); return response; }, apiClient ); // Technologies Technologies registerTool( server, "domain_analytics_technologies_technologies", z.object({ technology_name: z.string().optional().describe("Filter results by technology name"), technology_group: z.string().optional().describe("Filter results by technology group"), category: z.string().optional().describe("Filter results by category") }), async (params, client) => { const response = await client.post<DataForSeoResponse<any>>( "/domain_analytics/technologies/technologies/live", [params] ); return response; }, apiClient ); // Technologies Domains by Technology registerTool( server, "domain_analytics_technologies_domains_by_technology", z.object({ technology_name: z.string().describe("Technology name to search for"), technology_group: z.string().optional().describe("Filter results by technology group"), category: z.string().optional().describe("Filter results by category"), limit: z.number().optional().describe("Maximum number of results to return"), offset: z.number().optional().describe("Offset for pagination") }), async (params, client) => { const response = await client.post<DataForSeoResponse<any>>( "/domain_analytics/technologies/domains_by_technology/live", [params] ); return response; }, apiClient ); // Technologies Domain Technologies registerTool( server, "domain_analytics_technologies_domain_technologies", z.object({ target: z.string().describe("Target domain to analyze"), limit: z.number().optional().describe("Maximum number of results to return"), offset: z.number().optional().describe("Offset for pagination") }), async (params, client) => { const response = await client.post<DataForSeoResponse<any>>( "/domain_analytics/technologies/domain_technologies/live", [params] ); return response; }, apiClient ); // Technologies Technology Stats registerTool( server, "domain_analytics_technologies_technology_stats", z.object({ technology_name: z.string().describe("Technology name to get stats for"), limit: z.number().optional().describe("Maximum number of results to return"), offset: z.number().optional().describe("Offset for pagination") }), async (params, client) => { const response = await client.post<DataForSeoResponse<any>>( "/domain_analytics/technologies/technology_stats/live", [params] ); return response; }, apiClient ); // Technologies Domains by HTML Terms registerTool( server, "domain_analytics_technologies_domains_by_html_terms", z.object({ terms: z.array(z.string()).describe("HTML terms to search for"), intersection_mode: z.enum(["and", "or"]).optional().describe("Intersection mode"), limit: z.number().optional().describe("Maximum number of results to return"), offset: z.number().optional().describe("Offset for pagination") }), async (params, client) => { const response = await client.post<DataForSeoResponse<any>>( "/domain_analytics/technologies/domains_by_html_terms/live", [params] ); return response; }, apiClient ); // Whois Overview registerTool( server, "domain_analytics_whois_overview", z.object({ domain: z.string().describe("Domain to get WHOIS information for") }), async (params, client) => { const response = await client.post<DataForSeoResponse<any>>( "/domain_analytics/whois/overview/live", [params] ); return response; }, apiClient ); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Skobyn/dataforseo-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server