�
�d�h� � �T � d dl Z d dlZd dlmZmZ d dlmZ d dlmZ d dlm Z d dl
mZ d dlm
Z
d dlmZ ej e� � Z e � � Z e� � Z e
� � Z e� � Z G d � d
� � Z e� � Z ej ddg�
� � ed� � � � � ZdS )� N)�request�jsonify)�app)�require_api_key)�
DexOperations)�LendingOperations)�YieldFarmingOperations)�PortfolioManagerc �N � e Zd ZdZd� Zd� Zd� Zd� Zd� Zd� Z d� Z
d � Zd
� Zd� Z
dS )
� MCPServerz1Model Context Protocol Server for DeFi operationsc �v � | j | j | j | j | j | j | j | j d�| _ d S )N)z defi.swapz defi.lendz defi.farmzdefi.portfoliozdefi.positionszdefi.transaction_statuszdefi.protocolszdefi.chains) �handle_swap�handle_lend�handle_farm�handle_portfolio�handle_positions�handle_transaction_status�handle_protocols�
handle_chains�methods)�selfs �$/home/runner/workspace/mcp_server.py�__init__zMCPServer.__init__ sD � ��)��)��)�"�3�"�3�'+�'E�"�3��-�
�
����� c � � |� d� � }|� di � � }|� d� � }|| j vr dddd�|d�S | j | |� � }d||d �S # t $ r^}t � d
t |� � � �� � dddt |� � d
�|� d� � d�cY d}~S d}~ww xY w)zHandle JSON-RPC 2.0 request�method�params�id�2.0i����zMethod not found��code�message��jsonrpc�errorr )r$ �resultr zMCP request failed: 饀���Internal error)r! r"