Skip to main content
Glama

MCP Agent Platform

mcp_protocol.cpython-312.pyc6.13 kB
� ���gr���dZddlZddlZddlmZddlmZmZmZmZGd�d�Z Gd�de �Z Gd �d e �Z Gd �d e �Z Gd �de �Z Gd�de �Zy)u MCP协议实现 �N)�datetime)�Dict�Any�Optional�Listc ��eZdZdZ ddedededeeefdeef d�Zd eeeffd �Z d efd �Z e d eeefd dfd ��Z e ded dfd��Z y)� MCPMessageuMCP协议消息基类N� message_type� sender_id� receiver_id�content� message_idc���|xsttj��|_||_||_||_||_tj�j�|_ y�N) �str�uuid�uuid4rr r r r r�now� isoformat� timestamp)�selfr r r r rs �.D:\AIProject\mcpTest\src\utils\mcp_protocol.py�__init__zMCPMessage.__init__ sO�� %�9��D�J�J�L�(9���(���"���&����� �!����1�1�3����returnc��|j|j|j|j|j|j dd�S)u将消息转换为字典zMCP/1.0)rr r r r r�protocol)rr r r r r�rs r�to_dictzMCPMessage.to_dicts?���/�/� �-�-�����+�+��|�|����!� � rc�H�tj|j��S)u将消息转换为JSON字符串)�json�dumpsrrs r�to_jsonzMCPMessage.to_json%s���z�z�$�,�,�.�)�)r�datac �R�||d|d|d|d|jd���S)u从字典创建消息r r r r r�r r r r r)�get)�clsr$s r� from_dictzMCPMessage.from_dict)s<����n�-��;�'��]�+���O��x�x� �-�  � r�json_strc�N�tj|�}|j|�S)u从JSON字符串创建消息)r!�loadsr))r(r*r$s r� from_jsonzMCPMessage.from_json4s!���z�z�(�#���}�}�T�"�"rr)�__name__� __module__� __qualname__�__doc__rrrrrrr#� classmethodr)r-�rrr r s����.2� 4�"� 4�� 4�"� 4��s�C�x�.� 4� &�c�]� 4�  ��c�3�h��  �*��*�� �T�#�s�(�^� � � �� ��#��#��#��#rr c �R��eZdZdZd dedededeef�fd� Zdeeeffd�Z �xZ S) � TextMessageu 文本消息r r �textrc�2��t�|�d||d|i|��y)Nr6r&��superr)rr r r6r� __class__s �rrzTextMessage.__init__>s(��� �����#��T�N�!� � rrc�`�|j|j|j|jd�S)N�r r r r r<rs rrzTextMessage.to_dictFs,������+�+� �-�-��|�|�  � rr) r.r/r0r1rrrrrr� __classcell__�r:s@rr5r5;sB���� �#� �C� �s� �PX�Y\�P]� � ��c�3�h�� rr5c�L��eZdZdZ d dededededeedeef �fd� Z�xZS) � ImageMessageu 图像消息r r � image_data�format� person_namerc�F��||d�}|�||d<t�|�d||||��y)N)rArBrC�imager&r8) rr r rArBrCrr r:s �rrzImageMessage.__init__Rs>���!+�v�>�� � "�%0�G�M� "� ��� ��#��!� � r)�base64NN�r.r/r0r1rrrr=r>s@rr@r@OsN����im�  �#�  �C�  �S�  ��  �6>�s�m�  �X`�ad�Xe�  �  rr@c �B��eZdZdZ ddededededeef �fd� Z�xZS) � AudioMessageu 音频消息r r � audio_datarBrc�4��t�|�d||||d�|��y)N�audio)rJrBr&r8)rr r rJrBrr:s �rrzAudioMessage.__init__ds)��� ��� ��#�#-��@�!� � r)rFNrGr>s@rrIrIas@����FJ� �#� �C� �S� �� �5=�c�]� � rrIc �L��eZdZdZ ddedededeeefdeef �fd� Z�xZ S) �CommandMessageu 命令消息r r �command�paramsrc�<��t�|�d||||xsid�|��y)NrO)rOrPr&r8)rr r rOrPrr:s �rrzCommandMessage.__init__rs-��� ���"��#� '�6�<�R�@�!� � r�NN� r.r/r0r1rrrrrr=r>s@rrNrNosH����MQ� �#� �C� �#� ��c�3�h�� �<D�S�M� � rrNc �L��eZdZdZ ddedededeeefdeef �fd� Z�xZ S) � StatusMessageu 状态消息r r �status�detailsrc�<��t�|�d||||xsid�|��y)NrV)rVrWr&r8)rr r rVrWrr:s �rrzStatusMessage.__init__�s-��� ���!��#�%�'�-�R�@�!� � rrRrSr>s@rrUrU}sH����NR� �#� �C� �� ��s�C�x�.� �=E�c�]� � rrU)r1r!rr�typingrrrrr r5r@rIrNrUr3rr�<module>rZsb��� � ��,�,�/#�/#�d �*� �( �:� �$  �:�  �  �Z�  �  �J�  r

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/rolenet/McpAgentRobot'

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