UNPKG

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

130 lines • 4.1 kB
/** * SmartLead MCP Server - Client Management Client * * Client module for client management API endpoints. * Handles all client-related operations including creation, updates, and management. * * @author LeadMagic Team * @version 1.5.0 */ import { BaseSmartLeadClient } from '../../client/base.js'; import type { SuccessResponse } from '../../types.js'; interface CreateClientRequest { name: string; email: string; organization?: string; permissions?: string[]; settings?: Record<string, unknown>; } interface ClientApiKeyRequest { client_id?: number; name?: string; permissions?: string[]; } interface Client { id: number; name: string; email: string; organization?: string; created_at: string; updated_at: string; status: string; } interface TeamDetails { team_id: string; team_name: string; organization: string | null; members_count: number; clients: Client[]; active_campaigns: number; recent_performance: { period: string; stats: { sent: number; opened: number; replied: number; bounced: number; }; }; created_at: string | null; last_updated: string; } interface TeamDetailsResponse extends SuccessResponse { data: TeamDetails; } /** * Client Management Client * * Provides methods for managing SmartLead clients including: * - Creating and updating clients * - Managing client settings and permissions * - Client analytics and reporting * - Client team management */ export declare class ClientManagementClient extends BaseSmartLeadClient { /** * Add Client To System (Whitelabel or not) * POST /client */ addClientToSystem(params: CreateClientRequest): Promise<SuccessResponse>; /** * Create a new client (alias for addClientToSystem) */ createClient(params: CreateClientRequest): Promise<SuccessResponse>; /** * Fetch all clients * GET /client */ getAllClients(): Promise<Client[]>; /** * Create New Client API Key * POST /client/api-key */ createClientApiKey(params: ClientApiKeyRequest): Promise<SuccessResponse>; /** * Get Clients API Keys * GET /client/api-key */ getClientApiKeys(): Promise<SuccessResponse>; /** * Delete Client API Key * DELETE /client/api-key/{api_key_id} */ deleteClientApiKey(apiKeyId: number): Promise<SuccessResponse>; /** * Reset Client API Key * PUT /client/api-key/{api_key_id}/reset */ resetClientApiKey(apiKeyId: number): Promise<SuccessResponse>; /** * Get team details - Aggregates team information from various sources * This is a wrapper method that provides simplified team information * without requiring date ranges like the analytics endpoints * * @param {string} [teamId] - Optional team ID to filter results (defaults to 'default') * @returns {Promise<TeamDetailsResponse>} Team details including members, campaigns, and performance metrics * @throws {Error} If team details cannot be retrieved or if provided teamId is invalid * * @example * // Get default team details * const teamDetails = await client.getTeamDetails(); * console.log(`Team: ${teamDetails.data.team_name} with ${teamDetails.data.members_count} members`); * * @example * // Get specific team details * const teamDetails = await client.getTeamDetails('team_123'); * console.log(`Active campaigns: ${teamDetails.data.active_campaigns}`); * * @description * This method aggregates data from multiple endpoints: * - Client list for team member information * - Team board analytics for performance metrics * - Campaign list for active campaign count * * Returns a unified response with fallback values if any endpoint fails, * ensuring the method remains robust and reliable. */ getTeamDetails(teamId?: string): Promise<TeamDetailsResponse>; } export {}; //# sourceMappingURL=client.d.ts.map