smartlead-mcp-by-leadmagic
Version:
💜 The Premier Model Context Protocol Server for SmartLead's Cold Email Automation Platform - Complete API coverage with 116+ tools for campaign management, lead tracking, smart delivery, and analytics. Beautiful purple-gradient installer, zero-config set
159 lines • 6.23 kB
JavaScript
/**
* SmartLead MCP Server - Smart Senders Client
*
* Client module for smart senders API endpoints.
* Handles smart sender management and optimization features.
*
* @author LeadMagic Team
* @version 1.5.0
*/
import { BaseSmartLeadClient } from '../../client/base.js';
/**
* Smart Senders Client
*
* Provides methods for managing SmartLead smart senders including:
* - Smart sender configuration and optimization
* - Sender reputation management
* - Sender rotation and load balancing
* - Performance monitoring and analytics
*/
export class SmartSendersClient extends BaseSmartLeadClient {
// ================================
// SMART SENDERS METHODS
// ================================
/**
* Search Domain
* GET /smart-senders/search-domain
*/
async searchDomain(params) {
const response = await this.withRetry(() => this.apiClient.get('/smart-senders/search-domain', { params }), 'search domain');
return response.data;
}
/**
* Get Vendors
* GET /smart-senders/vendors
*/
async getVendors() {
const response = await this.withRetry(() => this.apiClient.get('/smart-senders/vendors'), 'get vendors');
return response.data;
}
/**
* Auto-generate-mailboxes
* POST /smart-senders/auto-generate-mailboxes
*/
async autoGenerateMailboxes(params) {
const response = await this.withRetry(() => this.apiClient.post('/smart-senders/auto-generate-mailboxes', params), 'auto generate mailboxes');
return response.data;
}
/**
* Place order for mailboxes
* POST /smart-senders/place-order
*/
async placeOrderForMailboxes(params) {
const response = await this.withRetry(() => this.apiClient.post('/smart-senders/place-order', params), 'place order for mailboxes');
return response.data;
}
/**
* Get Domain List
* GET /smart-senders/domains
*/
async getDomainList() {
const response = await this.withRetry(() => this.apiClient.get('/smart-senders/domains'), 'get domain list');
return response.data;
}
/**
* Get sender reputation scores
*/
async getSenderReputationScores(params) {
const response = await this.withRetry(() => this.apiClient.get('/smart-senders/reputation-scores', { params }), 'get sender reputation scores');
return response.data;
}
/**
* Get sender rotation settings
*/
async getSenderRotationSettings(campaignId) {
const response = await this.withRetry(() => this.apiClient.get(`/campaigns/${campaignId}/smart-senders/rotation-settings`), 'get sender rotation settings');
return response.data;
}
/**
* Update sender rotation settings
*/
async updateSenderRotationSettings(campaignId, params) {
const response = await this.withRetry(() => this.apiClient.put(`/campaigns/${campaignId}/smart-senders/rotation-settings`, params), 'update sender rotation settings');
return response.data;
}
/**
* Get sender performance metrics
*/
async getSenderPerformanceMetrics(params) {
const response = await this.withRetry(() => this.apiClient.get('/smart-senders/performance-metrics', { params }), 'get sender performance metrics');
return response.data;
}
/**
* Get sender load balancing status
*/
async getSenderLoadBalancingStatus(campaignId) {
const response = await this.withRetry(() => this.apiClient.get(`/campaigns/${campaignId}/smart-senders/load-balancing-status`), 'get sender load balancing status');
return response.data;
}
/**
* Update sender load balancing settings
*/
async updateSenderLoadBalancingSettings(campaignId, params) {
const response = await this.withRetry(() => this.apiClient.put(`/campaigns/${campaignId}/smart-senders/load-balancing-settings`, params), 'update sender load balancing settings');
return response.data;
}
/**
* Get sender health monitoring
*/
async getSenderHealthMonitoring(params) {
const response = await this.withRetry(() => this.apiClient.get('/smart-senders/health-monitoring', { params }), 'get sender health monitoring');
return response.data;
}
/**
* Get sender optimization recommendations
*/
async getSenderOptimizationRecommendations(campaignId) {
const endpoint = campaignId
? `/campaigns/${campaignId}/smart-senders/optimization-recommendations`
: '/smart-senders/optimization-recommendations';
const response = await this.withRetry(() => this.apiClient.get(endpoint), 'get sender optimization recommendations');
return response.data;
}
/**
* Apply sender optimization recommendations
*/
async applySenderOptimizationRecommendations(campaignId, params) {
const response = await this.withRetry(() => this.apiClient.post(`/campaigns/${campaignId}/smart-senders/apply-optimization`, params), 'apply sender optimization recommendations');
return response.data;
}
/**
* Get sender analytics dashboard
*/
async getSenderAnalyticsDashboard(params) {
const response = await this.withRetry(() => this.apiClient.get('/smart-senders/analytics-dashboard', { params }), 'get sender analytics dashboard');
return response.data;
}
/**
* Reset sender reputation
*/
async resetSenderReputation(senderId) {
const response = await this.withRetry(() => this.apiClient.post(`/smart-senders/${senderId}/reset-reputation`), 'reset sender reputation');
return response.data;
}
/**
* Pause smart sender
*/
async pauseSmartSender(senderId) {
const response = await this.withRetry(() => this.apiClient.post(`/smart-senders/${senderId}/pause`), 'pause smart sender');
return response.data;
}
/**
* Resume smart sender
*/
async resumeSmartSender(senderId) {
const response = await this.withRetry(() => this.apiClient.post(`/smart-senders/${senderId}/resume`), 'resume smart sender');
return response.data;
}
}
//# sourceMappingURL=client.js.map