godaddy-mcp
Version:
Model Context Protocol (MCP) server for GoDaddy
71 lines (70 loc) • 2.14 kB
JavaScript
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
};
}
}