Skip to main content
Glama
abuttoncc

Wind MCP Server

by abuttoncc
wind_client.cpython-312.pyc5.97 kB
� ��>hv���ddlZddlZddlZddlZddlmZmZmZm Z m Z Gd�d�Z e dk(rge �Z ede j�de j ��� e j#d�Zed e��� e j#d d d ddd��Zee�yy#e$rZed e���YdZ[�7dZ[wwxYw#e$rZede���YdZ[ydZ[wwxYw)�N)�Any�Dict�Tuple�Optional�Unionc�N�eZdZdd�Zdedefd�Zdedee jfd�Z y) � WindClientNc��|xs tjjdd�|_|�||_ytjjdd�} t |�|_y#t $rtd|�d��d|_YywxYw) u初始化Wind客户端 Args: host: Wind服务器主机地址,如果为None则从环境变量WIND_HOST获取,默认为127.0.0.1 port: Wind服务器端口,如果为None则从环境变量WIND_PORT获取,默认为9527 � WIND_HOSTz 127.0.0.1N� WIND_PORT�9527u警告: 无效的端口值 'u',使用默认端口9527i7%)�os�environ�get�host�port�int� ValueError�print)�selfrr�port_strs �0/Users/james/Inspiration/wind_mcp/wind_client.py�__init__zWindClient.__init__s{���D�B�J�J�N�N�;� �D�� � � ��D�I��z�z�~�~�k�6�:�H� !���M�� ��� !��4�X�J�>X�Y�Z� �� � !�s�A&�&B�B�command�returnc �B�tjtjtj�}|jd� |j |j |j f�|||d�}|jtj|��d} |jd�}|sn||z }t|�dkrn�)|r�tj|�}t|t�rd|vrt|d��|j!dd�rPt|t�r@d|vr<|d vr&|d |j#|�f|j%�S||j%�S||j%�Std ��#tj&$r'td |j �d |j �d���tj($r6} td|j �d |j �dt+| �����d} ~ wt$r} | �d} ~ wwxYw#|j%�wxYw)uG调用Wind API Args: command: Wind命令,如'wsd', 'wss'等 *args: 位置参数 **kwargs: 关键字参数 Returns: Wind API返回的结果 Raises: Exception: 当连接失败或请求处理出错时 � )r�args�kwargs�i�error�usedfF�Data)�wsd�wss�wsi�wst� ErrorCodeu未收到响应u连接Wind服务器超时 (�:u"),请确认服务器是否运行u无法连接Wind服务器 (z): N)�socket�AF_INET� SOCK_STREAM� settimeout�connectrr�sendall�pickle�dumps�recv�len�loads� isinstance�dict� Exceptionr� _to_dataframe�close�timeoutr!�str) rrrr�client�request�data�chunk�result�es r�callzWindClient.calls������v�~�~�v�/A�/A�B�����"��1 � �N�N�D�I�I�t�y�y�1� 2�#�� ��G� �N�N�6�<�<��0� 1��D��� � �D�)������ ���u�:��$�� �����d�+���f�d�+��6�0A�#�F�7�O�4�4��:�:�g�u�-�*�V�T�2J�v�Y_�O_��">�>�%�k�2�D�4F�4F�v�4N�N� �L�L�N� &� �L�L�N�� �L�L�N� � 1�2�2���~�~� u��9�$�)�)��A�d�i�i�[�Pr�s�t� t��|�|� ^��9�$�)�)��A�d�i�i�[�PS�TW�XY�TZ�S[�\�]� ]��� ��G�� �� �L�L�N�sD�C5E:� E:�E:�/ E:�:A H �1G6�6 H �H�H � H � H� wind_datac�^�|rd|vry|d}|d}|d}|d}t|�dk(r+t|�dkDrtj|d||��}|St|�dkDr2t|�dk(r$tj|||��j}|Stj|||��}|S) u�将Wind数据转换为DataFrame Args: wind_data: Wind API返回的数据 Returns: 转换后的DataFrame,如果数据无效则返回None r#N�Codes�Fields�Times�r)�index�columns)r3�pd� DataFrame�T)rrCr>�codes�fields�times�dfs rr8zWindClient._to_dataframebs����F�)�3���� ���'�"���8�$���'�"�� �v�;�!� ��E� �Q�����d�1�g�U�E�B�B�� ���[�1�_��U��q�����d�&�%�@�B�B�B� � ����d�&�%�@�B�� r )NN) �__name__� __module__� __qualname__rr;rrBrrrKrLr8�r rr r s:��!�*C�C�C�S�C�J�t������0F�r r �__main__u连接Wind服务器: r)� isconnecteduWind连接状态: u连接失败: r$z 000001.SZr9z 2023-01-01z 2023-01-10T)r"u调用失败: )r*r0�pandasrKr�typingrrrrrr rRr<rrrrB�statusr7rAr@rUr r�<module>r[s��� � �� �4�4�w�w�t �z�� �\�F� � !�&�+�+��a�� � �}� =�>�$����]�+�� �"�6�(�+�,� $����U�K��,� �\`��a�� �f� ��� �$� ��q�c�"�#�#��$�� �$� ��q�c�"�#�#��$�s0�B�5B3�B0� B+�+B0�3C �8 C�C 

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/abuttoncc/wind-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server