�
P �h � � � d Z ddlZddlZddlZddlmZmZ ddlmZ ddl m
Z
G d� d� � Zd� Ze
d k r ej e� � � � dS dS )
zl
MCP Client for Lead Nurturing System
Provides a simple interface to control the 24/7 lead nurturing server
� N)�Dict�Any)�Client)�stdio_clientc �^ � e Zd ZdZd� Zd� Zddefd�Zd� Zd� Z d � Z
d
� Zdefd�Z
ddefd�ZdS )�LeadNurturingClientz9Client for interacting with the Lead Nurturing MCP Serverc �. � t d� � | _ d S )Nzlead-nurturing-client)r �client)�selfs �
mcp_client.py�__init__zLeadNurturingClient.__init__ s � ��4�5�5����� c � �� K � t � � 4 �d{V ��\ }}| j � ||� � � d{V �� | j cddd� � �d{V �� S # 1 �d{V ��swxY w Y dS )zConnect to the MCP serverN)r r
�connect)r �read�writes r r zLeadNurturingClient.connect s� � � � ��>�>� � � � � � � �]�d�E��+�%�%�d�E�2�2�2�2�2�2�2�2�2��;� � � � � � � � � � � � � � � � � � � � � � � � ���� � � � � � s �+A�
A�"A� �interval_hoursc � �p K � | j � dd|i� � � d{V ��}|j d j S )zStart the nurturing system�start_nurturingr Nr �r
� call_tool�content�text)r r �results r r z#LeadNurturingClient.start_nurturing sX � � � ��{�,�,��
�~�.�
�
�
�
�
�
�
�
�� �~�a� �%�%r c � �l K � | j � di � � � d{V ��}|j d j S )zStop the nurturing system�stop_nurturingNr r �r r s r r z"LeadNurturingClient.stop_nurturing# s@ � � � ��{�,�,�-=�r�B�B�B�B�B�B�B�B���~�a� �%�%r c � �l K � | j � di � � � d{V ��}|j d j S )zRun a single nurturing cycle�run_single_cycleNr r r s r r z$LeadNurturingClient.run_single_cycle( s@ � � � ��{�,�,�-?��D�D�D�D�D�D�D�D���~�a� �%�%r c � �l K � | j � di � � � d{V ��}|j d j S )zGet system status�
get_statusNr r r s r r"