UNPKG

godaddy-mcp

Version:

Model Context Protocol (MCP) server for GoDaddy

71 lines (70 loc) 2.14 kB
import dotenv from "dotenv"; import envValidaiton from "../utils/envValidation"; dotenv.config(); export const apiURL = process.env.GODADDY_API_BASE_URL || "https://api.godaddy.com"; export const apiKey = process.env.GODADDY_API_KEY; export const secretKey = process.env.GODADDY_API_SECRET; export async function checkADomain(domain, method, checkType, forTransfer) { try { envValidaiton(); const params = new URLSearchParams({ domain, checkType, forTransfer: String(forTransfer), }); const url = `${apiURL}/v1/domains/available?${params.toString()}`; const response = await fetch(url, { method, headers: { 'Accept': 'application/json', 'Authorization': `sso-key ${apiKey}:${secretKey}` } }); if (response.status === 200) { return (await response.json()); } else { return (await response.json()); } } catch (error) { return { "code": "UNABLE_TO_CONNECT", "message": error.message }; } } export async function checkMultipleDomains(domains, checkType) { try { envValidaiton(); const params = new URLSearchParams({ checkType, }); const url = `${apiURL}/v1/domains/available?${params.toString()}`; const headers = { 'Accept': 'application/json', 'Content-Type': 'application/json', 'Authorization': `sso-key ${apiKey}:${secretKey}` }; const response = await fetch(url, { method: 'POST', headers, body: JSON.stringify(domains) }); if (response.status === 200) { return (await response.json()); } else if (response.status === 203) { return (await response.json()); } else { return (await response.json()); } } catch (error) { return { code: "UNABLE_TO_CONNECT", message: error.message }; } }