@kryptosai/mcp-observatory 1.32.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 (117) hide show
  1. package/README.md +4 -10
  2. package/README.zh-CN.md +4 -10
  3. package/dist/src/cli.js +1 -1
  4. package/dist/src/cli.js.map +1 -1
  5. package/dist/src/commands/enforce.d.ts +2 -2
  6. package/dist/src/commands/enforce.js +5 -8
  7. package/dist/src/commands/enforce.js.map +1 -1
  8. package/dist/src/commands/scan.js.map +1 -1
  9. package/dist/src/commands/test.js +2 -2
  10. package/dist/src/commands/test.js.map +1 -1
  11. package/dist/src/telemetry.js +2 -1
  12. package/dist/src/telemetry.js.map +1 -1
  13. package/dist/src/validate.js +5 -6
  14. package/dist/src/validate.js.map +1 -1
  15. package/docs/mcp-server-safety-index.md +68 -8
  16. package/docs/safety-index/artifacts/antv-chart-server.json +1452 -19
  17. package/docs/safety-index/artifacts/antv-chart-server.md +156 -10
  18. package/docs/safety-index/artifacts/brave-search-server.json +341 -0
  19. package/docs/safety-index/artifacts/brave-search-server.md +201 -0
  20. package/docs/safety-index/artifacts/browsermcp-server.json +83 -18
  21. package/docs/safety-index/artifacts/browsermcp-server.md +46 -12
  22. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.json +592 -21
  23. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.md +96 -14
  24. package/docs/safety-index/artifacts/clay-server.json +66 -0
  25. package/docs/safety-index/artifacts/clay-server.md +106 -0
  26. package/docs/safety-index/artifacts/cloudflare-server.json +66 -0
  27. package/docs/safety-index/artifacts/cloudflare-server.md +106 -0
  28. package/docs/safety-index/artifacts/context7-server.json +85 -18
  29. package/docs/safety-index/artifacts/context7-server.md +52 -11
  30. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +1565 -34
  31. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +178 -17
  32. package/docs/safety-index/artifacts/docker-server.json +395 -0
  33. package/docs/safety-index/artifacts/docker-server.md +204 -0
  34. package/docs/safety-index/artifacts/everything-server.json +145 -18
  35. package/docs/safety-index/artifacts/everything-server.md +56 -11
  36. package/docs/safety-index/artifacts/exa-server.json +400 -0
  37. package/docs/safety-index/artifacts/exa-server.md +207 -0
  38. package/docs/safety-index/artifacts/executeautomation-playwright-server.json +625 -18
  39. package/docs/safety-index/artifacts/executeautomation-playwright-server.md +95 -11
  40. package/docs/safety-index/artifacts/fetch-server.json +66 -0
  41. package/docs/safety-index/artifacts/fetch-server.md +106 -0
  42. package/docs/safety-index/artifacts/figma-server.json +1766 -0
  43. package/docs/safety-index/artifacts/figma-server.md +256 -0
  44. package/docs/safety-index/artifacts/filesystem-mcp-server.json +428 -24
  45. package/docs/safety-index/artifacts/filesystem-mcp-server.md +75 -14
  46. package/docs/safety-index/artifacts/filesystem-server.json +426 -22
  47. package/docs/safety-index/artifacts/filesystem-server.md +73 -12
  48. package/docs/safety-index/artifacts/firecrawl-server.json +4056 -0
  49. package/docs/safety-index/artifacts/firecrawl-server.md +243 -0
  50. package/docs/safety-index/artifacts/github-mcp-server.json +374 -21
  51. package/docs/safety-index/artifacts/github-mcp-server.md +71 -15
  52. package/docs/safety-index/artifacts/gitlab-server.json +229 -0
  53. package/docs/safety-index/artifacts/gitlab-server.md +753 -0
  54. package/docs/safety-index/artifacts/gmail-server.json +66 -0
  55. package/docs/safety-index/artifacts/gmail-server.md +106 -0
  56. package/docs/safety-index/artifacts/google-calendar-server.json +66 -0
  57. package/docs/safety-index/artifacts/google-calendar-server.md +106 -0
  58. package/docs/safety-index/artifacts/google-drive-server.json +66 -0
  59. package/docs/safety-index/artifacts/google-drive-server.md +106 -0
  60. package/docs/safety-index/artifacts/google-sheets-server.json +66 -0
  61. package/docs/safety-index/artifacts/google-sheets-server.md +106 -0
  62. package/docs/safety-index/artifacts/google-tasks-server.json +66 -0
  63. package/docs/safety-index/artifacts/google-tasks-server.md +106 -0
  64. package/docs/safety-index/artifacts/huggingface-server.json +66 -0
  65. package/docs/safety-index/artifacts/huggingface-server.md +106 -0
  66. package/docs/safety-index/artifacts/jina-server.json +66 -0
  67. package/docs/safety-index/artifacts/jina-server.md +106 -0
  68. package/docs/safety-index/artifacts/kubernetes-server.json +1054 -27
  69. package/docs/safety-index/artifacts/kubernetes-server.md +137 -18
  70. package/docs/safety-index/artifacts/linear-server.json +1494 -0
  71. package/docs/safety-index/artifacts/linear-server.md +237 -0
  72. package/docs/safety-index/artifacts/memory-server.json +191 -18
  73. package/docs/safety-index/artifacts/memory-server.md +51 -9
  74. package/docs/safety-index/artifacts/mongodb-server.json +66 -0
  75. package/docs/safety-index/artifacts/mongodb-server.md +106 -0
  76. package/docs/safety-index/artifacts/neon-server.json +66 -0
  77. package/docs/safety-index/artifacts/neon-server.md +103 -0
  78. package/docs/safety-index/artifacts/notion-server.json +7151 -0
  79. package/docs/safety-index/artifacts/notion-server.md +236 -0
  80. package/docs/safety-index/artifacts/onesignal-server.json +66 -0
  81. package/docs/safety-index/artifacts/onesignal-server.md +106 -0
  82. package/docs/safety-index/artifacts/opentofu-server.json +31 -19
  83. package/docs/safety-index/artifacts/opentofu-server.md +28 -10
  84. package/docs/safety-index/artifacts/playwright-mcp-server.json +415 -24
  85. package/docs/safety-index/artifacts/playwright-mcp-server.md +84 -20
  86. package/docs/safety-index/artifacts/postgres-server.json +330 -0
  87. package/docs/safety-index/artifacts/postgres-server.md +208 -0
  88. package/docs/safety-index/artifacts/promptopia-server.json +96 -19
  89. package/docs/safety-index/artifacts/promptopia-server.md +43 -9
  90. package/docs/safety-index/artifacts/puppeteer-server.json +118 -29
  91. package/docs/safety-index/artifacts/puppeteer-server.md +61 -19
  92. package/docs/safety-index/artifacts/qdrant-server.json +66 -0
  93. package/docs/safety-index/artifacts/qdrant-server.md +106 -0
  94. package/docs/safety-index/artifacts/reddit-server.json +66 -0
  95. package/docs/safety-index/artifacts/reddit-server.md +106 -0
  96. package/docs/safety-index/artifacts/ref-tools-server.json +95 -18
  97. package/docs/safety-index/artifacts/ref-tools-server.md +45 -12
  98. package/docs/safety-index/artifacts/sentry-server.json +66 -0
  99. package/docs/safety-index/artifacts/sentry-server.md +106 -0
  100. package/docs/safety-index/artifacts/sequential-thinking-server.json +59 -18
  101. package/docs/safety-index/artifacts/sequential-thinking-server.md +41 -9
  102. package/docs/safety-index/artifacts/slack-server.json +66 -0
  103. package/docs/safety-index/artifacts/slack-server.md +102 -0
  104. package/docs/safety-index/artifacts/sqlite-server.json +67 -0
  105. package/docs/safety-index/artifacts/sqlite-server.md +106 -0
  106. package/docs/safety-index/artifacts/stripe-server.json +66 -0
  107. package/docs/safety-index/artifacts/stripe-server.md +106 -0
  108. package/docs/safety-index/artifacts/supabase-server.json +66 -0
  109. package/docs/safety-index/artifacts/supabase-server.md +102 -0
  110. package/docs/safety-index/artifacts/tavily-search-server.json +66 -0
  111. package/docs/safety-index/artifacts/tavily-search-server.md +106 -0
  112. package/docs/safety-index/artifacts/ui5-mcp-server.json +24 -24
  113. package/docs/safety-index/artifacts/ui5-mcp-server.md +13 -13
  114. package/docs/safety-index/artifacts/vercel-ai-server.json +66 -0
  115. package/docs/safety-index/artifacts/vercel-ai-server.md +106 -0
  116. package/docs/safety-index/targets.json +535 -0
  117. package/package.json +1 -1
@@ -2,9 +2,9 @@
2
2
  "artifactType": "run",
3
3
  "schemaVersion": "1.0.0",
4
4
  "gate": "pass",
5
- "runId": "run_2026-07-08T213518919Z_6d8ffd44",
6
- "createdAt": "2026-07-08T21:35:18.919Z",
7
- "toolVersion": "1.28.2",
5
+ "runId": "run_2026-07-12T234404127Z_20ace2e1",
6
+ "createdAt": "2026-07-12T23:44:04.127Z",
7
+ "toolVersion": "1.31.0",
8
8
  "target": {
9
9
  "targetId": "github-mcp-server",
10
10
  "adapter": "local-process",
@@ -25,14 +25,14 @@
25
25
  "serverVersion": "0.6.2"
26
26
  },
27
27
  "environment": {
28
- "platform": "win32 10.0.26200",
29
- "nodeVersion": "v24.15.0"
28
+ "platform": "darwin 25.5.0",
29
+ "nodeVersion": "v22.22.1"
30
30
  },
31
31
  "summary": {
32
- "total": 8,
32
+ "total": 9,
33
33
  "pass": 2,
34
34
  "fail": 0,
35
- "partial": 4,
35
+ "partial": 5,
36
36
  "unsupported": 2,
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": 4.374199999998382,
46
+ "durationMs": 2.782208000000537,
47
47
  "message": "Advertised capability responded with the minimal expected shape (26 items).",
48
48
  "evidence": [
49
49
  {
@@ -1032,7 +1032,7 @@
1032
1032
  "id": "prompts",
1033
1033
  "capability": "prompts",
1034
1034
  "status": "unsupported",
1035
- "durationMs": 0.00480000000243308,
1035
+ "durationMs": 0.002125000000887667,
1036
1036
  "message": "Prompts are not advertised by the target.",
1037
1037
  "evidence": [
1038
1038
  {
@@ -1048,7 +1048,7 @@
1048
1048
  "id": "resources",
1049
1049
  "capability": "resources",
1050
1050
  "status": "unsupported",
1051
- "durationMs": 0.008300000001327135,
1051
+ "durationMs": 0.0020000000004074536,
1052
1052
  "message": "Resources are not advertised by the target.",
1053
1053
  "evidence": [
1054
1054
  {
@@ -1064,7 +1064,7 @@
1064
1064
  "id": "security-lite",
1065
1065
  "capability": "security-lite",
1066
1066
  "status": "partial",
1067
- "durationMs": 0.13130000000091968,
1067
+ "durationMs": 0.06500000000050932,
1068
1068
  "message": "Found 1 security finding(s): 0 high, 1 medium, 0 low.",
1069
1069
  "evidence": [
1070
1070
  {
@@ -1090,11 +1090,196 @@
1090
1090
  }
1091
1091
  ]
1092
1092
  },
1093
+ {
1094
+ "id": "runtime-profile",
1095
+ "capability": "runtime-profile",
1096
+ "status": "partial",
1097
+ "durationMs": 0.3124580000003334,
1098
+ "message": "Detected 0 potential egress target(s) and 27 potential state mutation(s) with high confidence.",
1099
+ "evidence": [
1100
+ {
1101
+ "endpoint": "runtime-profile/analyze",
1102
+ "advertised": true,
1103
+ "responded": true,
1104
+ "minimalShapePresent": true,
1105
+ "itemCount": 27,
1106
+ "diagnostics": [
1107
+ "Egress entries: 0",
1108
+ "State mutations: 27",
1109
+ "Confidence: high"
1110
+ ],
1111
+ "findings": [
1112
+ {
1113
+ "resource": "filesystem",
1114
+ "operation": "write",
1115
+ "scope": "working_directory",
1116
+ "source": "tool_schema"
1117
+ },
1118
+ {
1119
+ "resource": "filesystem",
1120
+ "operation": "write",
1121
+ "scope": "working_directory",
1122
+ "source": "description_analysis"
1123
+ },
1124
+ {
1125
+ "resource": "filesystem",
1126
+ "operation": "write",
1127
+ "scope": "working_directory",
1128
+ "source": "description_analysis"
1129
+ },
1130
+ {
1131
+ "resource": "filesystem",
1132
+ "operation": "write",
1133
+ "scope": "working_directory",
1134
+ "source": "description_analysis"
1135
+ },
1136
+ {
1137
+ "resource": "filesystem",
1138
+ "operation": "write",
1139
+ "scope": "working_directory",
1140
+ "source": "description_analysis"
1141
+ },
1142
+ {
1143
+ "resource": "filesystem",
1144
+ "operation": "write",
1145
+ "scope": "working_directory",
1146
+ "source": "description_analysis"
1147
+ },
1148
+ {
1149
+ "resource": "filesystem",
1150
+ "operation": "write",
1151
+ "scope": "working_directory",
1152
+ "source": "description_analysis"
1153
+ },
1154
+ {
1155
+ "resource": "filesystem",
1156
+ "operation": "write",
1157
+ "scope": "working_directory",
1158
+ "source": "description_analysis"
1159
+ },
1160
+ {
1161
+ "resource": "filesystem",
1162
+ "operation": "write",
1163
+ "scope": "working_directory",
1164
+ "source": "description_analysis"
1165
+ },
1166
+ {
1167
+ "resource": "filesystem",
1168
+ "operation": "write",
1169
+ "scope": "working_directory",
1170
+ "source": "tool_schema"
1171
+ },
1172
+ {
1173
+ "resource": "filesystem",
1174
+ "operation": "write",
1175
+ "scope": "working_directory",
1176
+ "source": "description_analysis"
1177
+ },
1178
+ {
1179
+ "resource": "filesystem",
1180
+ "operation": "write",
1181
+ "scope": "working_directory",
1182
+ "source": "description_analysis"
1183
+ },
1184
+ {
1185
+ "resource": "filesystem",
1186
+ "operation": "write",
1187
+ "scope": "working_directory",
1188
+ "source": "description_analysis"
1189
+ },
1190
+ {
1191
+ "resource": "filesystem",
1192
+ "operation": "write",
1193
+ "scope": "working_directory",
1194
+ "source": "description_analysis"
1195
+ },
1196
+ {
1197
+ "resource": "filesystem",
1198
+ "operation": "write",
1199
+ "scope": "working_directory",
1200
+ "source": "description_analysis"
1201
+ },
1202
+ {
1203
+ "resource": "filesystem",
1204
+ "operation": "write",
1205
+ "scope": "working_directory",
1206
+ "source": "description_analysis"
1207
+ },
1208
+ {
1209
+ "resource": "filesystem",
1210
+ "operation": "write",
1211
+ "scope": "working_directory",
1212
+ "source": "description_analysis"
1213
+ },
1214
+ {
1215
+ "resource": "filesystem",
1216
+ "operation": "write",
1217
+ "scope": "working_directory",
1218
+ "source": "description_analysis"
1219
+ },
1220
+ {
1221
+ "resource": "filesystem",
1222
+ "operation": "write",
1223
+ "scope": "working_directory",
1224
+ "source": "description_analysis"
1225
+ },
1226
+ {
1227
+ "resource": "filesystem",
1228
+ "operation": "write",
1229
+ "scope": "working_directory",
1230
+ "source": "description_analysis"
1231
+ },
1232
+ {
1233
+ "resource": "filesystem",
1234
+ "operation": "write",
1235
+ "scope": "working_directory",
1236
+ "source": "description_analysis"
1237
+ },
1238
+ {
1239
+ "resource": "filesystem",
1240
+ "operation": "write",
1241
+ "scope": "working_directory",
1242
+ "source": "description_analysis"
1243
+ },
1244
+ {
1245
+ "resource": "filesystem",
1246
+ "operation": "write",
1247
+ "scope": "working_directory",
1248
+ "source": "description_analysis"
1249
+ },
1250
+ {
1251
+ "resource": "filesystem",
1252
+ "operation": "write",
1253
+ "scope": "working_directory",
1254
+ "source": "description_analysis"
1255
+ },
1256
+ {
1257
+ "resource": "filesystem",
1258
+ "operation": "write",
1259
+ "scope": "working_directory",
1260
+ "source": "description_analysis"
1261
+ },
1262
+ {
1263
+ "resource": "filesystem",
1264
+ "operation": "write",
1265
+ "scope": "working_directory",
1266
+ "source": "description_analysis"
1267
+ },
1268
+ {
1269
+ "resource": "filesystem",
1270
+ "operation": "write",
1271
+ "scope": "working_directory",
1272
+ "source": "description_analysis"
1273
+ }
1274
+ ]
1275
+ }
1276
+ ]
1277
+ },
1093
1278
  {
1094
1279
  "id": "conformance",
1095
1280
  "capability": "conformance",
1096
1281
  "status": "pass",
1097
- "durationMs": 3.17439999999624,
1282
+ "durationMs": 1.012749999999869,
1098
1283
  "message": "All 7 conformance checks passed.",
1099
1284
  "evidence": [
1100
1285
  {
@@ -1120,7 +1305,7 @@
1120
1305
  "id": "schema-quality",
1121
1306
  "capability": "schema-quality",
1122
1307
  "status": "partial",
1123
- "durationMs": 1.8392000000021653,
1308
+ "durationMs": 0.5399580000012065,
1124
1309
  "message": "Found 51 quality finding(s) across 26 item(s): 0 warnings, 51 info.",
1125
1310
  "evidence": [
1126
1311
  {
@@ -1508,7 +1693,7 @@
1508
1693
  "id": "security",
1509
1694
  "capability": "security",
1510
1695
  "status": "partial",
1511
- "durationMs": 2.661199999995006,
1696
+ "durationMs": 0.7721669999991718,
1512
1697
  "message": "Found 1 security finding(s): 0 high, 1 medium, 0 low.",
1513
1698
  "evidence": [
1514
1699
  {
@@ -1538,7 +1723,7 @@
1538
1723
  "id": "attack-sim",
1539
1724
  "capability": "attack-sim",
1540
1725
  "status": "partial",
1541
- "durationMs": 2.7502000000022235,
1726
+ "durationMs": 1.2275410000002012,
1542
1727
  "message": "Safe attack simulation found 5 finding(s): 0 high, 5 medium, 0 low.",
1543
1728
  "evidence": [
1544
1729
  {
@@ -1692,16 +1877,184 @@
1692
1877
  "weight": 0.1,
1693
1878
  "score": 100,
1694
1879
  "details": [
1695
- "Connect: 3647ms",
1696
- "p95 latency: 4ms (3 operations)"
1880
+ "Connect: 765ms",
1881
+ "p95 latency: 3ms (3 operations)"
1697
1882
  ]
1698
1883
  }
1699
1884
  ]
1700
1885
  },
1701
1886
  "performanceMetrics": {
1702
- "connectMs": 3646.7235,
1703
- "toolsListMs": 4.374199999998382,
1704
- "promptsListMs": 0.00480000000243308,
1705
- "resourcesListMs": 0.008300000001327135
1887
+ "connectMs": 764.8195000000014,
1888
+ "toolsListMs": 2.782208000000537,
1889
+ "promptsListMs": 0.002125000000887667,
1890
+ "resourcesListMs": 0.0020000000004074536
1891
+ },
1892
+ "runtimeProfile": {
1893
+ "stateMutations": [
1894
+ {
1895
+ "resource": "filesystem",
1896
+ "operation": "write",
1897
+ "scope": "working_directory",
1898
+ "source": "tool_schema"
1899
+ },
1900
+ {
1901
+ "resource": "filesystem",
1902
+ "operation": "write",
1903
+ "scope": "working_directory",
1904
+ "source": "description_analysis"
1905
+ },
1906
+ {
1907
+ "resource": "filesystem",
1908
+ "operation": "write",
1909
+ "scope": "working_directory",
1910
+ "source": "description_analysis"
1911
+ },
1912
+ {
1913
+ "resource": "filesystem",
1914
+ "operation": "write",
1915
+ "scope": "working_directory",
1916
+ "source": "description_analysis"
1917
+ },
1918
+ {
1919
+ "resource": "filesystem",
1920
+ "operation": "write",
1921
+ "scope": "working_directory",
1922
+ "source": "description_analysis"
1923
+ },
1924
+ {
1925
+ "resource": "filesystem",
1926
+ "operation": "write",
1927
+ "scope": "working_directory",
1928
+ "source": "description_analysis"
1929
+ },
1930
+ {
1931
+ "resource": "filesystem",
1932
+ "operation": "write",
1933
+ "scope": "working_directory",
1934
+ "source": "description_analysis"
1935
+ },
1936
+ {
1937
+ "resource": "filesystem",
1938
+ "operation": "write",
1939
+ "scope": "working_directory",
1940
+ "source": "description_analysis"
1941
+ },
1942
+ {
1943
+ "resource": "filesystem",
1944
+ "operation": "write",
1945
+ "scope": "working_directory",
1946
+ "source": "description_analysis"
1947
+ },
1948
+ {
1949
+ "resource": "filesystem",
1950
+ "operation": "write",
1951
+ "scope": "working_directory",
1952
+ "source": "tool_schema"
1953
+ },
1954
+ {
1955
+ "resource": "filesystem",
1956
+ "operation": "write",
1957
+ "scope": "working_directory",
1958
+ "source": "description_analysis"
1959
+ },
1960
+ {
1961
+ "resource": "filesystem",
1962
+ "operation": "write",
1963
+ "scope": "working_directory",
1964
+ "source": "description_analysis"
1965
+ },
1966
+ {
1967
+ "resource": "filesystem",
1968
+ "operation": "write",
1969
+ "scope": "working_directory",
1970
+ "source": "description_analysis"
1971
+ },
1972
+ {
1973
+ "resource": "filesystem",
1974
+ "operation": "write",
1975
+ "scope": "working_directory",
1976
+ "source": "description_analysis"
1977
+ },
1978
+ {
1979
+ "resource": "filesystem",
1980
+ "operation": "write",
1981
+ "scope": "working_directory",
1982
+ "source": "description_analysis"
1983
+ },
1984
+ {
1985
+ "resource": "filesystem",
1986
+ "operation": "write",
1987
+ "scope": "working_directory",
1988
+ "source": "description_analysis"
1989
+ },
1990
+ {
1991
+ "resource": "filesystem",
1992
+ "operation": "write",
1993
+ "scope": "working_directory",
1994
+ "source": "description_analysis"
1995
+ },
1996
+ {
1997
+ "resource": "filesystem",
1998
+ "operation": "write",
1999
+ "scope": "working_directory",
2000
+ "source": "description_analysis"
2001
+ },
2002
+ {
2003
+ "resource": "filesystem",
2004
+ "operation": "write",
2005
+ "scope": "working_directory",
2006
+ "source": "description_analysis"
2007
+ },
2008
+ {
2009
+ "resource": "filesystem",
2010
+ "operation": "write",
2011
+ "scope": "working_directory",
2012
+ "source": "description_analysis"
2013
+ },
2014
+ {
2015
+ "resource": "filesystem",
2016
+ "operation": "write",
2017
+ "scope": "working_directory",
2018
+ "source": "description_analysis"
2019
+ },
2020
+ {
2021
+ "resource": "filesystem",
2022
+ "operation": "write",
2023
+ "scope": "working_directory",
2024
+ "source": "description_analysis"
2025
+ },
2026
+ {
2027
+ "resource": "filesystem",
2028
+ "operation": "write",
2029
+ "scope": "working_directory",
2030
+ "source": "description_analysis"
2031
+ },
2032
+ {
2033
+ "resource": "filesystem",
2034
+ "operation": "write",
2035
+ "scope": "working_directory",
2036
+ "source": "description_analysis"
2037
+ },
2038
+ {
2039
+ "resource": "filesystem",
2040
+ "operation": "write",
2041
+ "scope": "working_directory",
2042
+ "source": "description_analysis"
2043
+ },
2044
+ {
2045
+ "resource": "filesystem",
2046
+ "operation": "write",
2047
+ "scope": "working_directory",
2048
+ "source": "description_analysis"
2049
+ },
2050
+ {
2051
+ "resource": "filesystem",
2052
+ "operation": "write",
2053
+ "scope": "working_directory",
2054
+ "source": "description_analysis"
2055
+ }
2056
+ ],
2057
+ "analyzedAt": "2026-07-12T23:44:04.897Z",
2058
+ "confidence": "high"
1706
2059
  }
1707
2060
  }
@@ -1,6 +1,6 @@
1
1
  # MCP Observatory Run Report
2
2
 
3
- Generated at 2026-07-08T21:35:18.919Z
3
+ Generated at 2026-07-12T23:44:04.127Z
4
4
 
5
5
  ## Target and Environment Metadata
6
6
 
@@ -8,8 +8,8 @@ Generated at 2026-07-08T21:35:18.919Z
8
8
  - Adapter: `local-process`
9
9
  - Command: `npx -y @modelcontextprotocol/server-github`
10
10
  - Server: `github-mcp-server 0.6.2`
11
- - Platform: `win32 10.0.26200`
12
- - Node: `v24.15.0`
11
+ - Platform: `darwin 25.5.0`
12
+ - Node: `v22.22.1`
13
13
 
14
14
  ## Executive Summary
15
15
 
@@ -25,20 +25,63 @@ Generated at 2026-07-08T21:35:18.919Z
25
25
 
26
26
  | Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
27
27
  | --- | --- | --- | --- | --- | --- | --- | --- |
28
- | pass | 8 | 2 | 0 | 4 | 2 | 0 | 0 |
28
+ | pass | 9 | 2 | 0 | 5 | 2 | 0 | 0 |
29
29
 
30
30
  ## At a Glance
31
31
 
32
32
  - Safety verdict: **Needs review** — The server is usable, but caveated checks should be reviewed before agents depend on it.
33
- - Top risks: attack-sim: Safe attack simulation found 5 finding(s): 0 high, 5 medium, 0 low.; schema-quality: Found 51 quality finding(s) across 26 item(s): 0 warnings, 51 info.; security: Found 1 security finding(s): 0 high, 1 medium, 0 low.
33
+ - Top risks: attack-sim: Safe attack simulation found 5 finding(s): 0 high, 5 medium, 0 low.; runtime-profile: Detected 0 potential egress target(s) and 27 potential state mutation(s) with high confidence.; schema-quality: Found 51 quality finding(s) across 26 item(s): 0 warnings, 51 info.
34
34
  - Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
35
35
  - Failing checks: none
36
- - Partial or flaky checks: security-lite, schema-quality, security, attack-sim
36
+ - Partial or flaky checks: security-lite, runtime-profile, schema-quality, security, attack-sim
37
37
  - Skipped checks: none
38
38
  - Unsupported checks: prompts, resources
39
- - Suggested next step: Review the caveated checks next: security-lite, schema-quality, security, attack-sim.
39
+ - Suggested next step: Review the caveated checks next: security-lite, runtime-profile, schema-quality, security, attack-sim.
40
40
  - CI next step: `Add CI: npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>"`
41
41
 
42
+ ## What Was Not Tested
43
+
44
+ - ℹ️ credential_access: Credential scanning was performed (see security findings)
45
+ - ℹ️ destructive_payloads: Destructive payloads were not attempted (safe-mode only)
46
+
47
+ ## Runtime Profile
48
+
49
+ ### State Mutations
50
+
51
+ The following state-modifying operations were identified from tool schemas:
52
+
53
+ | Resource | Operation | Scope | Source |
54
+ | --- | --- | --- | --- |
55
+ | filesystem | write | working_directory | tool_schema |
56
+ | filesystem | write | working_directory | description_analysis |
57
+ | filesystem | write | working_directory | description_analysis |
58
+ | filesystem | write | working_directory | description_analysis |
59
+ | filesystem | write | working_directory | description_analysis |
60
+ | filesystem | write | working_directory | description_analysis |
61
+ | filesystem | write | working_directory | description_analysis |
62
+ | filesystem | write | working_directory | description_analysis |
63
+ | filesystem | write | working_directory | description_analysis |
64
+ | filesystem | write | working_directory | tool_schema |
65
+ | filesystem | write | working_directory | description_analysis |
66
+ | filesystem | write | working_directory | description_analysis |
67
+ | filesystem | write | working_directory | description_analysis |
68
+ | filesystem | write | working_directory | description_analysis |
69
+ | filesystem | write | working_directory | description_analysis |
70
+ | filesystem | write | working_directory | description_analysis |
71
+ | filesystem | write | working_directory | description_analysis |
72
+ | filesystem | write | working_directory | description_analysis |
73
+ | filesystem | write | working_directory | description_analysis |
74
+ | filesystem | write | working_directory | description_analysis |
75
+ | filesystem | write | working_directory | description_analysis |
76
+ | filesystem | write | working_directory | description_analysis |
77
+ | filesystem | write | working_directory | description_analysis |
78
+ | filesystem | write | working_directory | description_analysis |
79
+ | filesystem | write | working_directory | description_analysis |
80
+ | filesystem | write | working_directory | description_analysis |
81
+ | filesystem | write | working_directory | description_analysis |
82
+
83
+ _Analyzed at 2026-07-12T23:44:04.897Z_
84
+
42
85
  ## Regressions and Recoveries
43
86
 
44
87
  _Use the `diff` command against another run artifact to classify regressions and recoveries over time._
@@ -47,14 +90,15 @@ _Use the `diff` command against another run artifact to classify regressions and
47
90
 
48
91
  | Focus | Check | Status | Duration (ms) | Message |
49
92
  | --- | --- | --- | --- | --- |
50
- | healthy | conformance | pass | 3.17 | All 7 conformance checks passed. |
51
- | healthy | tools | pass | 4.37 | Advertised capability responded with the minimal expected shape (26 items). |
52
- | review | attack-sim | partial | 2.75 | Safe attack simulation found 5 finding(s): 0 high, 5 medium, 0 low. |
53
- | review | schema-quality | partial | 1.84 | Found 51 quality finding(s) across 26 item(s): 0 warnings, 51 info. |
54
- | review | security | partial | 2.66 | Found 1 security finding(s): 0 high, 1 medium, 0 low. |
55
- | review | security-lite | partial | 0.13 | Found 1 security finding(s): 0 high, 1 medium, 0 low. |
93
+ | healthy | conformance | pass | 1.01 | All 7 conformance checks passed. |
94
+ | healthy | tools | pass | 2.78 | Advertised capability responded with the minimal expected shape (26 items). |
95
+ | review | attack-sim | partial | 1.23 | Safe attack simulation found 5 finding(s): 0 high, 5 medium, 0 low. |
96
+ | review | runtime-profile | partial | 0.31 | Detected 0 potential egress target(s) and 27 potential state mutation(s) with high confidence. |
97
+ | review | schema-quality | partial | 0.54 | Found 51 quality finding(s) across 26 item(s): 0 warnings, 51 info. |
98
+ | review | security | partial | 0.77 | Found 1 security finding(s): 0 high, 1 medium, 0 low. |
99
+ | review | security-lite | partial | 0.07 | Found 1 security finding(s): 0 high, 1 medium, 0 low. |
56
100
  | confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
57
- | confirm intent | resources | unsupported | 0.01 | Resources are not advertised by the target. |
101
+ | confirm intent | resources | unsupported | 0.00 | Resources are not advertised by the target. |
58
102
 
59
103
  ## Evidence Snippets
60
104
 
@@ -94,6 +138,18 @@ Summary: Safe attack simulation found 5 finding(s): 0 high, 5 medium, 0 low.
94
138
  - Identifiers: create_or_update_file, create_issue, create_pull_request, update_issue, create_pull_request_review
95
139
  - Diagnostics: [medium] Tool "create_or_update_file" combines broad parameters (path) with destructive or non-read-only behavior., [medium] Tool "create_issue" combines broad parameters (body) with destructive or non-read-only behavior., [medium] Tool "create_pull_request" combines broad parameters (body) with destructive or non-read-only behavior. (+2 more)
96
140
 
141
+ ### runtime-profile — partial
142
+
143
+ Summary: Detected 0 potential egress target(s) and 27 potential state mutation(s) with high confidence.
144
+
145
+ - Endpoint: `runtime-profile/analyze`
146
+ - Advertised: `true`
147
+ - Responded: `true`
148
+ - Minimal shape present: `true`
149
+ - Item count: `27`
150
+ - Identifiers: none
151
+ - Diagnostics: Egress entries: 0, State mutations: 27, Confidence: high
152
+
97
153
  ### schema-quality — partial
98
154
 
99
155
  Summary: Found 51 quality finding(s) across 26 item(s): 0 warnings, 51 info.
@@ -165,5 +221,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
165
221
 
166
222
  - Artifact type: `run`
167
223
  - Schema version: `1.0.0`
168
- - Run ID: `run_2026-07-08T213518919Z_6d8ffd44`
224
+ - Run ID: `run_2026-07-12T234404127Z_20ace2e1`
169
225
  - Gate: `pass`