mmt-mcp 1.42.2-pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/README.md +22 -0
  2. package/dist/examples/README.md +19 -0
  3. package/dist/examples/ai/golden_smoke/README.md +8 -0
  4. package/dist/examples/ai/golden_smoke/apis/echo.mmt +12 -0
  5. package/dist/examples/ai/golden_smoke/tests/echo-smoke.mmt +18 -0
  6. package/dist/examples/basic/01_simple_api/README.md +38 -0
  7. package/dist/examples/basic/01_simple_api/get_json.mmt +6 -0
  8. package/dist/examples/basic/01_simple_api/post_echo_json_body.mmt +13 -0
  9. package/dist/examples/basic/01_simple_api/post_echo_yaml_body.mmt +11 -0
  10. package/dist/examples/basic/02_simple_test/README.md +35 -0
  11. package/dist/examples/basic/02_simple_test/echo_test.mmt +12 -0
  12. package/dist/examples/basic/03_environment_variables/README.md +40 -0
  13. package/dist/examples/basic/03_environment_variables/get_json.mmt +6 -0
  14. package/dist/examples/basic/03_environment_variables/multimeter.mmt +3 -0
  15. package/dist/examples/basic/04_basic_suite/README.md +33 -0
  16. package/dist/examples/basic/04_basic_suite/suite.mmt +6 -0
  17. package/dist/examples/basic/04_basic_suite/tests/get_status_test.mmt +9 -0
  18. package/dist/examples/basic/04_basic_suite/tests/post_echo_test.mmt +12 -0
  19. package/dist/examples/basic/05_basic_documentation/README.md +24 -0
  20. package/dist/examples/basic/05_basic_documentation/api/get_user.mmt +12 -0
  21. package/dist/examples/basic/05_basic_documentation/document.mmt +4 -0
  22. package/dist/examples/examples-index.json +1559 -0
  23. package/dist/examples/intermediate/01_api_inputs_outputs/README.md +46 -0
  24. package/dist/examples/intermediate/01_api_inputs_outputs/get_dot_notation.mmt +14 -0
  25. package/dist/examples/intermediate/01_api_inputs_outputs/get_with_outputs.mmt +10 -0
  26. package/dist/examples/intermediate/01_api_inputs_outputs/post_regex_outputs.mmt +24 -0
  27. package/dist/examples/intermediate/01_api_inputs_outputs/post_with_inputs_outputs.mmt +20 -0
  28. package/dist/examples/intermediate/02_websocket/README.md +44 -0
  29. package/dist/examples/intermediate/02_websocket/ws_echo.mmt +11 -0
  30. package/dist/examples/intermediate/02_websocket/ws_json_echo.mmt +16 -0
  31. package/dist/examples/intermediate/03_graphql/README.md +10 -0
  32. package/dist/examples/intermediate/03_graphql/graphql_query.mmt +16 -0
  33. package/dist/examples/intermediate/03_graphql/graphql_variables.mmt +25 -0
  34. package/dist/examples/intermediate/04_grpc/README.md +10 -0
  35. package/dist/examples/intermediate/04_grpc/grpc_server_stream.mmt +15 -0
  36. package/dist/examples/intermediate/04_grpc/grpc_unary.mmt +13 -0
  37. package/dist/examples/intermediate/05_api_documentation/README.md +33 -0
  38. package/dist/examples/intermediate/05_api_documentation/api/get_users.mmt +13 -0
  39. package/dist/examples/intermediate/05_api_documentation/api/post_create_user.mmt +25 -0
  40. package/dist/examples/intermediate/05_api_documentation/api/ws_notifications.mmt +18 -0
  41. package/dist/examples/intermediate/05_api_documentation/document.mmt +17 -0
  42. package/dist/examples/intermediate/05_api_documentation/markdown_api/health_check.mmt +6 -0
  43. package/dist/examples/intermediate/05_api_documentation/markdown_api/overview.md +77 -0
  44. package/dist/examples/intermediate/05_api_documentation/markdown_api/search_products.mmt +15 -0
  45. package/dist/examples/intermediate/05_api_documentation/markdown_api/submit_order.mmt +18 -0
  46. package/dist/examples/intermediate/06_imports/README.md +92 -0
  47. package/dist/examples/intermediate/06_imports/apis/echo_api.mmt +13 -0
  48. package/dist/examples/intermediate/06_imports/apis/greet_api.mmt +13 -0
  49. package/dist/examples/intermediate/06_imports/multimeter.mmt +5 -0
  50. package/dist/examples/intermediate/06_imports/test_relative.mmt +15 -0
  51. package/dist/examples/intermediate/06_imports/test_root_import.mmt +14 -0
  52. package/dist/examples/intermediate/06_imports/tests/test_api.mmt +30 -0
  53. package/dist/examples/intermediate/07_simple_suite/README.md +56 -0
  54. package/dist/examples/intermediate/07_simple_suite/api/echo_api.mmt +12 -0
  55. package/dist/examples/intermediate/07_simple_suite/api/status_api.mmt +8 -0
  56. package/dist/examples/intermediate/07_simple_suite/suite_parallel.mmt +11 -0
  57. package/dist/examples/intermediate/07_simple_suite/suite_sequential.mmt +14 -0
  58. package/dist/examples/intermediate/07_simple_suite/test/echo_test.mmt +16 -0
  59. package/dist/examples/intermediate/07_simple_suite/test/echo_test_fail.mmt +15 -0
  60. package/dist/examples/intermediate/07_simple_suite/test/status_test.mmt +11 -0
  61. package/dist/examples/intermediate/07_simple_suite/test/status_test_fail.mmt +11 -0
  62. package/dist/examples/intermediate/08_chained_api_calls/README.md +58 -0
  63. package/dist/examples/intermediate/08_chained_api_calls/api/get_profile.mmt +15 -0
  64. package/dist/examples/intermediate/08_chained_api_calls/api/login.mmt +17 -0
  65. package/dist/examples/intermediate/08_chained_api_calls/chained_test.mmt +31 -0
  66. package/dist/examples/intermediate/09_csv_data_driven_test/README.md +80 -0
  67. package/dist/examples/intermediate/09_csv_data_driven_test/echo_api.mmt +14 -0
  68. package/dist/examples/intermediate/09_csv_data_driven_test/echo_csv_test.mmt +18 -0
  69. package/dist/examples/intermediate/10_environment_presets/README.md +58 -0
  70. package/dist/examples/intermediate/10_environment_presets/api/echo_env.mmt +14 -0
  71. package/dist/examples/intermediate/10_environment_presets/multimeter.mmt +22 -0
  72. package/dist/examples/intermediate/10_environment_presets/test/preset_test.mmt +14 -0
  73. package/dist/examples/intermediate/11_control_flow/README.md +48 -0
  74. package/dist/examples/intermediate/11_control_flow/api/echo.mmt +13 -0
  75. package/dist/examples/intermediate/11_control_flow/for_loop_test.mmt +15 -0
  76. package/dist/examples/intermediate/11_control_flow/if_else_test.mmt +19 -0
  77. package/dist/examples/intermediate/11_control_flow/repeat_delay_test.mmt +24 -0
  78. package/dist/examples/intermediate/12_random_values/README.md +59 -0
  79. package/dist/examples/intermediate/12_random_values/api/random_echo.mmt +21 -0
  80. package/dist/examples/intermediate/12_random_values/random_values_test.mmt +15 -0
  81. package/dist/examples/intermediate/13_stages_and_conditions/README.md +58 -0
  82. package/dist/examples/intermediate/13_stages_and_conditions/api/get_profile.mmt +13 -0
  83. package/dist/examples/intermediate/13_stages_and_conditions/api/get_settings.mmt +13 -0
  84. package/dist/examples/intermediate/13_stages_and_conditions/api/login.mmt +15 -0
  85. package/dist/examples/intermediate/13_stages_and_conditions/stages_test.mmt +40 -0
  86. package/dist/examples/intermediate/14_javascript_helpers/README.md +59 -0
  87. package/dist/examples/intermediate/14_javascript_helpers/api/echo.mmt +13 -0
  88. package/dist/examples/intermediate/14_javascript_helpers/js_test.mmt +31 -0
  89. package/dist/examples/intermediate/15_http_files/README.md +25 -0
  90. package/dist/examples/intermediate/15_http_files/import_http_in_test.mmt +8 -0
  91. package/dist/examples/intermediate/16_bruno_files/README.md +36 -0
  92. package/dist/examples/intermediate/16_bruno_files/import_bruno_in_test.mmt +18 -0
  93. package/dist/examples/intermediate/16_bruno_files/library/README.md +8 -0
  94. package/dist/examples/intermediate/17_api_authentication/README.md +35 -0
  95. package/dist/examples/intermediate/17_api_authentication/get_with_apikey_auth.mmt +10 -0
  96. package/dist/examples/intermediate/17_api_authentication/get_with_basic_auth.mmt +10 -0
  97. package/dist/examples/intermediate/17_api_authentication/get_with_bearer_auth.mmt +9 -0
  98. package/dist/examples/intermediate/18_simple_mock_server/README.md +92 -0
  99. package/dist/examples/intermediate/18_simple_mock_server/api/create_user.mmt +15 -0
  100. package/dist/examples/intermediate/18_simple_mock_server/api/get_health.mmt +9 -0
  101. package/dist/examples/intermediate/18_simple_mock_server/api/get_user.mmt +12 -0
  102. package/dist/examples/intermediate/18_simple_mock_server/api/search.mmt +11 -0
  103. package/dist/examples/intermediate/18_simple_mock_server/server/mock_server.mmt +46 -0
  104. package/dist/examples/intermediate/18_simple_mock_server/suite.mmt +12 -0
  105. package/dist/examples/intermediate/18_simple_mock_server/test/health_test.mmt +13 -0
  106. package/dist/examples/intermediate/18_simple_mock_server/test/search_test.mmt +15 -0
  107. package/dist/examples/intermediate/18_simple_mock_server/test/user_test.mmt +27 -0
  108. package/dist/examples/intermediate/19_environment_post_echo/README.md +33 -0
  109. package/dist/examples/intermediate/19_environment_post_echo/multimeter.mmt +4 -0
  110. package/dist/examples/intermediate/19_environment_post_echo/post_echo.mmt +12 -0
  111. package/dist/examples/intermediate/20_document_parameters/README.md +25 -0
  112. package/dist/examples/intermediate/20_document_parameters/api/search_users.mmt +28 -0
  113. package/dist/examples/intermediate/20_document_parameters/document.mmt +6 -0
  114. package/dist/examples/intermediate/21_manual_timeout/README.md +22 -0
  115. package/dist/examples/intermediate/21_manual_timeout/manual_timeout.mmt +11 -0
  116. package/dist/examples/intermediate/22_omit_keyword/README.md +45 -0
  117. package/dist/examples/intermediate/22_omit_keyword/omit_keyword.mmt +34 -0
  118. package/dist/examples/intermediate/22_omit_keyword/omit_keyword_test.mmt +19 -0
  119. package/dist/examples/intermediate/23_check_operators/README.md +31 -0
  120. package/dist/examples/intermediate/23_check_operators/api/sample.mmt +27 -0
  121. package/dist/examples/intermediate/23_check_operators/operators_test.mmt +54 -0
  122. package/dist/examples/intermediate/24_test_call_cache/README.md +34 -0
  123. package/dist/examples/intermediate/24_test_call_cache/api/login_echo.mmt +19 -0
  124. package/dist/examples/intermediate/24_test_call_cache/create_session.mmt +28 -0
  125. package/dist/examples/intermediate/24_test_call_cache/use_session_cache.mmt +41 -0
  126. package/dist/examples/intermediate/25_convert_to_mmt/README.md +17 -0
  127. package/dist/examples/intermediate/25_convert_to_mmt/bruno/README.md +5 -0
  128. package/dist/examples/intermediate/25_convert_to_mmt/bruno/converted/api/create-user.mmt +11 -0
  129. package/dist/examples/intermediate/25_convert_to_mmt/bruno/converted/tests/create-user.mmt +11 -0
  130. package/dist/examples/intermediate/25_convert_to_mmt/http/README.md +5 -0
  131. package/dist/examples/intermediate/25_convert_to_mmt/http/converted/api/ping.mmt +9 -0
  132. package/dist/examples/intermediate/25_convert_to_mmt/http/converted/tests/source-http.mmt +11 -0
  133. package/dist/examples/intermediate/25_convert_to_mmt/openapi/README.md +5 -0
  134. package/dist/examples/intermediate/25_convert_to_mmt/openapi/converted/api/get-sample-json.mmt +8 -0
  135. package/dist/examples/intermediate/25_convert_to_mmt/postman/README.md +7 -0
  136. package/dist/examples/intermediate/25_convert_to_mmt/postman/converted/api/ping.mmt +23 -0
  137. package/dist/examples/intermediate/25_convert_to_mmt/postman/converted/suites/collection.mmt +7 -0
  138. package/dist/examples/intermediate/25_convert_to_mmt/postman/converted/tests/collection.mmt +17 -0
  139. package/dist/examples/intermediate/25_convert_to_mmt/wsdl/README.md +5 -0
  140. package/dist/examples/intermediate/25_convert_to_mmt/wsdl/converted/api/ping.mmt +21 -0
  141. package/dist/examples/intermediate/26_yaml_expect_typing/README.md +21 -0
  142. package/dist/examples/intermediate/26_yaml_expect_typing/typing_test.mmt +29 -0
  143. package/dist/examples/intermediate/27_ai_judge/README.md +31 -0
  144. package/dist/examples/intermediate/27_ai_judge/judge_demo.mmt +33 -0
  145. package/dist/examples/intermediate/27_ai_judge/judges/gemini.mmt +12 -0
  146. package/dist/examples/intermediate/27_ai_judge/judges/ollama.mmt +8 -0
  147. package/dist/examples/professional/01_report_generation/README.md +87 -0
  148. package/dist/examples/professional/01_report_generation/api/echo.mmt +13 -0
  149. package/dist/examples/professional/01_report_generation/suite.mmt +12 -0
  150. package/dist/examples/professional/01_report_generation/test/fail_test.mmt +11 -0
  151. package/dist/examples/professional/01_report_generation/test/pass_test.mmt +17 -0
  152. package/dist/examples/professional/02_tls_certificates/README.md +113 -0
  153. package/dist/examples/professional/02_tls_certificates/api/secure_echo.mmt +13 -0
  154. package/dist/examples/professional/02_tls_certificates/env.mmt +17 -0
  155. package/dist/examples/professional/02_tls_certificates/tls_test.mmt +12 -0
  156. package/dist/examples/professional/03_load_test/README.md +39 -0
  157. package/dist/examples/professional/03_load_test/echo_api.mmt +12 -0
  158. package/dist/examples/professional/03_load_test/echo_test.mmt +14 -0
  159. package/dist/examples/professional/03_load_test/loadtest.mmt +15 -0
  160. package/dist/examples/professional/04_convert_to_mmt/README.md +30 -0
  161. package/dist/examples/professional/04_convert_to_mmt/bruno/README.md +8 -0
  162. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/basic-auth-check.mmt +9 -0
  163. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/bearer-auth-check.mmt +12 -0
  164. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/cache-headers.mmt +9 -0
  165. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/delayed-response.mmt +9 -0
  166. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/echo-anything-alias.mmt +11 -0
  167. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/echo-delete.mmt +9 -0
  168. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/echo-get-with-query.mmt +10 -0
  169. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/echo-post-body.mmt +13 -0
  170. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/echo-put-body.mmt +14 -0
  171. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/get-sample-html.mmt +9 -0
  172. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/get-sample-json.mmt +9 -0
  173. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/get-sample-xml.mmt +9 -0
  174. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/method-match-get.mmt +9 -0
  175. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/random-bytes.mmt +9 -0
  176. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/redirect-twice.mmt +9 -0
  177. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/return-client-ip.mmt +9 -0
  178. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/return-cookies.mmt +9 -0
  179. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/return-request-headers.mmt +10 -0
  180. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/return-status-200.mmt +9 -0
  181. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/return-status-404.mmt +9 -0
  182. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/service-help.mmt +9 -0
  183. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/api/set-cookie.mmt +9 -0
  184. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/basic-auth-check.mmt +11 -0
  185. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/bearer-auth-check.mmt +11 -0
  186. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/cache-headers.mmt +11 -0
  187. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/delayed-response.mmt +11 -0
  188. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/echo-anything-alias.mmt +11 -0
  189. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/echo-delete.mmt +11 -0
  190. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/echo-get-with-query.mmt +11 -0
  191. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/echo-post-body.mmt +11 -0
  192. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/echo-put-body.mmt +11 -0
  193. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/get-sample-html.mmt +11 -0
  194. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/get-sample-json.mmt +11 -0
  195. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/get-sample-xml.mmt +11 -0
  196. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/method-match-get.mmt +11 -0
  197. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/random-bytes.mmt +11 -0
  198. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/redirect-twice.mmt +11 -0
  199. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/return-client-ip.mmt +11 -0
  200. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/return-cookies.mmt +11 -0
  201. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/return-request-headers.mmt +11 -0
  202. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/return-status-200.mmt +11 -0
  203. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/return-status-404.mmt +11 -0
  204. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/service-help.mmt +11 -0
  205. package/dist/examples/professional/04_convert_to_mmt/bruno/converted/tests/set-cookie.mmt +11 -0
  206. package/dist/examples/professional/04_convert_to_mmt/http/README.md +7 -0
  207. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/basic-auth-check.mmt +10 -0
  208. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/bearer-auth-check.mmt +10 -0
  209. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/cache-headers.mmt +9 -0
  210. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/delayed-response.mmt +9 -0
  211. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/echo-anything-alias.mmt +11 -0
  212. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/echo-delete.mmt +9 -0
  213. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/echo-get-with-query.mmt +10 -0
  214. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/echo-post-body.mmt +13 -0
  215. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/echo-put-body.mmt +14 -0
  216. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/get-sample-html.mmt +9 -0
  217. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/get-sample-json.mmt +9 -0
  218. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/get-sample-xml.mmt +9 -0
  219. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/method-match-get.mmt +9 -0
  220. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/random-bytes.mmt +9 -0
  221. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/redirect-twice.mmt +9 -0
  222. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/return-client-ip.mmt +9 -0
  223. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/return-cookies.mmt +9 -0
  224. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/return-request-headers.mmt +10 -0
  225. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/return-status-200.mmt +9 -0
  226. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/return-status-404.mmt +9 -0
  227. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/service-help.mmt +9 -0
  228. package/dist/examples/professional/04_convert_to_mmt/http/converted/api/set-cookie.mmt +9 -0
  229. package/dist/examples/professional/04_convert_to_mmt/http/converted/tests/source-http.mmt +95 -0
  230. package/dist/examples/professional/04_convert_to_mmt/openapi/README.md +8 -0
  231. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/basic-auth-check.mmt +11 -0
  232. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/bearer-auth-check.mmt +11 -0
  233. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/cache-headers.mmt +7 -0
  234. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/delayed-response.mmt +7 -0
  235. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/echo-anything-alias.mmt +13 -0
  236. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/echo-delete.mmt +7 -0
  237. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/echo-get-with-query.mmt +11 -0
  238. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/echo-post-body.mmt +36 -0
  239. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/echo-put-body.mmt +25 -0
  240. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/get-sample-html.mmt +7 -0
  241. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/get-sample-json.mmt +7 -0
  242. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/get-sample-xml.mmt +7 -0
  243. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/method-match.mmt +7 -0
  244. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/random-bytes.mmt +7 -0
  245. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/redirect-n-times.mmt +7 -0
  246. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/return-client-ip.mmt +7 -0
  247. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/return-cookies.mmt +7 -0
  248. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/return-request-headers.mmt +7 -0
  249. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/return-status-code.mmt +7 -0
  250. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/service-help.mmt +7 -0
  251. package/dist/examples/professional/04_convert_to_mmt/openapi/converted/api/set-cookie.mmt +9 -0
  252. package/dist/examples/professional/04_convert_to_mmt/postman/README.md +8 -0
  253. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/auth/basic-auth-check.mmt +11 -0
  254. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/auth/bearer-auth-check.mmt +10 -0
  255. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/echo/echo-anything-alias.mmt +11 -0
  256. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/echo/echo-delete.mmt +7 -0
  257. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/echo/echo-get-with-query.mmt +8 -0
  258. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/echo/echo-post-body.mmt +13 -0
  259. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/echo/echo-put-body.mmt +14 -0
  260. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/inspect/return-client-ip.mmt +7 -0
  261. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/inspect/return-cookies.mmt +7 -0
  262. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/inspect/return-request-headers.mmt +8 -0
  263. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/inspect/set-cookie.mmt +7 -0
  264. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/samples/get-sample-html.mmt +7 -0
  265. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/samples/get-sample-json.mmt +28 -0
  266. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/samples/get-sample-xml.mmt +7 -0
  267. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/samples/random-bytes.mmt +7 -0
  268. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/samples/service-help.mmt +7 -0
  269. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/status/cache-headers.mmt +7 -0
  270. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/status/delayed-response.mmt +7 -0
  271. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/status/method-match-get.mmt +7 -0
  272. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/status/redirect-twice.mmt +7 -0
  273. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/status/return-status-200.mmt +7 -0
  274. package/dist/examples/professional/04_convert_to_mmt/postman/converted/api/status/return-status-404.mmt +7 -0
  275. package/dist/examples/professional/04_convert_to_mmt/postman/converted/multimeter.mmt +11 -0
  276. package/dist/examples/professional/04_convert_to_mmt/postman/converted/suites/auth.mmt +7 -0
  277. package/dist/examples/professional/04_convert_to_mmt/postman/converted/suites/collection.mmt +15 -0
  278. package/dist/examples/professional/04_convert_to_mmt/postman/converted/suites/echo.mmt +7 -0
  279. package/dist/examples/professional/04_convert_to_mmt/postman/converted/suites/inspect.mmt +7 -0
  280. package/dist/examples/professional/04_convert_to_mmt/postman/converted/suites/samples.mmt +7 -0
  281. package/dist/examples/professional/04_convert_to_mmt/postman/converted/suites/status.mmt +7 -0
  282. package/dist/examples/professional/04_convert_to_mmt/postman/converted/tests/auth.mmt +15 -0
  283. package/dist/examples/professional/04_convert_to_mmt/postman/converted/tests/echo.mmt +27 -0
  284. package/dist/examples/professional/04_convert_to_mmt/postman/converted/tests/inspect.mmt +23 -0
  285. package/dist/examples/professional/04_convert_to_mmt/postman/converted/tests/samples.mmt +29 -0
  286. package/dist/examples/professional/04_convert_to_mmt/postman/converted/tests/status.mmt +31 -0
  287. package/dist/examples/professional/04_convert_to_mmt/wsdl/README.md +8 -0
  288. package/dist/examples/professional/04_convert_to_mmt/wsdl/converted/api/echomessage.mmt +23 -0
  289. package/dist/examples/professional/04_convert_to_mmt/wsdl/converted/api/getsamplexml.mmt +21 -0
  290. package/dist/examples/professional/04_convert_to_mmt/wsdl/converted/api/probestatus.mmt +21 -0
  291. package/dist/examples/professional/05_tls_mock_server/README.md +19 -0
  292. package/dist/examples/professional/05_tls_mock_server/api/secure_health.mmt +11 -0
  293. package/dist/examples/professional/05_tls_mock_server/multimeter.mmt +3 -0
  294. package/dist/examples/professional/05_tls_mock_server/server/mock_server.mmt +23 -0
  295. package/dist/examples/professional/05_tls_mock_server/test/secure_health_test.mmt +15 -0
  296. package/dist/examples/professional/06_mtls_mock_server/README.md +23 -0
  297. package/dist/examples/professional/06_mtls_mock_server/api/secure_health.mmt +11 -0
  298. package/dist/examples/professional/06_mtls_mock_server/multimeter.mmt +12 -0
  299. package/dist/examples/professional/06_mtls_mock_server/server/mock_server.mmt +24 -0
  300. package/dist/examples/professional/06_mtls_mock_server/test/secure_health_test.mmt +15 -0
  301. package/dist/examples/professional/07_mock_server_timeout/README.md +26 -0
  302. package/dist/examples/professional/07_mock_server_timeout/api/slow_request.mmt +10 -0
  303. package/dist/examples/professional/07_mock_server_timeout/server/mock_server.mmt +19 -0
  304. package/dist/examples/professional/07_mock_server_timeout/suite.mmt +7 -0
  305. package/dist/examples/professional/07_mock_server_timeout/test/slow_timeout_test.mmt +15 -0
  306. package/dist/examples/professional/08_external_mtls_badssl/README.md +52 -0
  307. package/dist/examples/professional/08_external_mtls_badssl/api/badssl_client.mmt +6 -0
  308. package/dist/examples/professional/08_external_mtls_badssl/badssl_mtls_test.mmt +10 -0
  309. package/dist/examples/professional/08_external_mtls_badssl/multimeter.mmt +13 -0
  310. package/dist/examples/professional/09_ci_pipelines/README.md +92 -0
  311. package/dist/examples/professional/09_ci_pipelines/smoke_get.mmt +9 -0
  312. package/dist/examples/professional/09_ci_pipelines/smoke_post.mmt +12 -0
  313. package/dist/examples/professional/09_ci_pipelines/suite.mmt +9 -0
  314. package/dist/examples/professional/10_vault_http_setenv/README.md +60 -0
  315. package/dist/examples/professional/10_vault_http_setenv/api/bearer_with_env_token.mmt +16 -0
  316. package/dist/examples/professional/10_vault_http_setenv/api/vault_kv_read.mmt +22 -0
  317. package/dist/examples/professional/10_vault_http_setenv/env.mmt +21 -0
  318. package/dist/examples/professional/10_vault_http_setenv/server/vault_kv_mock.mmt +45 -0
  319. package/dist/examples/professional/10_vault_http_setenv/vault_to_api_test.mmt +22 -0
  320. package/dist/guides/agent-workflow.md +75 -0
  321. package/dist/guides/general.md +64 -0
  322. package/dist/guides/generate-api.md +221 -0
  323. package/dist/guides/generate-doc.md +103 -0
  324. package/dist/guides/generate-env.md +147 -0
  325. package/dist/guides/generate-loadtest.md +55 -0
  326. package/dist/guides/generate-suite.md +167 -0
  327. package/dist/guides/generate-test-skill.md +60 -0
  328. package/dist/guides/generate-test.md +335 -0
  329. package/dist/guides/generate.md +60 -0
  330. package/dist/guides/golden-smoke.md +52 -0
  331. package/dist/guides/min/api.md +29 -0
  332. package/dist/guides/min/constraints.md +9 -0
  333. package/dist/guides/min/doc.md +17 -0
  334. package/dist/guides/min/env.md +26 -0
  335. package/dist/guides/min/loadtest.md +17 -0
  336. package/dist/guides/min/overview.md +25 -0
  337. package/dist/guides/min/suite.md +18 -0
  338. package/dist/guides/min/test.md +42 -0
  339. package/dist/guides/min/workflow.md +16 -0
  340. package/dist/guides/offline-agent.md +46 -0
  341. package/dist/server.cjs +27500 -0
  342. package/dist/server.js +27500 -0
  343. package/package.json +58 -0
package/README.md ADDED
@@ -0,0 +1,22 @@
1
+ # mmt-mcp
2
+
3
+ MCP server for [Multimeter](https://mmt.dev): Git-native API testing in VS Code.
4
+
5
+ Multimeter is an AI-powered REST Client and API testing tool. It is not an electrical multimeter. Tests are YAML `.mmt` files. This server lets Cursor, GitHub Copilot, and Claude **scaffold, validate, format, and run** those files. The model writes YAML. Do not invent `.mmt` syntax.
6
+
7
+ ```json
8
+ {
9
+ "mcpServers": {
10
+ "multimeter": {
11
+ "command": "npx",
12
+ "args": ["-y", "mmt-mcp"]
13
+ }
14
+ }
15
+ }
16
+ ```
17
+
18
+ First tools: `scaffold_test`, `validate`, `format`, `run`.
19
+
20
+ - Docs: https://mmt.dev/docs/features/mcp
21
+ - Agents: https://mmt.dev/for-agents.html
22
+ - llms.txt: https://mmt.dev/llms.txt
@@ -0,0 +1,19 @@
1
+ # Multimeter Examples
2
+
3
+ The examples are grouped by complexity so new users can start simple and add power only when they need it.
4
+
5
+ ## Basic
6
+
7
+ - `basic/01_simple_api` - run one simple GET API and simple POST APIs.
8
+ - `basic/02_simple_test` - write a direct HTTP test without inputs, outputs, imports, or API abstraction.
9
+ - `basic/03_environment_variables` - use a plain environment variable without presets.
10
+ - `basic/04_basic_suite` - run a small suite of simple HTTP tests.
11
+ - `basic/05_basic_documentation` - render simple input/output parameter documentation.
12
+
13
+ ## Intermediate
14
+
15
+ Use these when you are ready for reusable APIs, authentication, mock servers, richer environment variables, inputs and outputs, suites, imports, data-driven tests, environment presets, documentation options/ranges, control flow, comparison operators (`expect` / `check` / `assert`), helper JavaScript, additional protocol or file formats, converting a small OpenAPI / Postman / WSDL / HTTP / Bruno file to `.mmt`, and the `omit` keyword.
16
+
17
+ ## Professional
18
+
19
+ Use these for higher-complexity workflows such as reports, CI pipelines (GitHub, GitLab, Azure), TLS/mTLS certificates, load testing, external mTLS smoke tests, converting a full OpenAPI spec (operations, examples, auth, schemas) into `.mmt` files, and advanced JavaScript helper imports.
@@ -0,0 +1,8 @@
1
+ # Golden smoke (AI)
2
+
3
+ Tiny API + scaffolded test used as the default Multimeter few-shot for agents.
4
+
5
+ - `apis/echo.mmt` — source API
6
+ - `tests/echo-smoke.mmt` — must match `scaffold_test` output
7
+
8
+ See `docs/AI/golden-smoke.md`.
@@ -0,0 +1,12 @@
1
+ type: api
2
+ title: Echo message
3
+ description: Golden smoke API for AI agents — minimal POST with outputs
4
+ inputs:
5
+ message: hello
6
+ outputs:
7
+ echoed: body.message
8
+ url: https://test.mmt.dev/echo
9
+ method: post
10
+ format: json
11
+ body:
12
+ message: i:message
@@ -0,0 +1,18 @@
1
+ type: test
2
+ title: Echo message smoke test
3
+ description: Smoke test for API "Echo message".
4
+ tags:
5
+ - smoke
6
+ - post
7
+ import:
8
+ echo: ../apis/echo.mmt
9
+ inputs:
10
+ message: i:message
11
+ steps:
12
+ - call: echo
13
+ id: iEcho
14
+ inputs:
15
+ message: i:message
16
+ expect:
17
+ status: 200
18
+ echoed: != null
@@ -0,0 +1,38 @@
1
+ # Simple API
2
+
3
+ Basic `type: api` examples using one GET request and simple POST requests against the [test.mmt.dev](https://test.mmt.dev) public test server.
4
+
5
+ ## Files
6
+
7
+ | File | Description |
8
+ |---|---|
9
+ | `get_json.mmt` | Simple GET request that returns a sample JSON payload |
10
+ | `post_echo_yaml_body.mmt` | Simple POST request with a YAML object body, serialized to JSON |
11
+ | `post_echo_json_body.mmt` | Simple POST request with a raw JSON body |
12
+
13
+ ## How to use
14
+
15
+ ### In VS Code
16
+
17
+ 1. Open any `.mmt` file in this folder.
18
+ 2. Click **Run** in the editor to execute the API call.
19
+ 3. View the response in the output panel.
20
+
21
+ ### With the CLI
22
+
23
+ ```sh
24
+ npx testlight run examples/basic/01_simple_api/get_json.mmt
25
+ npx testlight run examples/basic/01_simple_api/post_echo_yaml_body.mmt
26
+ npx testlight run examples/basic/01_simple_api/post_echo_json_body.mmt
27
+ ```
28
+
29
+ ## What these hit
30
+
31
+ All requests go to `https://test.mmt.dev`, a public HTTP test server with endpoints for status codes, delays, echo, auth, and more.
32
+
33
+ ## Next steps
34
+
35
+ - See [Simple Test](../02_simple_test/) for a direct HTTP test.
36
+ - See [Environment Variables](../03_environment_variables/) for using variables without editing API files.
37
+ - See [API Authentication](../../intermediate/17_api_authentication/) for Basic, Bearer, and API key auth examples.
38
+ - See [API docs](../../../docs/files/api/index.md) for the full `.mmt` API reference.
@@ -0,0 +1,6 @@
1
+ type: api
2
+ title: Get sample JSON
3
+ description: Returns a fixed JSON payload from the test server
4
+ url: https://test.mmt.dev/json
5
+ method: get
6
+ format: json
@@ -0,0 +1,13 @@
1
+ type: api
2
+ title: Post echo JSON body
3
+ description: Sends a raw JSON body and gets it echoed back
4
+ url: https://test.mmt.dev/echo
5
+ method: post
6
+ format: json
7
+ headers:
8
+ Content-Type: application/json
9
+ body: |-
10
+ {
11
+ "name": "Multimeter",
12
+ "message": "Hello from JSON!"
13
+ }
@@ -0,0 +1,11 @@
1
+ type: api
2
+ title: Post echo
3
+ description: Sends a JSON body and gets it echoed back
4
+ url: https://test.mmt.dev/echo
5
+ method: post
6
+ format: json
7
+ headers:
8
+ X-Custom: multimeter-example
9
+ body:
10
+ name: Multimeter
11
+ message: Hello from mmt!
@@ -0,0 +1,35 @@
1
+ # Simple Test
2
+
3
+ A minimal `type: test` file that calls HTTP directly and checks the response. It avoids inputs, outputs, imports, and API abstraction so the first test example stays easy to read.
4
+
5
+ ## Files
6
+
7
+ | File | Description |
8
+ |---|---|
9
+ | `echo_test.mmt` | Sends a POST request to the public echo endpoint and verifies the response |
10
+
11
+ ## How to use
12
+
13
+ ### In VS Code
14
+
15
+ 1. Open `echo_test.mmt`.
16
+ 2. Click **Run** to execute the test.
17
+ 3. The Log panel shows whether the check passed or failed.
18
+
19
+ ### With the CLI
20
+
21
+ ```sh
22
+ npx testlight run examples/basic/02_simple_test/echo_test.mmt
23
+ ```
24
+
25
+ ## Key concepts
26
+
27
+ - **`type: test`** declares a runnable test flow.
28
+ - **`http`** calls an endpoint directly from a test step.
29
+ - **`expect`** checks response fields and reports failures.
30
+
31
+ ## Next steps
32
+
33
+ - See [Simple API](../01_simple_api/) for standalone API files.
34
+ - See [API Inputs & Outputs](../../intermediate/01_api_inputs_outputs/) when you are ready for inputs, outputs, and reusable API definitions.
35
+ - See [Test docs](../../../docs/files/test/index.md) for the full test reference.
@@ -0,0 +1,12 @@
1
+ type: test
2
+ title: Simple HTTP test
3
+ description: Calls an HTTP endpoint directly and checks the response
4
+ steps:
5
+ - http: https://test.mmt.dev/echo
6
+ title: Send an echo request
7
+ method: post
8
+ body:
9
+ message: hello world
10
+ expect:
11
+ status: 200
12
+ body.body.message: hello world
@@ -0,0 +1,40 @@
1
+ # Environment Variables
2
+
3
+ A simple environment file with one plain variable. There are no presets in this basic example.
4
+
5
+ ## Files
6
+
7
+ | File | Description |
8
+ |---|---|
9
+ | `multimeter.mmt` | Defines the `base_url` variable |
10
+ | `get_json.mmt` | GET request using `<<e:base_url>>/json` |
11
+
12
+ ## How to use
13
+
14
+ ### In VS Code
15
+
16
+ 1. Open the Environment panel and load `multimeter.mmt`.
17
+ 2. Open `get_json.mmt`.
18
+ 3. Click **Run**.
19
+
20
+ ### With the CLI
21
+
22
+ ```sh
23
+ npx testlight run examples/basic/03_environment_variables/get_json.mmt \
24
+ --env-file examples/basic/03_environment_variables/multimeter.mmt
25
+ ```
26
+
27
+ Override the variable directly:
28
+
29
+ ```sh
30
+ npx testlight run examples/basic/03_environment_variables/get_json.mmt \
31
+ -e base_url=https://test.mmt.dev
32
+ ```
33
+
34
+ ## Key concepts
35
+
36
+ - **`<<e:var>>`** embeds an environment variable inside a string.
37
+ - POST requests with env headers are covered later in [Environment POST Echo](../../intermediate/19_environment_post_echo/).
38
+ - Presets are covered later in [Environment Presets](../../intermediate/10_environment_presets/).
39
+
40
+ See [Environment docs](../../../docs/files/env/index.md) for full details.
@@ -0,0 +1,6 @@
1
+ type: api
2
+ title: Get sample JSON
3
+ description: Fetch a sample JSON payload using an environment-based URL
4
+ url: <<e:base_url>>/json
5
+ method: get
6
+ format: json
@@ -0,0 +1,3 @@
1
+ type: env
2
+ variables:
3
+ base_url: https://test.mmt.dev
@@ -0,0 +1,33 @@
1
+ # Basic Suite
2
+
3
+ A minimal `type: suite` example that runs two simple HTTP tests together.
4
+
5
+ ## Files
6
+
7
+ | File | Description |
8
+ |---|---|
9
+ | `suite.mmt` | Lists the tests to run |
10
+ | `tests/get_status_test.mmt` | Simple GET test |
11
+ | `tests/post_echo_test.mmt` | Simple POST test |
12
+
13
+ ## How to use
14
+
15
+ ### In VS Code
16
+
17
+ 1. Open `suite.mmt`.
18
+ 2. Click **Run** to execute both tests.
19
+ 3. The suite report shows each test result.
20
+
21
+ ### With the CLI
22
+
23
+ ```sh
24
+ npx testlight run examples/basic/04_basic_suite/suite.mmt
25
+ ```
26
+
27
+ ## Key concepts
28
+
29
+ - **`type: suite`** groups test files.
30
+ - **`items`** lists the files to run (tests, APIs, or other suites).
31
+ - Suites are useful when a workflow grows beyond one test file.
32
+
33
+ See [Suite docs](../../../docs/files/suite/index.md) for the full suite reference.
@@ -0,0 +1,6 @@
1
+ type: suite
2
+ title: Basic Suite
3
+ description: Runs two simple HTTP tests together
4
+ items:
5
+ - tests/get_status_test.mmt
6
+ - tests/post_echo_test.mmt
@@ -0,0 +1,9 @@
1
+ type: test
2
+ title: Basic GET test
3
+ description: Calls a simple endpoint and checks the HTTP status
4
+ steps:
5
+ - http: https://test.mmt.dev/json
6
+ title: Get JSON
7
+ method: get
8
+ expect:
9
+ status: 200
@@ -0,0 +1,12 @@
1
+ type: test
2
+ title: Basic POST test
3
+ description: Sends a simple POST body and checks the echoed response
4
+ steps:
5
+ - http: https://test.mmt.dev/echo
6
+ title: Post echo
7
+ method: post
8
+ body:
9
+ message: hello suite
10
+ expect:
11
+ status: 200
12
+ body.body.message: hello suite
@@ -0,0 +1,24 @@
1
+ # Basic Documentation
2
+
3
+ A minimal `type: doc` example that shows how parameter annotations are rendered. The doc file has no description so the sample focuses only on the API and its parameters.
4
+
5
+ ## Files
6
+
7
+ | File | Description |
8
+ |---|---|
9
+ | `document.mmt` | Renders documentation for the API files in `api/` |
10
+ | `api/get_user.mmt` | API with simple input and output parameter annotations |
11
+
12
+ ## How to use
13
+
14
+ 1. Open `document.mmt` in VS Code with the Multimeter extension.
15
+ 2. The editor renders the documented API.
16
+ 3. Expand the API row to see the input and output parameter descriptions.
17
+
18
+ ## Key concepts
19
+
20
+ - **`type: doc`** scans API files and renders documentation.
21
+ - **`<<i:param>>`** documents an input parameter.
22
+ - **`<<o:param>>`** documents an output parameter.
23
+
24
+ See [Doc docs](../../../docs/files/doc/index.md) for the full reference.
@@ -0,0 +1,12 @@
1
+ type: api
2
+ title: Get user
3
+ description: |-
4
+ <<i:user_id>> User ID to fetch
5
+ <<o:name>> User display name
6
+ inputs:
7
+ user_id: 1
8
+ outputs:
9
+ name: body.name
10
+ url: https://test.mmt.dev/json
11
+ method: get
12
+ format: json
@@ -0,0 +1,4 @@
1
+ type: doc
2
+ title: Basic Parameter Docs
3
+ sources:
4
+ - api