Skip to main content
Glama

qudi MCP Integration

by dirkenglund
test_mcp_tools.cpython-313.pyc13.7 kB
� �U�hI0���SrSSKrSSKrSSKrSSKrSSKJrJrJr SSK J r "SS5r Sr \ S:Xa\R"\ "55 gg) z� Comprehensive test script for qudi MCP integration tools Tests all available tools systematically and documents any issues found. �N)�Dict�List�Any)�Pathc �X�\rSrSrSrSrS S\S\\\4S\\\44Sjjr S r S r S r g) � MCPTester�z!Test all MCP tools systematicallyc�b�[[5RS- Ul0Ul/Ulg)Nzsimple_mcp_server.py)r�__file__�parent� server_path�results�issues)�selfs �V/Users/englund/Projects/QPG-MIT/qudi-iqo-modules-QPG/mcp_integration/test_mcp_tools.py�__init__�MCPTester.__init__s(����>�0�0�3I�I����� ��� �N� tool_name� arguments�returnc��8# �Uc0nSSSUUS.S.n[R"S[UR5[RR [RR [RR S9IShv�N n[ R"U5S -nURUR55IShv�N upgU(ax[ R"UR5R55nS U;a1S US ;a(US S S S n S[ R"U 5US.$SU;a SUSUS.$SSU(aUR5S.$SS.$N�N�![an SS[U 53S.sSn A $Sn A ff=f7f)z'Test a single tool with given argumentsNz2.0�z tools/call)�namer)�jsonrpc�id�method�params�python3)�stdin�stdout�stderr� �result�contentr�textT)�successr$� raw_response�errorF)r'r)r(zNo valid response received)r'r)r"zException occurred: )r'r))�asyncio�create_subprocess_exec�strr � subprocess�PIPE�json�dumps� communicate�encode�loads�decode�strip� Exception) rrr�message�process� message_strr!r"�response� result_text�es r� test_tool�MCPTester.test_tools���� � ��I���"�!�&��  ��( �#�:�:��3�t�/�/�0��(�(�-�-��)�)�.�.��)�)�.�.� ��G��*�*�W�-��4�K�#*�#6�#6�{�7I�7I�7K�#L�L�N�F���:�:�f�m�m�o�&;�&;�&=�>���x�'�I��(�9K�,K�"*�8�"4�Y�"?��"B�6�"J�K�#'�"&�*�*�[�"9�(0��� ��(�#(�!)�'�!2�(0���!�5�-3�&�-�-�/�� �:>�� �9�M��2� � �/��A��x�8�� �� �s~�F�A6E2� E.� ?E2� E0� A5E2�?F�E2�F�E2�)F�*E2�-F�.E2�0E2�2 F�<F� F� F�F�Fc��L# �[S5 [S5 SS0S.SS0S.SS S S 0S.S S 0S.SSSSSSS.S.S.SS0S.SSSSS.S.SSSSS.S.SS S!S"S#.S.S$S%S&S'0S.S(S)S*S+S,S-.S./ n[US.5GH�up#US/nUS0nUS1n[S2US3S4U35 [S5U35 [S6U35 URXF5IS7hv�N nUUUUS8.URUS9U3'US:(a�[S;5 S<U;a�US<n[ U[ 5(aS=U;a[S>US=35 S?U;a[S@US?35 SAU;a[SBUSA35 SCU;a3[SDUSC35 UR RUUSCSESF.5 O\[SGU35 OM[SHURSCSI535 UR RUURSCSI5SJSF.5 [R"SK5IS7hv�N GM� g7GNRN 7f)Lz'Test all available tools systematicallyu'🧪 Testing qudi MCP Integration Toolsz2==================================================� station_infozGet station information)r� description�args�instrument_listzList available instruments�instrument_loadzLoad an instrument�instrument_name� test_laser�measurement_list_moduleszList measurement modules�measurement_startzStart a measurement�photoluminescence_scanivi�g�?)�wavelength_start�wavelength_end�integration_time)� module_name� parameters�safety_check_interlockszCheck safety interlocks�safety_validate_parameterzValidate a parameter� laser_powerg@)� parameter�valuez'Test parameter validation (should fail)g.@�safety_set_runlevelzSet runlevel to simulation�simzTesting MCP integration)�runlevel�reason�system_emergency_stopzTest emergency stoprWzTesting emergency procedures�feedback_submitzSubmit test feedback�usage_improvementz=Testing the feedback system during MCP integration validationz Running comprehensive tool tests)� feedback_typer7� user_contextrrrArBr#�2dz . Testing z Description: z Arguments: N)rrArr$�_r'u ✅ SUCCESSr$�statusu 📊 Status: rVu 🔒 Runlevel: r7u 💬 Message: r)u ⚠️ Tool Error: � tool_error)�tool�issue�typeu 📄 Result: u ❌ FAILED: z Unknown error� test_failureg�������?) �print� enumerater=r� isinstance�dictr�append�getr*�sleep) r� test_cases�i� test_caserrArBr$�ress r�test_all_tools�MCPTester.test_all_toolsQs���� �7�8� �h�� '�8�� �*�;�� � *�3�*�L�9� �3�9�� � ,�4�#;�,/�*-�,/�#�� �2�8�� � 4�5�&3�c�B� � 4�H�&3�d�C� � .�;�%*�6O�P� �0�4�!�#A�B� �*�5�%8�^�$F�� �KN � �b&�j�!�4�L�A�!�&�)�I�#�M�2�K��V�$�D� �B�q��f�J�y�k�2� 3� �%�k�]�3� 4� �O�D�6�*� +� �>�>�)�:�:�F�'�*�!� � 0�D�L�L�I�;�a��s�+� ,��i� ���)��v�%� ��*�C�!�#�t�,�,�#�s�?�!�$5�c�(�m�_�"E�F�%��,�!�$7��J��7H�"I�J�$��+�!�$6�s�9�~�6F�"G�H�"�c�>�!�$<�S��\�N�"K�L� �K�K�.�.�(1�),�W��(4�0��� � 1�#��7�8���(����G�_�)M�(N�O�P�� � �"�"�%�#�Z�Z���A�*�$���-�-��$� $� $�g5�;�R %�s%�C H$� H�EH$�H"� H$�"H$c ��^�[S5 [S5 [S5 [UR5n[SURR 555nX- n[S5 [SU35 [SU35 [SU35 [S X!- S -S S 35 S /SS/SS//SQS/S/S.n[S5 UR 5H�upVURR 5V^s/sH!m[ U4SjU55(dMTPM# nn[SU55n [SUR5SU S[U5S35 M� UR(ac[S[UR5S35 [URS5H&up�[S U S!U S"S#U S$S%U S&S'3 5 M( O [S(5 [S)5 US*:Xa"[S+5 [S,5 [S-5 O![S.5 [S/5 [S05 [S15 [S25 URR 5H�up�U S3nU S4S5nU(aS6OS7n[S8US9U35 U(a�S4U S4;a�U S4S4n[U[5(ae[UR 55S:S;Hunn[S<USU35 M [U5S;:�a[S=[U5S;- S>35 M�M�M�U(aM�[S?U S4RS@SA535 M� g:s snf)Bz"Generate comprehensive test reportz= ============================================================u%📋 QUDI MCP INTEGRATION TEST REPORTz<============================================================c3�B# �UHoSS(dMSv� M g7f�r$r'rN���.0�rs r� <genexpr>�,MCPTester.generate_report.<locals>.<genexpr>�s���Z�*?�Q�X�;�y�CY�q�q�*?���� u 📊 TEST SUMMARY:u • Total tests run: u • Successful tests: u • Failed tests: u • Success rate: �dz.1f�%r@rCrDrGrH)rOrPrTrXrY)�station� instrument� measurement�safety�system�feedbacku 🔧 TOOL CATEGORIES:c3�4># �UH nTSU:Hv� M g7f)rNru)rwrarxs �rryrz�s����Eo�in�ae�a� �n�X\�F\�in�s�c3�B# �UHoSS(dMSv� M g7frtrurvs rryrz�s���"W�n��(� �I�@V�1�1�n�r{u • z: �/z workingu ⚠️ ISSUES IDENTIFIED (z):rz z. [raz] rbz (rc�)u8 ✅ NO ISSUES IDENTIFIED - All tools working correctly!u 💡 RECOMMENDATIONS:ru* • All tools are functioning correctlyu' • MCP integration is ready for useu; • Consider testing with real instruments in 'sim' modeu6 • Review failed tests for missing implementationsu. • Check safety parameter validation logicu) • Test error handling for edge casesu 📄 DETAILED TEST RESULTS:z(----------------------------------------rr$r'u✅ PASSu❌ FAILr#z - N�z z ... and z more fieldsz Error: r)�Unknown)re�lenr�sum�values�items�any� capitalizerrfrgrh�listrj)r� total_tests�successful_tests� failed_tests� categories�category�toolsrx�category_tests�category_successrmrb�test_id� test_datarr'r_r$�keyrSs ` r�generate_report�MCPTester.generate_report�sO��� �o�� �5�6� �h���$�,�,�'� ��Z�$�,�,�*=�*=�*?�Z�Z��"�5� � �$�&� �(�� �6�7� �)�*:�);�<�=� �%�l�^�4�5� �%�'7�'C�S�&H��%M�Q�O�P�'�'�,�.?�@�6�8K�L�e�.�/�*�+�  � � �'�)�)�/�/�1�O�H�)-���)<�)<�)>�p�)>�A�#�Eo�in�Eo�Bo�a�)>�N�p�"�"W�n�"W�W� � �G�H�/�/�1�2�"�5E�4F�a��N�H[�G\�\d�e� f� 2� �;�;� �1�#�d�k�k�2B�1C�2�F� G�%�d�k�k�1�5�����A�3�c�%��-���5��>�2B�"�U�6�]�O�ST�U�V�6� �M� O� �'�)� �1� � �>� ?� �;� <� �O� P� �J� K� �B� C� �=� >� �-�/� �h��"&�,�,�"4�"4�"6� �G�!�+�.�I���)�)�4�G�#*�Z� �F� �B�y�k��V�H�-� .��8�y��':�:�"�8�,�X�6���f�d�+�+�&*�6�<�<�>�&:�2�A�&>� ��U���3�%�r�%��1�2�'?��6�{�Q��� �3�v�;�q�=�/��F�G�'�,� �W�� �)�H�"5�"9�"9�'�9�"M�!N�O�P�#7��7qs �?M�!M)rrr )N) �__name__� __module__� __qualname__�__firstlineno__�__doc__rr,rrr=rpr��__static_attributes__rurrrrsH��+�� 9��9��c�3�h��9�SW�X[�]`�X`�Sa�9�vK%�ZGQrrc ��# �[5nUR5IShv�N UR5 [S5n[ US5n[ R "SURUR[UR5[SURR555[SURR555S.S.US S 9 SSS5 [S UR535 gN�!,(df  N-=f![a [S 5 g[an[S U35 SnAgSnAff=f7f)z"Run comprehensive MCP tool testingNzmcp_test_results.json�wz 2024-09-11c3�B# �UHoSS(dMSv� M g7frtrurvs rry�main.<locals>.<genexpr>:s ���+i�7N�!�T\�R]�^g�Rh�A�A�7N�r{c3�B# �UHoSS(aMSv� M g7frtrurvs rryr�;s ���'i�3J�a�T\�R]�^g�Rh���3J�r{)r�r�r�)� timestamprr�summary�)�indentu! 💾 Detailed results saved to: u! 🛑 Testing interrupted by useru% 💥 Testing failed with exception: )rrpr�r�openr/�dumprrr�r�r�re�absolute�KeyboardInterruptr6)�tester� results_file�fr<s r�mainr�(s����[�F�<��#�#�%�%�%���� ��3�4� � �,�� $�� �I�I�)�!�>�>� �-�-�#&�v�~�~�#6�(+�+i�v�~�~�7L�7L�7N�+i�(i�$'�'i�6�>�>�3H�3H�3J�'i�$i�� ��� �%� �2�<�3H�3H�3J�2K�L�M�# &� %� $�� �4� �2�3� �<� �6�q�c�:�;�;��<�sc� E�D�D �+D� BD �$$D�E� D� D�D�E�1E�3 E�<E� E�E�E�__main__)r�r/�sysr-r*�typingrrr�pathlibrrr�r��runrurr�<module>r�sR���  � ���"�"��WQ�WQ�t<�> �z�� �K�K����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/dirkenglund/qudi-mcp-integration'

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