Skip to main content
Glama
cnYui

File Manager MCP Server

by cnYui
server.cpython-311.pyc7.71 kB
� �u�h���|�dZddlZddlZddlmZmZddlmZmZddl m Z ddl Z ddl m Z ddlmZmZddlmZdd lmZmZmZmZmZmZdd lmZmZejej� ��eje��Z ed ��Z!ed ddddd�dddd�d�dgd����edddddd�dddd�d �dgd����ed!d"ddd#d�dd$d%d�dddd�d&�dgd����ed'd(ddd)d�dd*dd�d+�dgd����ed,d-ddd.d�dd/d�dd0d1d�d2�d3d4gd����ed5d6dd7d8did9d:�dd;d�dd<dd�d=�d>d?gd����gZ"e!�#��d@e$efdA���Z%e!�&��dBe'dCe(e'efdzd@e$efdD���Z)dE�Z*edFkrej+e*����dSdS)Gu{文件管理器MCP服务器主程序 这个模块实现了一个MCP服务器,提供基本的文件系统操作工具。 �N)�Any�Sequence)�NotificationOptions�Server)�InitializationOptions)� stdio_server)�Tool� TextContent�)�list_directory� read_file� create_file� delete_file� search_files� copy_files)�validate_tool_arguments�ValidationError)�level�file-manager-mcpr u6列出指定目录的内容,包括文件和子目录�object�stringu要列出内容的目录路径)�type� description�booleanu1是否显示隐藏文件(以.开头的文件)F)rr�default��path� show_hiddenr)r� properties�required)�namer� inputSchemar u读取指定文件的内容u要读取的文件路径u文件编码格式zutf-8�r�encodingru创建新文件并写入内容u要创建的文件路径u 文件内容��r�contentr$ru删除指定的文件或目录u!要删除的文件或目录路径u$是否递归删除目录及其内容�r� recursiveru在指定目录中搜索文件u搜索的根目录路径u!搜索模式(支持通配符)u是否递归搜索子目录T�� directory�patternr)r+r,ru<将一个或多个文件复制到指定的目标文件夹中�arrayru!要复制的源文件路径列表)r�itemsru目标文件夹路径u是否覆盖已存在的文件�� source_paths�destination_folder� overwriter0r1�returnc��K�tS)u返回可用工具列表)�TOOLS���O/Users/wujianxiang/dev/mcpDevelop/desktopFileManager/file_manager_mcp/server.py�handle_list_toolsr9�s ���� �Lr7r!� argumentsc���K�|�i} t||��}|dkr$t|d|d����d{V��}n�|dkr$t|d|d����d{V��}n�|d kr+t|d|d |d� ���d{V��}n�|d kr$t |d|d ����d{V��}nt|dkr+t |d|d|d ����d{V��}nC|dkr+t |d|d|d����d{V��}ntd|�����td|���gS#t$rL}t� d|�d|����tddt|�������gcYd}~Sd}~wt$rL}t� d|�d|����tddt|�������gcYd}~Sd}~wwxYw) u处理工具调用请求Nr rrrr r$r#rr'r&rr)r(rr+r,r*rr0r1r2r/u未知的工具: �text)rr<u参数验证失败 z: u参数错误: u工具调用失败 u错误: )rr r rrrrrr �logger�warning�str� Exception�error)r!r:�validated_args�result�es r8�handle_call_toolrE�sA������� �0D�0��y�A�A�� �#� #� #�)�#�F�+�*�=�9����������F�F��[� � �$�#�F�+�'� �3����������F�F��]� "� "�&�#�F�+�&�y�1�'� �3����������F�F� �]� "� "�&�#�F�+�(��5����������F�F��^� #� #�'�(��5�&�y�1�(��5����������F�F� �\� !� !�%�+�N�;�#1�2F�#G�(��5����������F�F� "�"<�d�"<�"<�=�=� =���f�5�5�5�6�6�� �J�J�J����8�T�8�8�Q�8�8�9�9�9���.G�s�1�v�v�.G�.G�H�H�H�I�I�I�I�I�I�I����� �D�D�D�� � �6�4�6�6�1�6�6�7�7�7���.A��Q���.A�.A�B�B�B�C�C�C�C�C�C�C�����D���s2�EE � G7�AF�G7� G7�+AG2�,G7�2G7c ��fK�t�d��t��4�d{V��\}}t�||t ddt�t��i���������d{V��ddd���d{V��dS#1�d{V��swxYwYdS)u主函数 - 启动MCP服务器u$启动文件管理器MCP服务器...Nrz1.0.0)�notification_options�experimental_capabilities)� server_name�server_version� capabilities)r=�infor�server�runr�get_capabilitiesr)� read_stream� write_streams r8�mainrR�sY���� �K�K�6�7�7�7��~�~�  �  �  �  �  �  �  �!<�+�|��j�j� � � !�.�&�#�4�4�)<�)>�)>�.0�5��� � � �  �  � � � � � � � �  �  �  �  �  �  �  �  �  �  �  �  �  �  �  �  �  �  �  �  �  �  �  �  ����  �  �  �  �  �  s�AB � B*�-B*�__main__),�__doc__�asyncio�logging�typingrr� mcp.serverrr�mcp.server.modelsr�mcp.server.stdio�mcpr� mcp.typesr r �types�toolsr r rrrr� validatorsrr� basicConfig�INFO� getLogger�__name__r=rMr5� list_tools�listr9� call_toolr?�dictrErRrNr6r7r8�<module>rhs����� �������� � � � � � � � �2�2�2�2�2�2�2�2�3�3�3�3�3�3�����)�)�)�)�)�)�'�'�'�'�'�'�'�'�����������������������A�@�@�@�@�@�@�@����'�,�'�'�'�'� �� �8� $� $�� ��"� #� #�� �D� �L��%�#C��� &�#V�$� � � � � �� � ����& �D� �1��%�#=��� %�#7�&��� � � �� � ����& �D� �4��%�#=��� %�#1�!��� %�#7�&�����  ��% � ����0 �D� �4��%�#F��� &�#I�$��� � � �� � ����& �D� �4��%�#=��� %�#F��� &�#@�#�����%�i�0�# � ����. �D� �R��$����$G� !�!�%�#:�'�'� &�#C�$�����$(�)=�>�) � ����SC ��L�������d�������� �����5D��5D��c�3�h��$�1F�5D�4�P[�K\�5D�5D�5D���5D�p � � �& �z����G�K�����������r7

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/cnYui/mcpDevelop'

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