@kryptosai/mcp-observatory 1.31.0 → 1.32.1

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 (151) hide show
  1. package/PRIVACY.md +16 -0
  2. package/README.md +5 -11
  3. package/README.zh-CN.md +4 -10
  4. package/dist/src/cli.js +4 -2
  5. package/dist/src/cli.js.map +1 -1
  6. package/dist/src/commands/diff.js +24 -2
  7. package/dist/src/commands/diff.js.map +1 -1
  8. package/dist/src/commands/enforce.d.ts +2 -2
  9. package/dist/src/commands/enforce.js +5 -8
  10. package/dist/src/commands/enforce.js.map +1 -1
  11. package/dist/src/commands/scan.js.map +1 -1
  12. package/dist/src/commands/telemetry.js +41 -1
  13. package/dist/src/commands/telemetry.js.map +1 -1
  14. package/dist/src/commands/test.js +2 -2
  15. package/dist/src/commands/test.js.map +1 -1
  16. package/dist/src/diff.d.ts +5 -2
  17. package/dist/src/diff.js +23 -2
  18. package/dist/src/diff.js.map +1 -1
  19. package/dist/src/index.d.ts +1 -0
  20. package/dist/src/index.js +1 -0
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/permission-delta.d.ts +2 -0
  23. package/dist/src/permission-delta.js +99 -0
  24. package/dist/src/permission-delta.js.map +1 -0
  25. package/dist/src/reporters/common.d.ts +1 -0
  26. package/dist/src/reporters/common.js +3 -1
  27. package/dist/src/reporters/common.js.map +1 -1
  28. package/dist/src/reporters/html.js +30 -1
  29. package/dist/src/reporters/html.js.map +1 -1
  30. package/dist/src/reporters/markdown.js +21 -2
  31. package/dist/src/reporters/markdown.js.map +1 -1
  32. package/dist/src/reporters/pr-comment.js +1 -1
  33. package/dist/src/reporters/pr-comment.js.map +1 -1
  34. package/dist/src/reporters/terminal.js +9 -3
  35. package/dist/src/reporters/terminal.js.map +1 -1
  36. package/dist/src/risk-taxonomy.d.ts +16 -0
  37. package/dist/src/risk-taxonomy.js +95 -0
  38. package/dist/src/risk-taxonomy.js.map +1 -0
  39. package/dist/src/schema-diff.d.ts +2 -1
  40. package/dist/src/schema-diff.js +28 -3
  41. package/dist/src/schema-diff.js.map +1 -1
  42. package/dist/src/telemetry.d.ts +17 -0
  43. package/dist/src/telemetry.js +70 -2
  44. package/dist/src/telemetry.js.map +1 -1
  45. package/dist/src/types.d.ts +15 -0
  46. package/dist/src/validate.js +44 -2
  47. package/dist/src/validate.js.map +1 -1
  48. package/docs/mcp-server-safety-index.md +77 -15
  49. package/docs/safety-index/artifacts/antv-chart-server.json +1452 -19
  50. package/docs/safety-index/artifacts/antv-chart-server.md +156 -10
  51. package/docs/safety-index/artifacts/brave-search-server.json +341 -0
  52. package/docs/safety-index/artifacts/brave-search-server.md +201 -0
  53. package/docs/safety-index/artifacts/browsermcp-server.json +83 -18
  54. package/docs/safety-index/artifacts/browsermcp-server.md +46 -12
  55. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.json +592 -21
  56. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.md +96 -14
  57. package/docs/safety-index/artifacts/clay-server.json +66 -0
  58. package/docs/safety-index/artifacts/clay-server.md +106 -0
  59. package/docs/safety-index/artifacts/cloudflare-server.json +66 -0
  60. package/docs/safety-index/artifacts/cloudflare-server.md +106 -0
  61. package/docs/safety-index/artifacts/context7-server.json +85 -18
  62. package/docs/safety-index/artifacts/context7-server.md +52 -11
  63. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +1565 -34
  64. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +178 -17
  65. package/docs/safety-index/artifacts/docker-server.json +395 -0
  66. package/docs/safety-index/artifacts/docker-server.md +204 -0
  67. package/docs/safety-index/artifacts/everything-server.json +145 -18
  68. package/docs/safety-index/artifacts/everything-server.md +56 -11
  69. package/docs/safety-index/artifacts/exa-server.json +400 -0
  70. package/docs/safety-index/artifacts/exa-server.md +207 -0
  71. package/docs/safety-index/artifacts/executeautomation-playwright-server.json +625 -18
  72. package/docs/safety-index/artifacts/executeautomation-playwright-server.md +95 -11
  73. package/docs/safety-index/artifacts/fetch-server.json +66 -0
  74. package/docs/safety-index/artifacts/fetch-server.md +106 -0
  75. package/docs/safety-index/artifacts/figma-server.json +1766 -0
  76. package/docs/safety-index/artifacts/figma-server.md +256 -0
  77. package/docs/safety-index/artifacts/filesystem-mcp-server.json +428 -24
  78. package/docs/safety-index/artifacts/filesystem-mcp-server.md +75 -14
  79. package/docs/safety-index/artifacts/filesystem-server.json +426 -22
  80. package/docs/safety-index/artifacts/filesystem-server.md +73 -12
  81. package/docs/safety-index/artifacts/firecrawl-server.json +4056 -0
  82. package/docs/safety-index/artifacts/firecrawl-server.md +243 -0
  83. package/docs/safety-index/artifacts/github-mcp-server.json +374 -21
  84. package/docs/safety-index/artifacts/github-mcp-server.md +71 -15
  85. package/docs/safety-index/artifacts/gitlab-server.json +229 -0
  86. package/docs/safety-index/artifacts/gitlab-server.md +753 -0
  87. package/docs/safety-index/artifacts/gmail-server.json +66 -0
  88. package/docs/safety-index/artifacts/gmail-server.md +106 -0
  89. package/docs/safety-index/artifacts/google-calendar-server.json +66 -0
  90. package/docs/safety-index/artifacts/google-calendar-server.md +106 -0
  91. package/docs/safety-index/artifacts/google-drive-server.json +66 -0
  92. package/docs/safety-index/artifacts/google-drive-server.md +106 -0
  93. package/docs/safety-index/artifacts/google-sheets-server.json +66 -0
  94. package/docs/safety-index/artifacts/google-sheets-server.md +106 -0
  95. package/docs/safety-index/artifacts/google-tasks-server.json +66 -0
  96. package/docs/safety-index/artifacts/google-tasks-server.md +106 -0
  97. package/docs/safety-index/artifacts/huggingface-server.json +66 -0
  98. package/docs/safety-index/artifacts/huggingface-server.md +106 -0
  99. package/docs/safety-index/artifacts/jina-server.json +66 -0
  100. package/docs/safety-index/artifacts/jina-server.md +106 -0
  101. package/docs/safety-index/artifacts/kubernetes-server.json +1054 -27
  102. package/docs/safety-index/artifacts/kubernetes-server.md +137 -18
  103. package/docs/safety-index/artifacts/linear-server.json +1494 -0
  104. package/docs/safety-index/artifacts/linear-server.md +237 -0
  105. package/docs/safety-index/artifacts/memory-server.json +191 -18
  106. package/docs/safety-index/artifacts/memory-server.md +51 -9
  107. package/docs/safety-index/artifacts/mongodb-server.json +66 -0
  108. package/docs/safety-index/artifacts/mongodb-server.md +106 -0
  109. package/docs/safety-index/artifacts/neon-server.json +66 -0
  110. package/docs/safety-index/artifacts/neon-server.md +103 -0
  111. package/docs/safety-index/artifacts/notion-server.json +7151 -0
  112. package/docs/safety-index/artifacts/notion-server.md +236 -0
  113. package/docs/safety-index/artifacts/onesignal-server.json +66 -0
  114. package/docs/safety-index/artifacts/onesignal-server.md +106 -0
  115. package/docs/safety-index/artifacts/opentofu-server.json +31 -19
  116. package/docs/safety-index/artifacts/opentofu-server.md +28 -10
  117. package/docs/safety-index/artifacts/playwright-mcp-server.json +415 -24
  118. package/docs/safety-index/artifacts/playwright-mcp-server.md +84 -20
  119. package/docs/safety-index/artifacts/postgres-server.json +330 -0
  120. package/docs/safety-index/artifacts/postgres-server.md +208 -0
  121. package/docs/safety-index/artifacts/promptopia-server.json +96 -19
  122. package/docs/safety-index/artifacts/promptopia-server.md +43 -9
  123. package/docs/safety-index/artifacts/puppeteer-server.json +118 -29
  124. package/docs/safety-index/artifacts/puppeteer-server.md +61 -19
  125. package/docs/safety-index/artifacts/qdrant-server.json +66 -0
  126. package/docs/safety-index/artifacts/qdrant-server.md +106 -0
  127. package/docs/safety-index/artifacts/reddit-server.json +66 -0
  128. package/docs/safety-index/artifacts/reddit-server.md +106 -0
  129. package/docs/safety-index/artifacts/ref-tools-server.json +95 -18
  130. package/docs/safety-index/artifacts/ref-tools-server.md +45 -12
  131. package/docs/safety-index/artifacts/sentry-server.json +66 -0
  132. package/docs/safety-index/artifacts/sentry-server.md +106 -0
  133. package/docs/safety-index/artifacts/sequential-thinking-server.json +59 -18
  134. package/docs/safety-index/artifacts/sequential-thinking-server.md +41 -9
  135. package/docs/safety-index/artifacts/slack-server.json +66 -0
  136. package/docs/safety-index/artifacts/slack-server.md +102 -0
  137. package/docs/safety-index/artifacts/sqlite-server.json +67 -0
  138. package/docs/safety-index/artifacts/sqlite-server.md +106 -0
  139. package/docs/safety-index/artifacts/stripe-server.json +66 -0
  140. package/docs/safety-index/artifacts/stripe-server.md +106 -0
  141. package/docs/safety-index/artifacts/supabase-server.json +66 -0
  142. package/docs/safety-index/artifacts/supabase-server.md +102 -0
  143. package/docs/safety-index/artifacts/tavily-search-server.json +66 -0
  144. package/docs/safety-index/artifacts/tavily-search-server.md +106 -0
  145. package/docs/safety-index/artifacts/ui5-mcp-server.json +842 -0
  146. package/docs/safety-index/artifacts/ui5-mcp-server.md +232 -0
  147. package/docs/safety-index/artifacts/vercel-ai-server.json +66 -0
  148. package/docs/safety-index/artifacts/vercel-ai-server.md +106 -0
  149. package/docs/safety-index/targets.json +552 -0
  150. package/package.json +1 -1
  151. package/schemas/run-artifact.schema.json +56 -1
@@ -2,9 +2,9 @@
2
2
  "artifactType": "run",
3
3
  "schemaVersion": "1.0.0",
4
4
  "gate": "fail",
5
- "runId": "run_2026-07-06T194957955Z_4eaf8a90",
6
- "createdAt": "2026-07-06T19:49:57.956Z",
7
- "toolVersion": "0.28.0",
5
+ "runId": "run_2026-07-12T234412960Z_311351e5",
6
+ "createdAt": "2026-07-12T23:44:12.960Z",
7
+ "toolVersion": "1.31.0",
8
8
  "target": {
9
9
  "targetId": "executeautomation-playwright-server",
10
10
  "adapter": "local-process",
@@ -29,10 +29,10 @@
29
29
  "nodeVersion": "v22.22.1"
30
30
  },
31
31
  "summary": {
32
- "total": 8,
32
+ "total": 9,
33
33
  "pass": 3,
34
34
  "fail": 3,
35
- "partial": 1,
35
+ "partial": 2,
36
36
  "unsupported": 1,
37
37
  "flaky": 0,
38
38
  "skipped": 0,
@@ -43,7 +43,7 @@
43
43
  "id": "tools",
44
44
  "capability": "tools",
45
45
  "status": "pass",
46
- "durationMs": 1.1761660000011034,
46
+ "durationMs": 1.2180840000000899,
47
47
  "message": "Advertised capability responded with the minimal expected shape (33 items).",
48
48
  "evidence": [
49
49
  {
@@ -746,7 +746,7 @@
746
746
  "id": "prompts",
747
747
  "capability": "prompts",
748
748
  "status": "unsupported",
749
- "durationMs": 0.0007080000013957033,
749
+ "durationMs": 0.0008329999982379377,
750
750
  "message": "Prompts are not advertised by the target.",
751
751
  "evidence": [
752
752
  {
@@ -762,7 +762,7 @@
762
762
  "id": "resources",
763
763
  "capability": "resources",
764
764
  "status": "pass",
765
- "durationMs": 0.6060830000005808,
765
+ "durationMs": 0.5622910000020056,
766
766
  "message": "Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported.",
767
767
  "evidence": [
768
768
  {
@@ -791,7 +791,7 @@
791
791
  "id": "security-lite",
792
792
  "capability": "security-lite",
793
793
  "status": "fail",
794
- "durationMs": 0.05783300000075542,
794
+ "durationMs": 0.06437500000174623,
795
795
  "message": "Found 1 security finding(s): 1 high, 0 medium, 0 low.",
796
796
  "evidence": [
797
797
  {
@@ -817,11 +817,322 @@
817
817
  }
818
818
  ]
819
819
  },
820
+ {
821
+ "id": "runtime-profile",
822
+ "capability": "runtime-profile",
823
+ "status": "partial",
824
+ "durationMs": 0.22212500000023283,
825
+ "message": "Detected 24 potential egress target(s) and 24 potential state mutation(s) with high confidence.",
826
+ "evidence": [
827
+ {
828
+ "endpoint": "runtime-profile/analyze",
829
+ "advertised": true,
830
+ "responded": true,
831
+ "minimalShapePresent": true,
832
+ "itemCount": 48,
833
+ "diagnostics": [
834
+ "Egress entries: 24",
835
+ "State mutations: 24",
836
+ "Confidence: high"
837
+ ],
838
+ "findings": [
839
+ {
840
+ "target": "url",
841
+ "protocol": "unknown",
842
+ "source": "tool_schema",
843
+ "confidence": "high"
844
+ },
845
+ {
846
+ "target": "URL to navigate to the website specified",
847
+ "protocol": "unknown",
848
+ "source": "description_analysis",
849
+ "confidence": "medium"
850
+ },
851
+ {
852
+ "target": "playwright_navigate",
853
+ "protocol": "unknown",
854
+ "source": "description_analysis",
855
+ "confidence": "low"
856
+ },
857
+ {
858
+ "target": "url",
859
+ "protocol": "unknown",
860
+ "source": "tool_schema",
861
+ "confidence": "high"
862
+ },
863
+ {
864
+ "target": "URL to perform GET operation",
865
+ "protocol": "unknown",
866
+ "source": "description_analysis",
867
+ "confidence": "medium"
868
+ },
869
+ {
870
+ "target": "playwright_get",
871
+ "protocol": "unknown",
872
+ "source": "description_analysis",
873
+ "confidence": "low"
874
+ },
875
+ {
876
+ "target": "url",
877
+ "protocol": "unknown",
878
+ "source": "tool_schema",
879
+ "confidence": "high"
880
+ },
881
+ {
882
+ "target": "URL to perform POST operation",
883
+ "protocol": "unknown",
884
+ "source": "description_analysis",
885
+ "confidence": "medium"
886
+ },
887
+ {
888
+ "target": "playwright_post",
889
+ "protocol": "unknown",
890
+ "source": "description_analysis",
891
+ "confidence": "low"
892
+ },
893
+ {
894
+ "target": "url",
895
+ "protocol": "unknown",
896
+ "source": "tool_schema",
897
+ "confidence": "high"
898
+ },
899
+ {
900
+ "target": "URL to perform PUT operation",
901
+ "protocol": "unknown",
902
+ "source": "description_analysis",
903
+ "confidence": "medium"
904
+ },
905
+ {
906
+ "target": "playwright_put",
907
+ "protocol": "unknown",
908
+ "source": "description_analysis",
909
+ "confidence": "low"
910
+ },
911
+ {
912
+ "target": "url",
913
+ "protocol": "unknown",
914
+ "source": "tool_schema",
915
+ "confidence": "high"
916
+ },
917
+ {
918
+ "target": "URL to perform PATCH operation",
919
+ "protocol": "unknown",
920
+ "source": "description_analysis",
921
+ "confidence": "medium"
922
+ },
923
+ {
924
+ "target": "playwright_patch",
925
+ "protocol": "unknown",
926
+ "source": "description_analysis",
927
+ "confidence": "low"
928
+ },
929
+ {
930
+ "target": "url",
931
+ "protocol": "unknown",
932
+ "source": "tool_schema",
933
+ "confidence": "high"
934
+ },
935
+ {
936
+ "target": "URL to perform DELETE operation",
937
+ "protocol": "unknown",
938
+ "source": "description_analysis",
939
+ "confidence": "medium"
940
+ },
941
+ {
942
+ "target": "playwright_delete",
943
+ "protocol": "unknown",
944
+ "source": "description_analysis",
945
+ "confidence": "low"
946
+ },
947
+ {
948
+ "target": "url",
949
+ "protocol": "unknown",
950
+ "source": "tool_schema",
951
+ "confidence": "high"
952
+ },
953
+ {
954
+ "target": "URL pattern to match in the response.",
955
+ "protocol": "unknown",
956
+ "source": "description_analysis",
957
+ "confidence": "medium"
958
+ },
959
+ {
960
+ "target": "playwright_expect_response",
961
+ "protocol": "unknown",
962
+ "source": "description_analysis",
963
+ "confidence": "low"
964
+ },
965
+ {
966
+ "target": "Identifier of the HTTP response initially expected using `Playwright_expect_response`.",
967
+ "protocol": "unknown",
968
+ "source": "description_analysis",
969
+ "confidence": "medium"
970
+ },
971
+ {
972
+ "target": "Data to expect in the body of the HTTP response. If provided, the assertion will fail if this value is not found in the response body.",
973
+ "protocol": "unknown",
974
+ "source": "description_analysis",
975
+ "confidence": "medium"
976
+ },
977
+ {
978
+ "target": "playwright_assert_response",
979
+ "protocol": "unknown",
980
+ "source": "description_analysis",
981
+ "confidence": "low"
982
+ },
983
+ {
984
+ "resource": "filesystem",
985
+ "operation": "write",
986
+ "scope": "working_directory",
987
+ "source": "description_analysis"
988
+ },
989
+ {
990
+ "resource": "filesystem",
991
+ "operation": "write",
992
+ "scope": "working_directory",
993
+ "source": "description_analysis"
994
+ },
995
+ {
996
+ "resource": "filesystem",
997
+ "operation": "write",
998
+ "scope": "working_directory",
999
+ "source": "description_analysis"
1000
+ },
1001
+ {
1002
+ "resource": "filesystem",
1003
+ "operation": "write",
1004
+ "scope": "working_directory",
1005
+ "source": "description_analysis"
1006
+ },
1007
+ {
1008
+ "resource": "filesystem",
1009
+ "operation": "write",
1010
+ "scope": "working_directory",
1011
+ "source": "tool_schema"
1012
+ },
1013
+ {
1014
+ "resource": "filesystem",
1015
+ "operation": "write",
1016
+ "scope": "working_directory",
1017
+ "source": "description_analysis"
1018
+ },
1019
+ {
1020
+ "resource": "filesystem",
1021
+ "operation": "write",
1022
+ "scope": "working_directory",
1023
+ "source": "description_analysis"
1024
+ },
1025
+ {
1026
+ "resource": "filesystem",
1027
+ "operation": "write",
1028
+ "scope": "working_directory",
1029
+ "source": "description_analysis"
1030
+ },
1031
+ {
1032
+ "resource": "filesystem",
1033
+ "operation": "write",
1034
+ "scope": "working_directory",
1035
+ "source": "description_analysis"
1036
+ },
1037
+ {
1038
+ "resource": "filesystem",
1039
+ "operation": "write",
1040
+ "scope": "working_directory",
1041
+ "source": "description_analysis"
1042
+ },
1043
+ {
1044
+ "resource": "filesystem",
1045
+ "operation": "write",
1046
+ "scope": "working_directory",
1047
+ "source": "description_analysis"
1048
+ },
1049
+ {
1050
+ "resource": "filesystem",
1051
+ "operation": "write",
1052
+ "scope": "working_directory",
1053
+ "source": "description_analysis"
1054
+ },
1055
+ {
1056
+ "resource": "filesystem",
1057
+ "operation": "write",
1058
+ "scope": "working_directory",
1059
+ "source": "description_analysis"
1060
+ },
1061
+ {
1062
+ "resource": "filesystem",
1063
+ "operation": "write",
1064
+ "scope": "working_directory",
1065
+ "source": "description_analysis"
1066
+ },
1067
+ {
1068
+ "resource": "filesystem",
1069
+ "operation": "write",
1070
+ "scope": "working_directory",
1071
+ "source": "description_analysis"
1072
+ },
1073
+ {
1074
+ "resource": "filesystem",
1075
+ "operation": "write",
1076
+ "scope": "working_directory",
1077
+ "source": "description_analysis"
1078
+ },
1079
+ {
1080
+ "resource": "filesystem",
1081
+ "operation": "write",
1082
+ "scope": "working_directory",
1083
+ "source": "description_analysis"
1084
+ },
1085
+ {
1086
+ "resource": "filesystem",
1087
+ "operation": "write",
1088
+ "scope": "working_directory",
1089
+ "source": "description_analysis"
1090
+ },
1091
+ {
1092
+ "resource": "filesystem",
1093
+ "operation": "write",
1094
+ "scope": "working_directory",
1095
+ "source": "description_analysis"
1096
+ },
1097
+ {
1098
+ "resource": "filesystem",
1099
+ "operation": "write",
1100
+ "scope": "working_directory",
1101
+ "source": "tool_schema"
1102
+ },
1103
+ {
1104
+ "resource": "filesystem",
1105
+ "operation": "write",
1106
+ "scope": "working_directory",
1107
+ "source": "description_analysis"
1108
+ },
1109
+ {
1110
+ "resource": "filesystem",
1111
+ "operation": "write",
1112
+ "scope": "working_directory",
1113
+ "source": "description_analysis"
1114
+ },
1115
+ {
1116
+ "resource": "filesystem",
1117
+ "operation": "write",
1118
+ "scope": "working_directory",
1119
+ "source": "description_analysis"
1120
+ },
1121
+ {
1122
+ "resource": "filesystem",
1123
+ "operation": "write",
1124
+ "scope": "working_directory",
1125
+ "source": "description_analysis"
1126
+ }
1127
+ ]
1128
+ }
1129
+ ]
1130
+ },
820
1131
  {
821
1132
  "id": "conformance",
822
1133
  "capability": "conformance",
823
1134
  "status": "pass",
824
- "durationMs": 2.294624999998632,
1135
+ "durationMs": 2.0791669999998703,
825
1136
  "message": "All 7 conformance checks passed.",
826
1137
  "evidence": [
827
1138
  {
@@ -847,7 +1158,7 @@
847
1158
  "id": "schema-quality",
848
1159
  "capability": "schema-quality",
849
1160
  "status": "partial",
850
- "durationMs": 0.6172920000008162,
1161
+ "durationMs": 0.6513749999976426,
851
1162
  "message": "Found 1 quality finding(s) across 34 item(s): 1 warnings, 0 info.",
852
1163
  "evidence": [
853
1164
  {
@@ -877,7 +1188,7 @@
877
1188
  "id": "security",
878
1189
  "capability": "security",
879
1190
  "status": "fail",
880
- "durationMs": 0.2935410000009142,
1191
+ "durationMs": 0.31941699999879347,
881
1192
  "message": "Found 1 security finding(s): 1 high, 0 medium, 0 low.",
882
1193
  "evidence": [
883
1194
  {
@@ -907,7 +1218,7 @@
907
1218
  "id": "attack-sim",
908
1219
  "capability": "attack-sim",
909
1220
  "status": "fail",
910
- "durationMs": 1.4405839999999444,
1221
+ "durationMs": 1.6635419999984151,
911
1222
  "message": "Safe attack simulation found 6 finding(s): 1 high, 5 medium, 0 low.",
912
1223
  "evidence": [
913
1224
  {
@@ -1083,16 +1394,312 @@
1083
1394
  "weight": 0.1,
1084
1395
  "score": 100,
1085
1396
  "details": [
1086
- "Connect: 908ms",
1397
+ "Connect: 1116ms",
1087
1398
  "p95 latency: 1ms (3 operations)"
1088
1399
  ]
1089
1400
  }
1090
1401
  ]
1091
1402
  },
1092
1403
  "performanceMetrics": {
1093
- "connectMs": 907.6346670000003,
1094
- "toolsListMs": 1.1761660000011034,
1095
- "promptsListMs": 0.0007080000013957033,
1096
- "resourcesListMs": 0.6060830000005808
1404
+ "connectMs": 1116.1638749999984,
1405
+ "toolsListMs": 1.2180840000000899,
1406
+ "promptsListMs": 0.0008329999982379377,
1407
+ "resourcesListMs": 0.5622910000020056
1408
+ },
1409
+ "runtimeProfile": {
1410
+ "egress": [
1411
+ {
1412
+ "target": "url",
1413
+ "protocol": "unknown",
1414
+ "source": "tool_schema",
1415
+ "confidence": "high"
1416
+ },
1417
+ {
1418
+ "target": "URL to navigate to the website specified",
1419
+ "protocol": "unknown",
1420
+ "source": "description_analysis",
1421
+ "confidence": "medium"
1422
+ },
1423
+ {
1424
+ "target": "playwright_navigate",
1425
+ "protocol": "unknown",
1426
+ "source": "description_analysis",
1427
+ "confidence": "low"
1428
+ },
1429
+ {
1430
+ "target": "url",
1431
+ "protocol": "unknown",
1432
+ "source": "tool_schema",
1433
+ "confidence": "high"
1434
+ },
1435
+ {
1436
+ "target": "URL to perform GET operation",
1437
+ "protocol": "unknown",
1438
+ "source": "description_analysis",
1439
+ "confidence": "medium"
1440
+ },
1441
+ {
1442
+ "target": "playwright_get",
1443
+ "protocol": "unknown",
1444
+ "source": "description_analysis",
1445
+ "confidence": "low"
1446
+ },
1447
+ {
1448
+ "target": "url",
1449
+ "protocol": "unknown",
1450
+ "source": "tool_schema",
1451
+ "confidence": "high"
1452
+ },
1453
+ {
1454
+ "target": "URL to perform POST operation",
1455
+ "protocol": "unknown",
1456
+ "source": "description_analysis",
1457
+ "confidence": "medium"
1458
+ },
1459
+ {
1460
+ "target": "playwright_post",
1461
+ "protocol": "unknown",
1462
+ "source": "description_analysis",
1463
+ "confidence": "low"
1464
+ },
1465
+ {
1466
+ "target": "url",
1467
+ "protocol": "unknown",
1468
+ "source": "tool_schema",
1469
+ "confidence": "high"
1470
+ },
1471
+ {
1472
+ "target": "URL to perform PUT operation",
1473
+ "protocol": "unknown",
1474
+ "source": "description_analysis",
1475
+ "confidence": "medium"
1476
+ },
1477
+ {
1478
+ "target": "playwright_put",
1479
+ "protocol": "unknown",
1480
+ "source": "description_analysis",
1481
+ "confidence": "low"
1482
+ },
1483
+ {
1484
+ "target": "url",
1485
+ "protocol": "unknown",
1486
+ "source": "tool_schema",
1487
+ "confidence": "high"
1488
+ },
1489
+ {
1490
+ "target": "URL to perform PATCH operation",
1491
+ "protocol": "unknown",
1492
+ "source": "description_analysis",
1493
+ "confidence": "medium"
1494
+ },
1495
+ {
1496
+ "target": "playwright_patch",
1497
+ "protocol": "unknown",
1498
+ "source": "description_analysis",
1499
+ "confidence": "low"
1500
+ },
1501
+ {
1502
+ "target": "url",
1503
+ "protocol": "unknown",
1504
+ "source": "tool_schema",
1505
+ "confidence": "high"
1506
+ },
1507
+ {
1508
+ "target": "URL to perform DELETE operation",
1509
+ "protocol": "unknown",
1510
+ "source": "description_analysis",
1511
+ "confidence": "medium"
1512
+ },
1513
+ {
1514
+ "target": "playwright_delete",
1515
+ "protocol": "unknown",
1516
+ "source": "description_analysis",
1517
+ "confidence": "low"
1518
+ },
1519
+ {
1520
+ "target": "url",
1521
+ "protocol": "unknown",
1522
+ "source": "tool_schema",
1523
+ "confidence": "high"
1524
+ },
1525
+ {
1526
+ "target": "URL pattern to match in the response.",
1527
+ "protocol": "unknown",
1528
+ "source": "description_analysis",
1529
+ "confidence": "medium"
1530
+ },
1531
+ {
1532
+ "target": "playwright_expect_response",
1533
+ "protocol": "unknown",
1534
+ "source": "description_analysis",
1535
+ "confidence": "low"
1536
+ },
1537
+ {
1538
+ "target": "Identifier of the HTTP response initially expected using `Playwright_expect_response`.",
1539
+ "protocol": "unknown",
1540
+ "source": "description_analysis",
1541
+ "confidence": "medium"
1542
+ },
1543
+ {
1544
+ "target": "Data to expect in the body of the HTTP response. If provided, the assertion will fail if this value is not found in the response body.",
1545
+ "protocol": "unknown",
1546
+ "source": "description_analysis",
1547
+ "confidence": "medium"
1548
+ },
1549
+ {
1550
+ "target": "playwright_assert_response",
1551
+ "protocol": "unknown",
1552
+ "source": "description_analysis",
1553
+ "confidence": "low"
1554
+ }
1555
+ ],
1556
+ "stateMutations": [
1557
+ {
1558
+ "resource": "filesystem",
1559
+ "operation": "write",
1560
+ "scope": "working_directory",
1561
+ "source": "description_analysis"
1562
+ },
1563
+ {
1564
+ "resource": "filesystem",
1565
+ "operation": "write",
1566
+ "scope": "working_directory",
1567
+ "source": "description_analysis"
1568
+ },
1569
+ {
1570
+ "resource": "filesystem",
1571
+ "operation": "write",
1572
+ "scope": "working_directory",
1573
+ "source": "description_analysis"
1574
+ },
1575
+ {
1576
+ "resource": "filesystem",
1577
+ "operation": "write",
1578
+ "scope": "working_directory",
1579
+ "source": "description_analysis"
1580
+ },
1581
+ {
1582
+ "resource": "filesystem",
1583
+ "operation": "write",
1584
+ "scope": "working_directory",
1585
+ "source": "tool_schema"
1586
+ },
1587
+ {
1588
+ "resource": "filesystem",
1589
+ "operation": "write",
1590
+ "scope": "working_directory",
1591
+ "source": "description_analysis"
1592
+ },
1593
+ {
1594
+ "resource": "filesystem",
1595
+ "operation": "write",
1596
+ "scope": "working_directory",
1597
+ "source": "description_analysis"
1598
+ },
1599
+ {
1600
+ "resource": "filesystem",
1601
+ "operation": "write",
1602
+ "scope": "working_directory",
1603
+ "source": "description_analysis"
1604
+ },
1605
+ {
1606
+ "resource": "filesystem",
1607
+ "operation": "write",
1608
+ "scope": "working_directory",
1609
+ "source": "description_analysis"
1610
+ },
1611
+ {
1612
+ "resource": "filesystem",
1613
+ "operation": "write",
1614
+ "scope": "working_directory",
1615
+ "source": "description_analysis"
1616
+ },
1617
+ {
1618
+ "resource": "filesystem",
1619
+ "operation": "write",
1620
+ "scope": "working_directory",
1621
+ "source": "description_analysis"
1622
+ },
1623
+ {
1624
+ "resource": "filesystem",
1625
+ "operation": "write",
1626
+ "scope": "working_directory",
1627
+ "source": "description_analysis"
1628
+ },
1629
+ {
1630
+ "resource": "filesystem",
1631
+ "operation": "write",
1632
+ "scope": "working_directory",
1633
+ "source": "description_analysis"
1634
+ },
1635
+ {
1636
+ "resource": "filesystem",
1637
+ "operation": "write",
1638
+ "scope": "working_directory",
1639
+ "source": "description_analysis"
1640
+ },
1641
+ {
1642
+ "resource": "filesystem",
1643
+ "operation": "write",
1644
+ "scope": "working_directory",
1645
+ "source": "description_analysis"
1646
+ },
1647
+ {
1648
+ "resource": "filesystem",
1649
+ "operation": "write",
1650
+ "scope": "working_directory",
1651
+ "source": "description_analysis"
1652
+ },
1653
+ {
1654
+ "resource": "filesystem",
1655
+ "operation": "write",
1656
+ "scope": "working_directory",
1657
+ "source": "description_analysis"
1658
+ },
1659
+ {
1660
+ "resource": "filesystem",
1661
+ "operation": "write",
1662
+ "scope": "working_directory",
1663
+ "source": "description_analysis"
1664
+ },
1665
+ {
1666
+ "resource": "filesystem",
1667
+ "operation": "write",
1668
+ "scope": "working_directory",
1669
+ "source": "description_analysis"
1670
+ },
1671
+ {
1672
+ "resource": "filesystem",
1673
+ "operation": "write",
1674
+ "scope": "working_directory",
1675
+ "source": "tool_schema"
1676
+ },
1677
+ {
1678
+ "resource": "filesystem",
1679
+ "operation": "write",
1680
+ "scope": "working_directory",
1681
+ "source": "description_analysis"
1682
+ },
1683
+ {
1684
+ "resource": "filesystem",
1685
+ "operation": "write",
1686
+ "scope": "working_directory",
1687
+ "source": "description_analysis"
1688
+ },
1689
+ {
1690
+ "resource": "filesystem",
1691
+ "operation": "write",
1692
+ "scope": "working_directory",
1693
+ "source": "description_analysis"
1694
+ },
1695
+ {
1696
+ "resource": "filesystem",
1697
+ "operation": "write",
1698
+ "scope": "working_directory",
1699
+ "source": "description_analysis"
1700
+ }
1701
+ ],
1702
+ "analyzedAt": "2026-07-12T23:44:14.078Z",
1703
+ "confidence": "high"
1097
1704
  }
1098
1705
  }