@kryptosai/mcp-observatory 1.32.1 → 1.33.0

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 (404) hide show
  1. package/README.md +5 -3
  2. package/dist/src/adapters/base.d.ts +14 -0
  3. package/dist/src/adapters/base.js +2 -0
  4. package/dist/src/adapters/base.js.map +1 -0
  5. package/dist/src/checks/semantics.d.ts +2 -0
  6. package/dist/src/checks/semantics.js +48 -0
  7. package/dist/src/checks/semantics.js.map +1 -0
  8. package/dist/src/cli.js +7 -1
  9. package/dist/src/cli.js.map +1 -1
  10. package/dist/src/commands/audit.js +7 -1
  11. package/dist/src/commands/audit.js.map +1 -1
  12. package/dist/src/commands/enforce.js +14 -3
  13. package/dist/src/commands/enforce.js.map +1 -1
  14. package/dist/src/commands/helpers.d.ts +2 -0
  15. package/dist/src/commands/helpers.js +8 -1
  16. package/dist/src/commands/helpers.js.map +1 -1
  17. package/dist/src/commands/scan.d.ts +14 -0
  18. package/dist/src/commands/scan.js +42 -3
  19. package/dist/src/commands/scan.js.map +1 -1
  20. package/dist/src/commands/score.js +22 -1
  21. package/dist/src/commands/score.js.map +1 -1
  22. package/dist/src/commands/skill-scan.js +5 -3
  23. package/dist/src/commands/skill-scan.js.map +1 -1
  24. package/dist/src/commands/test.d.ts +19 -0
  25. package/dist/src/commands/test.js +68 -2
  26. package/dist/src/commands/test.js.map +1 -1
  27. package/dist/src/commercial.js +2 -2
  28. package/dist/src/commercial.js.map +1 -1
  29. package/dist/src/diff/diff.d.ts +2 -0
  30. package/dist/src/diff/diff.js +81 -0
  31. package/dist/src/diff/diff.js.map +1 -0
  32. package/dist/src/reporters/json.d.ts +2 -0
  33. package/dist/src/reporters/json.js +4 -0
  34. package/dist/src/reporters/json.js.map +1 -0
  35. package/dist/src/runner/runner.d.ts +2 -0
  36. package/dist/src/runner/runner.js +135 -0
  37. package/dist/src/runner/runner.js.map +1 -0
  38. package/dist/src/storage/filesystem.d.ts +6 -0
  39. package/dist/src/storage/filesystem.js +21 -0
  40. package/dist/src/storage/filesystem.js.map +1 -0
  41. package/dist/src/telemetry.d.ts +25 -3
  42. package/dist/src/telemetry.js +84 -19
  43. package/dist/src/telemetry.js.map +1 -1
  44. package/docs/mcp-server-safety-index.md +255 -6
  45. package/docs/safety-index/artifacts/1link-mcp.json +66 -0
  46. package/docs/safety-index/artifacts/1link-mcp.md +106 -0
  47. package/docs/safety-index/artifacts/aadhaar-mcp.json +66 -0
  48. package/docs/safety-index/artifacts/aadhaar-mcp.md +106 -0
  49. package/docs/safety-index/artifacts/aikidosec-mcp-server.json +536 -0
  50. package/docs/safety-index/artifacts/aikidosec-mcp-server.md +203 -0
  51. package/docs/safety-index/artifacts/aiou-mcp.json +66 -0
  52. package/docs/safety-index/artifacts/aiou-mcp.md +106 -0
  53. package/docs/safety-index/artifacts/airtable-mcp-server.json +66 -0
  54. package/docs/safety-index/artifacts/airtable-mcp-server.md +106 -0
  55. package/docs/safety-index/artifacts/alpaca-server.json +66 -0
  56. package/docs/safety-index/artifacts/alpaca-server.md +106 -0
  57. package/docs/safety-index/artifacts/antv-chart-server.json +21 -21
  58. package/docs/safety-index/artifacts/antv-chart-server.md +11 -11
  59. package/docs/safety-index/artifacts/apify-mcp-server.json +66 -0
  60. package/docs/safety-index/artifacts/apify-mcp-server.md +103 -0
  61. package/docs/safety-index/artifacts/apple-music-server.json +66 -0
  62. package/docs/safety-index/artifacts/apple-music-server.md +102 -0
  63. package/docs/safety-index/artifacts/appwrite-mcp.json +66 -0
  64. package/docs/safety-index/artifacts/appwrite-mcp.md +106 -0
  65. package/docs/safety-index/artifacts/aqi-india-mcp.json +66 -0
  66. package/docs/safety-index/artifacts/aqi-india-mcp.md +106 -0
  67. package/docs/safety-index/artifacts/argocd-mcp-server.json +66 -0
  68. package/docs/safety-index/artifacts/argocd-mcp-server.md +106 -0
  69. package/docs/safety-index/artifacts/arxiv-mcp-server.json +66 -0
  70. package/docs/safety-index/artifacts/arxiv-mcp-server.md +100 -0
  71. package/docs/safety-index/artifacts/aws-mcp-server.json +66 -0
  72. package/docs/safety-index/artifacts/aws-mcp-server.md +103 -0
  73. package/docs/safety-index/artifacts/azure-devops-mcp-server.json +66 -0
  74. package/docs/safety-index/artifacts/azure-devops-mcp-server.md +106 -0
  75. package/docs/safety-index/artifacts/azure-mcp-server.json +66 -0
  76. package/docs/safety-index/artifacts/azure-mcp-server.md +102 -0
  77. package/docs/safety-index/artifacts/bhuvan-mcp.json +66 -0
  78. package/docs/safety-index/artifacts/bhuvan-mcp.md +106 -0
  79. package/docs/safety-index/artifacts/brave-search-mcp-server-v2.json +66 -0
  80. package/docs/safety-index/artifacts/brave-search-mcp-server-v2.md +103 -0
  81. package/docs/safety-index/artifacts/brave-search-server.json +18 -18
  82. package/docs/safety-index/artifacts/brave-search-server.md +6 -6
  83. package/docs/safety-index/artifacts/browsermcp-server.json +18 -18
  84. package/docs/safety-index/artifacts/browsermcp-server.md +10 -10
  85. package/docs/safety-index/artifacts/cal-com-mcp.json +66 -0
  86. package/docs/safety-index/artifacts/cal-com-mcp.md +106 -0
  87. package/docs/safety-index/artifacts/canvas-server.json +66 -0
  88. package/docs/safety-index/artifacts/canvas-server.md +105 -0
  89. package/docs/safety-index/artifacts/caselaw-server.json +66 -0
  90. package/docs/safety-index/artifacts/caselaw-server.md +106 -0
  91. package/docs/safety-index/artifacts/chatwoot-mcp.json +66 -0
  92. package/docs/safety-index/artifacts/chatwoot-mcp.md +102 -0
  93. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.json +22 -22
  94. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.md +11 -11
  95. package/docs/safety-index/artifacts/circleci-server.json +1606 -0
  96. package/docs/safety-index/artifacts/circleci-server.md +243 -0
  97. package/docs/safety-index/artifacts/clarity-server.json +794 -0
  98. package/docs/safety-index/artifacts/clarity-server.md +201 -0
  99. package/docs/safety-index/artifacts/clay-server.json +4 -4
  100. package/docs/safety-index/artifacts/clay-server.md +3 -3
  101. package/docs/safety-index/artifacts/clickup-mcp-server.json +66 -0
  102. package/docs/safety-index/artifacts/clickup-mcp-server.md +106 -0
  103. package/docs/safety-index/artifacts/cloudflare-mcp-server-v2.json +66 -0
  104. package/docs/safety-index/artifacts/cloudflare-mcp-server-v2.md +102 -0
  105. package/docs/safety-index/artifacts/cloudflare-server.json +4 -4
  106. package/docs/safety-index/artifacts/cloudflare-server.md +3 -3
  107. package/docs/safety-index/artifacts/coinbase-cds-server.json +322 -0
  108. package/docs/safety-index/artifacts/coinbase-cds-server.md +201 -0
  109. package/docs/safety-index/artifacts/confluence-mcp-server.json +1727 -0
  110. package/docs/safety-index/artifacts/confluence-mcp-server.md +255 -0
  111. package/docs/safety-index/artifacts/context7-server.json +18 -18
  112. package/docs/safety-index/artifacts/context7-server.md +12 -12
  113. package/docs/safety-index/artifacts/contract-analysis-server.json +66 -0
  114. package/docs/safety-index/artifacts/contract-analysis-server.md +106 -0
  115. package/docs/safety-index/artifacts/cowin-mcp.json +66 -0
  116. package/docs/safety-index/artifacts/cowin-mcp.md +106 -0
  117. package/docs/safety-index/artifacts/currents-mcp-server.json +66 -0
  118. package/docs/safety-index/artifacts/currents-mcp-server.md +102 -0
  119. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +34 -34
  120. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +15 -15
  121. package/docs/safety-index/artifacts/dalle-server.json +66 -0
  122. package/docs/safety-index/artifacts/dalle-server.md +104 -0
  123. package/docs/safety-index/artifacts/daraz-mcp.json +66 -0
  124. package/docs/safety-index/artifacts/daraz-mcp.md +106 -0
  125. package/docs/safety-index/artifacts/desktop-commander-mcp-server.json +2348 -0
  126. package/docs/safety-index/artifacts/desktop-commander-mcp-server.md +266 -0
  127. package/docs/safety-index/artifacts/digilocker-mcp.json +66 -0
  128. package/docs/safety-index/artifacts/digilocker-mcp.md +106 -0
  129. package/docs/safety-index/artifacts/discord-mcp-server.json +1297 -0
  130. package/docs/safety-index/artifacts/discord-mcp-server.md +169 -0
  131. package/docs/safety-index/artifacts/discord-mcp.json +1023 -0
  132. package/docs/safety-index/artifacts/discord-mcp.md +229 -0
  133. package/docs/safety-index/artifacts/docker-server.json +19 -19
  134. package/docs/safety-index/artifacts/docker-server.md +8 -8
  135. package/docs/safety-index/artifacts/dynamodb-mcp-server.json +66 -0
  136. package/docs/safety-index/artifacts/dynamodb-mcp-server.md +103 -0
  137. package/docs/safety-index/artifacts/dynatrace-mcp-server.json +66 -0
  138. package/docs/safety-index/artifacts/dynatrace-mcp-server.md +103 -0
  139. package/docs/safety-index/artifacts/easypaisa-mcp.json +553 -0
  140. package/docs/safety-index/artifacts/easypaisa-mcp.md +205 -0
  141. package/docs/safety-index/artifacts/ehsaas-mcp.json +66 -0
  142. package/docs/safety-index/artifacts/ehsaas-mcp.md +106 -0
  143. package/docs/safety-index/artifacts/epic-server.json +66 -0
  144. package/docs/safety-index/artifacts/epic-server.md +106 -0
  145. package/docs/safety-index/artifacts/eslint-mcp-server.json +320 -0
  146. package/docs/safety-index/artifacts/eslint-mcp-server.md +201 -0
  147. package/docs/safety-index/artifacts/espn-server.json +394 -0
  148. package/docs/safety-index/artifacts/espn-server.md +187 -0
  149. package/docs/safety-index/artifacts/everything-server.json +18 -18
  150. package/docs/safety-index/artifacts/everything-server.md +10 -10
  151. package/docs/safety-index/artifacts/exa-server.json +22 -22
  152. package/docs/safety-index/artifacts/exa-server.md +14 -14
  153. package/docs/safety-index/artifacts/executeautomation-playwright-server.json +18 -18
  154. package/docs/safety-index/artifacts/executeautomation-playwright-server.md +9 -9
  155. package/docs/safety-index/artifacts/fbr-mcp.json +66 -0
  156. package/docs/safety-index/artifacts/fbr-mcp.md +106 -0
  157. package/docs/safety-index/artifacts/fetch-server.json +4 -4
  158. package/docs/safety-index/artifacts/fetch-server.md +3 -3
  159. package/docs/safety-index/artifacts/fhir-server.json +66 -0
  160. package/docs/safety-index/artifacts/fhir-server.md +100 -0
  161. package/docs/safety-index/artifacts/figma-server.json +18 -18
  162. package/docs/safety-index/artifacts/figma-server.md +10 -10
  163. package/docs/safety-index/artifacts/filesystem-mcp-server.json +19 -19
  164. package/docs/safety-index/artifacts/filesystem-mcp-server.md +10 -10
  165. package/docs/safety-index/artifacts/filesystem-server.json +18 -18
  166. package/docs/safety-index/artifacts/filesystem-server.md +7 -7
  167. package/docs/safety-index/artifacts/firecrawl-server.json +18 -18
  168. package/docs/safety-index/artifacts/firecrawl-server.md +10 -10
  169. package/docs/safety-index/artifacts/flight-server.json +66 -0
  170. package/docs/safety-index/artifacts/flight-server.md +106 -0
  171. package/docs/safety-index/artifacts/foodpanda-pakistan-mcp.json +66 -0
  172. package/docs/safety-index/artifacts/foodpanda-pakistan-mcp.md +106 -0
  173. package/docs/safety-index/artifacts/gcp-mcp-server.json +66 -0
  174. package/docs/safety-index/artifacts/gcp-mcp-server.md +103 -0
  175. package/docs/safety-index/artifacts/github-mcp-server.json +18 -18
  176. package/docs/safety-index/artifacts/github-mcp-server.md +9 -9
  177. package/docs/safety-index/artifacts/gitlab-server.json +16 -16
  178. package/docs/safety-index/artifacts/gitlab-server.md +6 -6
  179. package/docs/safety-index/artifacts/gmail-server.json +4 -4
  180. package/docs/safety-index/artifacts/gmail-server.md +3 -3
  181. package/docs/safety-index/artifacts/google-calendar-server.json +4 -4
  182. package/docs/safety-index/artifacts/google-calendar-server.md +3 -3
  183. package/docs/safety-index/artifacts/google-drive-server.json +4 -4
  184. package/docs/safety-index/artifacts/google-drive-server.md +3 -3
  185. package/docs/safety-index/artifacts/google-sheets-server.json +4 -4
  186. package/docs/safety-index/artifacts/google-sheets-server.md +3 -3
  187. package/docs/safety-index/artifacts/google-tasks-server.json +4 -4
  188. package/docs/safety-index/artifacts/google-tasks-server.md +3 -3
  189. package/docs/safety-index/artifacts/gst-mcp.json +66 -0
  190. package/docs/safety-index/artifacts/gst-mcp.md +106 -0
  191. package/docs/safety-index/artifacts/gupshup-mcp.json +66 -0
  192. package/docs/safety-index/artifacts/gupshup-mcp.md +106 -0
  193. package/docs/safety-index/artifacts/hasura-mcp.json +66 -0
  194. package/docs/safety-index/artifacts/hasura-mcp.md +106 -0
  195. package/docs/safety-index/artifacts/healthcare-ayushman-bharat-mcp.json +66 -0
  196. package/docs/safety-index/artifacts/healthcare-ayushman-bharat-mcp.md +106 -0
  197. package/docs/safety-index/artifacts/hec-pakistan-mcp.json +66 -0
  198. package/docs/safety-index/artifacts/hec-pakistan-mcp.md +106 -0
  199. package/docs/safety-index/artifacts/heroku-server.json +1502 -0
  200. package/docs/safety-index/artifacts/heroku-server.md +236 -0
  201. package/docs/safety-index/artifacts/homekit-server.json +66 -0
  202. package/docs/safety-index/artifacts/homekit-server.md +106 -0
  203. package/docs/safety-index/artifacts/hotel-booking-server.json +66 -0
  204. package/docs/safety-index/artifacts/hotel-booking-server.md +106 -0
  205. package/docs/safety-index/artifacts/hubspot-mcp-server.json +66 -0
  206. package/docs/safety-index/artifacts/hubspot-mcp-server.md +106 -0
  207. package/docs/safety-index/artifacts/huggingface-server.json +4 -4
  208. package/docs/safety-index/artifacts/huggingface-server.md +3 -3
  209. package/docs/safety-index/artifacts/indian-food-nutrition-mcp.json +663 -0
  210. package/docs/safety-index/artifacts/indian-food-nutrition-mcp.md +211 -0
  211. package/docs/safety-index/artifacts/irctc-mcp.json +66 -0
  212. package/docs/safety-index/artifacts/irctc-mcp.md +106 -0
  213. package/docs/safety-index/artifacts/jazz-mcp.json +66 -0
  214. package/docs/safety-index/artifacts/jazz-mcp.md +106 -0
  215. package/docs/safety-index/artifacts/jazzcash-mcp.json +66 -0
  216. package/docs/safety-index/artifacts/jazzcash-mcp.md +102 -0
  217. package/docs/safety-index/artifacts/jina-server.json +4 -4
  218. package/docs/safety-index/artifacts/jina-server.md +3 -3
  219. package/docs/safety-index/artifacts/jira-mcp-server.json +66 -0
  220. package/docs/safety-index/artifacts/jira-mcp-server.md +104 -0
  221. package/docs/safety-index/artifacts/k2-mcp.json +66 -0
  222. package/docs/safety-index/artifacts/k2-mcp.md +106 -0
  223. package/docs/safety-index/artifacts/karachi-stock-exchange-mcp.json +67 -0
  224. package/docs/safety-index/artifacts/karachi-stock-exchange-mcp.md +114 -0
  225. package/docs/safety-index/artifacts/khan-academy-server.json +66 -0
  226. package/docs/safety-index/artifacts/khan-academy-server.md +106 -0
  227. package/docs/safety-index/artifacts/kubernetes-server.json +103 -33
  228. package/docs/safety-index/artifacts/kubernetes-server.md +23 -19
  229. package/docs/safety-index/artifacts/langfuse-mcp.json +66 -0
  230. package/docs/safety-index/artifacts/langfuse-mcp.md +106 -0
  231. package/docs/safety-index/artifacts/linear-server.json +18 -18
  232. package/docs/safety-index/artifacts/linear-server.md +8 -8
  233. package/docs/safety-index/artifacts/mapmyindia-mcp.json +66 -0
  234. package/docs/safety-index/artifacts/mapmyindia-mcp.md +106 -0
  235. package/docs/safety-index/artifacts/memory-server.json +18 -18
  236. package/docs/safety-index/artifacts/memory-server.md +10 -10
  237. package/docs/safety-index/artifacts/minecraft-server.json +592 -0
  238. package/docs/safety-index/artifacts/minecraft-server.md +186 -0
  239. package/docs/safety-index/artifacts/mls-server.json +66 -0
  240. package/docs/safety-index/artifacts/mls-server.md +106 -0
  241. package/docs/safety-index/artifacts/mongodb-server.json +4 -4
  242. package/docs/safety-index/artifacts/mongodb-server.md +3 -3
  243. package/docs/safety-index/artifacts/mui-mcp-server.json +419 -0
  244. package/docs/safety-index/artifacts/mui-mcp-server.md +208 -0
  245. package/docs/safety-index/artifacts/mysql-mcp-server.json +66 -0
  246. package/docs/safety-index/artifacts/mysql-mcp-server.md +106 -0
  247. package/docs/safety-index/artifacts/nadra-mcp.json +66 -0
  248. package/docs/safety-index/artifacts/nadra-mcp.md +106 -0
  249. package/docs/safety-index/artifacts/neon-server.json +4 -4
  250. package/docs/safety-index/artifacts/neon-server.md +3 -3
  251. package/docs/safety-index/artifacts/notion-server.json +18 -18
  252. package/docs/safety-index/artifacts/notion-server.md +10 -10
  253. package/docs/safety-index/artifacts/obsidian-mcp.json +66 -0
  254. package/docs/safety-index/artifacts/obsidian-mcp.md +106 -0
  255. package/docs/safety-index/artifacts/ola-maps-mcp.json +66 -0
  256. package/docs/safety-index/artifacts/ola-maps-mcp.md +106 -0
  257. package/docs/safety-index/artifacts/olx-pakistan-mcp.json +66 -0
  258. package/docs/safety-index/artifacts/olx-pakistan-mcp.md +106 -0
  259. package/docs/safety-index/artifacts/onesignal-server.json +4 -4
  260. package/docs/safety-index/artifacts/onesignal-server.md +3 -3
  261. package/docs/safety-index/artifacts/openai-mcp-server.json +66 -0
  262. package/docs/safety-index/artifacts/openai-mcp-server.md +106 -0
  263. package/docs/safety-index/artifacts/opentofu-server.json +19 -19
  264. package/docs/safety-index/artifacts/opentofu-server.md +10 -10
  265. package/docs/safety-index/artifacts/openweather-server.json +66 -0
  266. package/docs/safety-index/artifacts/openweather-server.md +106 -0
  267. package/docs/safety-index/artifacts/pakistan-cricket-mcp.json +66 -0
  268. package/docs/safety-index/artifacts/pakistan-cricket-mcp.md +106 -0
  269. package/docs/safety-index/artifacts/pakistan-post-mcp.json +66 -0
  270. package/docs/safety-index/artifacts/pakistan-post-mcp.md +106 -0
  271. package/docs/safety-index/artifacts/pakistan-weather-mcp.json +66 -0
  272. package/docs/safety-index/artifacts/pakistan-weather-mcp.md +106 -0
  273. package/docs/safety-index/artifacts/pakwheels-mcp.json +66 -0
  274. package/docs/safety-index/artifacts/pakwheels-mcp.md +106 -0
  275. package/docs/safety-index/artifacts/paytm-mcp.json +66 -0
  276. package/docs/safety-index/artifacts/paytm-mcp.md +106 -0
  277. package/docs/safety-index/artifacts/perplexity-mcp.json +66 -0
  278. package/docs/safety-index/artifacts/perplexity-mcp.md +106 -0
  279. package/docs/safety-index/artifacts/pims-mcp.json +66 -0
  280. package/docs/safety-index/artifacts/pims-mcp.md +106 -0
  281. package/docs/safety-index/artifacts/playwright-mcp-server.json +18 -18
  282. package/docs/safety-index/artifacts/playwright-mcp-server.md +8 -8
  283. package/docs/safety-index/artifacts/postgres-server.json +19 -19
  284. package/docs/safety-index/artifacts/postgres-server.md +9 -9
  285. package/docs/safety-index/artifacts/postman-india-region.json +66 -0
  286. package/docs/safety-index/artifacts/postman-india-region.md +102 -0
  287. package/docs/safety-index/artifacts/postman-mcp-server.json +66 -0
  288. package/docs/safety-index/artifacts/postman-mcp-server.md +102 -0
  289. package/docs/safety-index/artifacts/promptopia-server.json +19 -19
  290. package/docs/safety-index/artifacts/promptopia-server.md +9 -9
  291. package/docs/safety-index/artifacts/pubmed-mcp-server.json +58 -0
  292. package/docs/safety-index/artifacts/pubmed-mcp-server.md +96 -0
  293. package/docs/safety-index/artifacts/punjab-health-mcp.json +66 -0
  294. package/docs/safety-index/artifacts/punjab-health-mcp.md +106 -0
  295. package/docs/safety-index/artifacts/puppeteer-server.json +18 -18
  296. package/docs/safety-index/artifacts/puppeteer-server.md +9 -9
  297. package/docs/safety-index/artifacts/qase-server.json +7055 -0
  298. package/docs/safety-index/artifacts/qase-server.md +329 -0
  299. package/docs/safety-index/artifacts/qdrant-server.json +4 -4
  300. package/docs/safety-index/artifacts/qdrant-server.md +3 -3
  301. package/docs/safety-index/artifacts/raspberrypi-server.json +66 -0
  302. package/docs/safety-index/artifacts/raspberrypi-server.md +106 -0
  303. package/docs/safety-index/artifacts/razorpay-mcp.json +66 -0
  304. package/docs/safety-index/artifacts/razorpay-mcp.md +103 -0
  305. package/docs/safety-index/artifacts/reddit-server.json +4 -4
  306. package/docs/safety-index/artifacts/reddit-server.md +3 -3
  307. package/docs/safety-index/artifacts/redis-server.json +66 -0
  308. package/docs/safety-index/artifacts/redis-server.md +106 -0
  309. package/docs/safety-index/artifacts/ref-tools-server.json +18 -18
  310. package/docs/safety-index/artifacts/ref-tools-server.md +10 -10
  311. package/docs/safety-index/artifacts/resend-mcp.json +66 -0
  312. package/docs/safety-index/artifacts/resend-mcp.md +102 -0
  313. package/docs/safety-index/artifacts/rozgar-mcp.json +66 -0
  314. package/docs/safety-index/artifacts/rozgar-mcp.md +106 -0
  315. package/docs/safety-index/artifacts/s3-mcp-server.json +467 -0
  316. package/docs/safety-index/artifacts/s3-mcp-server.md +209 -0
  317. package/docs/safety-index/artifacts/salesforce-mcp-server.json +66 -0
  318. package/docs/safety-index/artifacts/salesforce-mcp-server.md +106 -0
  319. package/docs/safety-index/artifacts/sehat-sahulat-mcp.json +66 -0
  320. package/docs/safety-index/artifacts/sehat-sahulat-mcp.md +106 -0
  321. package/docs/safety-index/artifacts/sendgrid-mcp.json +66 -0
  322. package/docs/safety-index/artifacts/sendgrid-mcp.md +106 -0
  323. package/docs/safety-index/artifacts/sentry-server.json +3 -3
  324. package/docs/safety-index/artifacts/sentry-server.md +2 -2
  325. package/docs/safety-index/artifacts/sequential-thinking-server.json +18 -18
  326. package/docs/safety-index/artifacts/sequential-thinking-server.md +8 -8
  327. package/docs/safety-index/artifacts/shopify-mcp-server.json +66 -0
  328. package/docs/safety-index/artifacts/shopify-mcp-server.md +106 -0
  329. package/docs/safety-index/artifacts/shopify-mcp.json +66 -0
  330. package/docs/safety-index/artifacts/shopify-mcp.md +106 -0
  331. package/docs/safety-index/artifacts/shortcut-mcp-server.json +66 -0
  332. package/docs/safety-index/artifacts/shortcut-mcp-server.md +102 -0
  333. package/docs/safety-index/artifacts/slack-server.json +3 -3
  334. package/docs/safety-index/artifacts/slack-server.md +2 -2
  335. package/docs/safety-index/artifacts/smartbear-mcp-server.json +21483 -0
  336. package/docs/safety-index/artifacts/smartbear-mcp-server.md +900 -0
  337. package/docs/safety-index/artifacts/spotify-mcp.json +2071 -0
  338. package/docs/safety-index/artifacts/spotify-mcp.md +237 -0
  339. package/docs/safety-index/artifacts/spotify-server.json +66 -0
  340. package/docs/safety-index/artifacts/spotify-server.md +106 -0
  341. package/docs/safety-index/artifacts/sqlite-server.json +4 -4
  342. package/docs/safety-index/artifacts/sqlite-server.md +3 -3
  343. package/docs/safety-index/artifacts/stable-diffusion-server.json +66 -0
  344. package/docs/safety-index/artifacts/stable-diffusion-server.md +106 -0
  345. package/docs/safety-index/artifacts/stock-nse-india.json +66 -0
  346. package/docs/safety-index/artifacts/stock-nse-india.md +106 -0
  347. package/docs/safety-index/artifacts/storybook-mcp-server.json +66 -0
  348. package/docs/safety-index/artifacts/storybook-mcp-server.md +103 -0
  349. package/docs/safety-index/artifacts/stripe-server.json +3 -3
  350. package/docs/safety-index/artifacts/stripe-server.md +2 -2
  351. package/docs/safety-index/artifacts/supabase-server.json +3 -3
  352. package/docs/safety-index/artifacts/supabase-server.md +2 -2
  353. package/docs/safety-index/artifacts/tavily-search-server.json +4 -4
  354. package/docs/safety-index/artifacts/tavily-search-server.md +3 -3
  355. package/docs/safety-index/artifacts/telegram-mcp-server.json +66 -0
  356. package/docs/safety-index/artifacts/telegram-mcp-server.md +103 -0
  357. package/docs/safety-index/artifacts/telenor-pakistan-mcp.json +66 -0
  358. package/docs/safety-index/artifacts/telenor-pakistan-mcp.md +106 -0
  359. package/docs/safety-index/artifacts/textlocal-mcp.json +66 -0
  360. package/docs/safety-index/artifacts/textlocal-mcp.md +106 -0
  361. package/docs/safety-index/artifacts/tooljet-mcp.json +66 -0
  362. package/docs/safety-index/artifacts/tooljet-mcp.md +106 -0
  363. package/docs/safety-index/artifacts/transcend-server.json +3438 -0
  364. package/docs/safety-index/artifacts/transcend-server.md +277 -0
  365. package/docs/safety-index/artifacts/trello-mcp-server.json +916 -0
  366. package/docs/safety-index/artifacts/trello-mcp-server.md +211 -0
  367. package/docs/safety-index/artifacts/twilio-mcp.json +66 -0
  368. package/docs/safety-index/artifacts/twilio-mcp.md +106 -0
  369. package/docs/safety-index/artifacts/udyam-mcp.json +66 -0
  370. package/docs/safety-index/artifacts/udyam-mcp.md +106 -0
  371. package/docs/safety-index/artifacts/ufone-mcp.json +66 -0
  372. package/docs/safety-index/artifacts/ufone-mcp.md +106 -0
  373. package/docs/safety-index/artifacts/ui5-mcp-server.json +21 -21
  374. package/docs/safety-index/artifacts/ui5-mcp-server.md +10 -10
  375. package/docs/safety-index/artifacts/unity-server.json +66 -0
  376. package/docs/safety-index/artifacts/unity-server.md +102 -0
  377. package/docs/safety-index/artifacts/upi-mcp.json +452 -0
  378. package/docs/safety-index/artifacts/upi-mcp.md +201 -0
  379. package/docs/safety-index/artifacts/vercel-ai-server.json +4 -4
  380. package/docs/safety-index/artifacts/vercel-ai-server.md +3 -3
  381. package/docs/safety-index/artifacts/vimeo-server.json +66 -0
  382. package/docs/safety-index/artifacts/vimeo-server.md +106 -0
  383. package/docs/safety-index/artifacts/weather-server.json +66 -0
  384. package/docs/safety-index/artifacts/weather-server.md +106 -0
  385. package/docs/safety-index/artifacts/whatsapp-business-mcp.json +66 -0
  386. package/docs/safety-index/artifacts/whatsapp-business-mcp.md +106 -0
  387. package/docs/safety-index/artifacts/whatsapp-mcp-server.json +66 -0
  388. package/docs/safety-index/artifacts/whatsapp-mcp-server.md +106 -0
  389. package/docs/safety-index/artifacts/whatsapp-mcp.json +66 -0
  390. package/docs/safety-index/artifacts/whatsapp-mcp.md +106 -0
  391. package/docs/safety-index/artifacts/yahoo-finance-server.json +626 -0
  392. package/docs/safety-index/artifacts/yahoo-finance-server.md +187 -0
  393. package/docs/safety-index/artifacts/youtube-mcp-server.json +58 -0
  394. package/docs/safety-index/artifacts/youtube-mcp-server.md +96 -0
  395. package/docs/safety-index/artifacts/youtube-server.json +66 -0
  396. package/docs/safety-index/artifacts/youtube-server.md +103 -0
  397. package/docs/safety-index/artifacts/zendesk-mcp.json +66 -0
  398. package/docs/safety-index/artifacts/zendesk-mcp.md +106 -0
  399. package/docs/safety-index/artifacts/zillow-server.json +66 -0
  400. package/docs/safety-index/artifacts/zillow-server.md +102 -0
  401. package/docs/safety-index/artifacts/zong-mcp.json +66 -0
  402. package/docs/safety-index/artifacts/zong-mcp.md +106 -0
  403. package/docs/safety-index/targets.json +2145 -20
  404. package/package.json +10 -9
@@ -0,0 +1,66 @@
1
+ {
2
+ "artifactType": "run",
3
+ "schemaVersion": "1.0.0",
4
+ "gate": "fail",
5
+ "runId": "run_2026-07-15T223401221Z_9edad485",
6
+ "createdAt": "2026-07-15T22:34:01.221Z",
7
+ "toolVersion": "1.32.1",
8
+ "target": {
9
+ "targetId": "khan-academy-server",
10
+ "adapter": "local-process",
11
+ "command": "npx",
12
+ "args": [
13
+ "-y",
14
+ "khan-academy-mcp"
15
+ ],
16
+ "cwd": ".",
17
+ "metadata": {
18
+ "package": "khan-academy-mcp",
19
+ "purpose": "mcp-safety-index",
20
+ "riskClass": "Educational content retrieval",
21
+ "failureClass": "Learning content boundary",
22
+ "whyItMatters": "Khan Academy MCP servers expose courses, exercises, and learning progress — agents serving educational content need content accuracy and student privacy boundaries."
23
+ }
24
+ },
25
+ "environment": {
26
+ "platform": "darwin 25.5.0",
27
+ "nodeVersion": "v22.22.1"
28
+ },
29
+ "summary": {
30
+ "total": 3,
31
+ "pass": 0,
32
+ "fail": 0,
33
+ "partial": 0,
34
+ "unsupported": 0,
35
+ "flaky": 0,
36
+ "skipped": 3,
37
+ "gate": "fail"
38
+ },
39
+ "checks": [
40
+ {
41
+ "id": "tools",
42
+ "capability": "tools",
43
+ "status": "skipped",
44
+ "durationMs": 0,
45
+ "message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
46
+ "evidence": []
47
+ },
48
+ {
49
+ "id": "prompts",
50
+ "capability": "prompts",
51
+ "status": "skipped",
52
+ "durationMs": 0,
53
+ "message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
54
+ "evidence": []
55
+ },
56
+ {
57
+ "id": "resources",
58
+ "capability": "resources",
59
+ "status": "skipped",
60
+ "durationMs": 0,
61
+ "message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
62
+ "evidence": []
63
+ }
64
+ ],
65
+ "fatalError": "Could not establish a plain stdio MCP session for target `khan-academy-server`.\nCommand: npx -y khan-academy-mcp\nDiagnosis: The process exited or detached before MCP initialization completed.\nRaw error: MCP error -32000: Connection closed\nLikely causes:\n- The package may expect extra startup arguments or environment variables.\n- The package may not behave like a plain local-process stdio target under this invocation.\n- The server may be crashing immediately and only leaving clues on stderr.\nNext steps:\n- Run the command manually and look for usage output, auth prompts, or crash text.\n- Check whether the package expects a different transport or an app-oriented startup flow.\n- Use the recent stderr lines below before assuming this is a harness bug.\nRecent stderr:\n- npm error 404 'khan-academy-mcp@*' is not in this registry.\n- npm error 404\n- npm error 404 Note that you can also install from a\n- npm error 404 tarball, folder, http url, or git url.\n- npm error A complete log of this run can be found in: /Users/williamweishuhn/.npm/_logs/2026-07-15T22_34_01_290Z-debug-0.log"
66
+ }
@@ -0,0 +1,106 @@
1
+ # MCP Observatory Run Report
2
+
3
+ Generated at 2026-07-15T22:34:01.221Z
4
+
5
+ ## Target and Environment Metadata
6
+
7
+ - Target: `khan-academy-server`
8
+ - Adapter: `local-process`
9
+ - Command: `npx -y khan-academy-mcp`
10
+ - Server: `unknown `
11
+ - Platform: `darwin 25.5.0`
12
+ - Node: `v22.22.1`
13
+
14
+ ## Executive Summary
15
+
16
+ | Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
17
+ | --- | --- | --- | --- | --- | --- | --- | --- |
18
+ | fail | 3 | 0 | 0 | 0 | 0 | 0 | 3 |
19
+
20
+ ## At a Glance
21
+
22
+ - Safety verdict: **Blocked** — One or more checks can break agent dependence and should be fixed before production use.
23
+ - Top risks: startup: server failed to start
24
+ - Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
25
+ - Failing checks: none
26
+ - Partial or flaky checks: none
27
+ - Skipped checks: tools, prompts, resources
28
+ - Unsupported checks: none
29
+ - Suggested next step: Run the target command manually, compare stderr with the diagnosis below, and only raise timeoutMs if startup is genuinely slow.
30
+ - CI next step: `Add CI: npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>"`
31
+
32
+ ## What Was Not Tested
33
+
34
+ - 🔒 network_egress: No outbound network calls were attempted during scan
35
+ - 🔒 filesystem_mutation: Filesystem write operations were not exercised
36
+ - 🔒 credential_access: Credential scanning was not performed
37
+ - ℹ️ destructive_payloads: Destructive payloads were not attempted (safe-mode only)
38
+
39
+ ## Regressions and Recoveries
40
+
41
+ _Use the `diff` command against another run artifact to classify regressions and recoveries over time._
42
+
43
+ ## Failure Diagnosis
44
+
45
+ ```text
46
+ Could not establish a plain stdio MCP session for target `khan-academy-server`.
47
+ Command: npx -y khan-academy-mcp
48
+ Diagnosis: The process exited or detached before MCP initialization completed.
49
+ Raw error: MCP error -32000: Connection closed
50
+ Likely causes:
51
+ - The package may expect extra startup arguments or environment variables.
52
+ - The package may not behave like a plain local-process stdio target under this invocation.
53
+ - The server may be crashing immediately and only leaving clues on stderr.
54
+ Next steps:
55
+ - Run the command manually and look for usage output, auth prompts, or crash text.
56
+ - Check whether the package expects a different transport or an app-oriented startup flow.
57
+ - Use the recent stderr lines below before assuming this is a harness bug.
58
+ Recent stderr:
59
+ - npm error 404 'khan-academy-mcp@*' is not in this registry.
60
+ - npm error 404
61
+ - npm error 404 Note that you can also install from a
62
+ - npm error 404 tarball, folder, http url, or git url.
63
+ - npm error A complete log of this run can be found in: /Users/williamweishuhn/.npm/_logs/2026-07-15T22_34_01_290Z-debug-0.log
64
+ ```
65
+
66
+ ## Full Capability Status Table
67
+
68
+ | Focus | Check | Status | Duration (ms) | Message |
69
+ | --- | --- | --- | --- | --- |
70
+ | inspect startup | prompts | skipped | 0.00 | Skipped because startup failed before the MCP session initialized. See the failure diagnosis. |
71
+ | inspect startup | resources | skipped | 0.00 | Skipped because startup failed before the MCP session initialized. See the failure diagnosis. |
72
+ | inspect startup | tools | skipped | 0.00 | Skipped because startup failed before the MCP session initialized. See the failure diagnosis. |
73
+
74
+ ## Evidence Snippets
75
+
76
+ ### prompts — skipped
77
+
78
+ Summary: Skipped because startup failed before the MCP session initialized. See the failure diagnosis.
79
+
80
+ _No evidence was captured._
81
+
82
+ ### resources — skipped
83
+
84
+ Summary: Skipped because startup failed before the MCP session initialized. See the failure diagnosis.
85
+
86
+ _No evidence was captured._
87
+
88
+ ### tools — skipped
89
+
90
+ Summary: Skipped because startup failed before the MCP session initialized. See the failure diagnosis.
91
+
92
+ _No evidence was captured._
93
+
94
+ ## Reproduction Commands
95
+
96
+ ```bash
97
+ npm run cli -- run --target <path-to-target-config.json>
98
+ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
99
+ ```
100
+
101
+ ## Artifact Provenance
102
+
103
+ - Artifact type: `run`
104
+ - Schema version: `1.0.0`
105
+ - Run ID: `run_2026-07-15T223401221Z_9edad485`
106
+ - Gate: `fail`
@@ -2,9 +2,9 @@
2
2
  "artifactType": "run",
3
3
  "schemaVersion": "1.0.0",
4
4
  "gate": "fail",
5
- "runId": "run_2026-07-12T234414092Z_d12ccaeb",
6
- "createdAt": "2026-07-12T23:44:14.092Z",
7
- "toolVersion": "1.31.0",
5
+ "runId": "run_2026-07-15T223334012Z_6b45db48",
6
+ "createdAt": "2026-07-15T22:33:34.012Z",
7
+ "toolVersion": "1.32.1",
8
8
  "target": {
9
9
  "targetId": "kubernetes-server",
10
10
  "adapter": "local-process",
@@ -22,7 +22,7 @@
22
22
  "whyItMatters": "Kubernetes MCP servers can expose cluster mutation, pod exec, manifest apply/delete, and broad kubectl command surfaces to agents."
23
23
  },
24
24
  "serverName": "kubernetes",
25
- "serverVersion": "4.0.1"
25
+ "serverVersion": "4.0.4"
26
26
  },
27
27
  "environment": {
28
28
  "platform": "darwin 25.5.0",
@@ -43,7 +43,7 @@
43
43
  "id": "tools",
44
44
  "capability": "tools",
45
45
  "status": "pass",
46
- "durationMs": 1.1932080000005953,
46
+ "durationMs": 1.273124999999709,
47
47
  "message": "Advertised capability responded with the minimal expected shape (23 items).",
48
48
  "evidence": [
49
49
  {
@@ -78,9 +78,9 @@
78
78
  "ping"
79
79
  ],
80
80
  "diagnostics": [
81
- "Starting Kubernetes MCP server v4.0.1, handling commands...",
81
+ "Starting Kubernetes MCP server v4.0.4, handling commands...",
82
82
  "Telemetry: Disabled",
83
- "(node:25430) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
83
+ "(node:78269) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
84
84
  "(Use `node --trace-deprecation ...` to show where the warning was created)"
85
85
  ],
86
86
  "schemas": {
@@ -295,7 +295,7 @@
295
295
  },
296
296
  "filename": {
297
297
  "type": "string",
298
- "description": "Path to a YAML file to create resources from"
298
+ "description": "Path to a YAML file to create resources from. The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use 'manifest' to pass the file's contents instead."
299
299
  },
300
300
  "resourceType": {
301
301
  "type": "string",
@@ -322,7 +322,29 @@
322
322
  "items": {
323
323
  "type": "string"
324
324
  },
325
- "description": "Path to file for creating configmap (e.g. [\"key1=/path/to/file1\", \"key2=/path/to/file2\"])"
325
+ "description": "Path to file for creating configmap/secret (e.g. [\"key1=/path/to/file1\", \"key2=/path/to/file2\"]). The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use \"fromFileContent\" to pass file contents directly instead."
326
+ },
327
+ "fromFileContent": {
328
+ "type": "array",
329
+ "items": {
330
+ "type": "object",
331
+ "properties": {
332
+ "key": {
333
+ "type": "string",
334
+ "description": "Key to store the content under in the configmap/secret"
335
+ },
336
+ "content": {
337
+ "type": "string",
338
+ "description": "The file content to store"
339
+ }
340
+ },
341
+ "required": [
342
+ "key",
343
+ "content"
344
+ ],
345
+ "additionalProperties": false
346
+ },
347
+ "description": "Inline file contents for creating a configmap/secret, provided by the client instead of a server-side path (e.g. [{\"key\": \"app.conf\", \"content\": \"...\"}]). Safe on all transports; use this instead of \"fromFile\" on remote (SSE/Streamable HTTP) servers."
326
348
  },
327
349
  "secretType": {
328
350
  "type": "string",
@@ -1054,7 +1076,7 @@
1054
1076
  "id": "prompts",
1055
1077
  "capability": "prompts",
1056
1078
  "status": "pass",
1057
- "durationMs": 0.30749999999898137,
1079
+ "durationMs": 0.30708299999969313,
1058
1080
  "message": "Advertised capability responded with the minimal expected shape (1 item).",
1059
1081
  "evidence": [
1060
1082
  {
@@ -1067,9 +1089,9 @@
1067
1089
  "k8s-diagnose"
1068
1090
  ],
1069
1091
  "diagnostics": [
1070
- "Starting Kubernetes MCP server v4.0.1, handling commands...",
1092
+ "Starting Kubernetes MCP server v4.0.4, handling commands...",
1071
1093
  "Telemetry: Disabled",
1072
- "(node:25430) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
1094
+ "(node:78269) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
1073
1095
  "(Use `node --trace-deprecation ...` to show where the warning was created)"
1074
1096
  ]
1075
1097
  }
@@ -1079,7 +1101,7 @@
1079
1101
  "id": "resources",
1080
1102
  "capability": "resources",
1081
1103
  "status": "pass",
1082
- "durationMs": 0.4366660000014235,
1104
+ "durationMs": 0.38800000000264845,
1083
1105
  "message": "Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported.",
1084
1106
  "evidence": [
1085
1107
  {
@@ -1096,9 +1118,9 @@
1096
1118
  "k8s://nodes"
1097
1119
  ],
1098
1120
  "diagnostics": [
1099
- "Starting Kubernetes MCP server v4.0.1, handling commands...",
1121
+ "Starting Kubernetes MCP server v4.0.4, handling commands...",
1100
1122
  "Telemetry: Disabled",
1101
- "(node:25430) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
1123
+ "(node:78269) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
1102
1124
  "(Use `node --trace-deprecation ...` to show where the warning was created)"
1103
1125
  ]
1104
1126
  },
@@ -1109,9 +1131,9 @@
1109
1131
  "minimalShapePresent": false,
1110
1132
  "diagnostics": [
1111
1133
  "MCP error -32601: Method not found",
1112
- "Starting Kubernetes MCP server v4.0.1, handling commands...",
1134
+ "Starting Kubernetes MCP server v4.0.4, handling commands...",
1113
1135
  "Telemetry: Disabled",
1114
- "(node:25430) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
1136
+ "(node:78269) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
1115
1137
  "(Use `node --trace-deprecation ...` to show where the warning was created)"
1116
1138
  ]
1117
1139
  }
@@ -1121,7 +1143,7 @@
1121
1143
  "id": "security-lite",
1122
1144
  "capability": "security-lite",
1123
1145
  "status": "fail",
1124
- "durationMs": 0.06962500000008731,
1146
+ "durationMs": 0.06850000000122236,
1125
1147
  "message": "Found 8 security finding(s): 3 high, 3 medium, 2 low.",
1126
1148
  "evidence": [
1127
1149
  {
@@ -1206,18 +1228,18 @@
1206
1228
  "id": "runtime-profile",
1207
1229
  "capability": "runtime-profile",
1208
1230
  "status": "partial",
1209
- "durationMs": 0.30574999999953434,
1210
- "message": "Detected 8 potential egress target(s) and 75 potential state mutation(s) with high confidence.",
1231
+ "durationMs": 0.29887500000040745,
1232
+ "message": "Detected 11 potential egress target(s) and 76 potential state mutation(s) with high confidence.",
1211
1233
  "evidence": [
1212
1234
  {
1213
1235
  "endpoint": "runtime-profile/analyze",
1214
1236
  "advertised": true,
1215
1237
  "responded": true,
1216
1238
  "minimalShapePresent": true,
1217
- "itemCount": 83,
1239
+ "itemCount": 87,
1218
1240
  "diagnostics": [
1219
- "Egress entries: 8",
1220
- "State mutations: 75",
1241
+ "Egress entries: 11",
1242
+ "State mutations: 76",
1221
1243
  "Confidence: high"
1222
1244
  ],
1223
1245
  "findings": [
@@ -1233,6 +1255,24 @@
1233
1255
  "source": "description_analysis",
1234
1256
  "confidence": "medium"
1235
1257
  },
1258
+ {
1259
+ "target": "Path to a YAML file to create resources from. The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use 'manifest' to pass the file's contents instead.",
1260
+ "protocol": "unknown",
1261
+ "source": "description_analysis",
1262
+ "confidence": "medium"
1263
+ },
1264
+ {
1265
+ "target": "Path to file for creating configmap/secret (e.g. [\"key1=/path/to/file1\", \"key2=/path/to/file2\"]). The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use \"fromFileContent\" to pass file contents directly instead.",
1266
+ "protocol": "unknown",
1267
+ "source": "description_analysis",
1268
+ "confidence": "medium"
1269
+ },
1270
+ {
1271
+ "target": "Inline file contents for creating a configmap/secret, provided by the client instead of a server-side path (e.g. [{\"key\": \"app.conf\", \"content\": \"...\"}]). Safe on all transports; use this instead of \"fromFile\" on remote (SSE/Streamable HTTP) servers.",
1272
+ "protocol": "unknown",
1273
+ "source": "description_analysis",
1274
+ "confidence": "medium"
1275
+ },
1236
1276
  {
1237
1277
  "target": "kubectl_reconnect",
1238
1278
  "protocol": "unknown",
@@ -1629,6 +1669,12 @@
1629
1669
  "scope": "working_directory",
1630
1670
  "source": "description_analysis"
1631
1671
  },
1672
+ {
1673
+ "resource": "filesystem",
1674
+ "operation": "write",
1675
+ "scope": "working_directory",
1676
+ "source": "description_analysis"
1677
+ },
1632
1678
  {
1633
1679
  "resource": "network",
1634
1680
  "operation": "execute",
@@ -1727,7 +1773,7 @@
1727
1773
  "id": "conformance",
1728
1774
  "capability": "conformance",
1729
1775
  "status": "pass",
1730
- "durationMs": 1.6792500000010477,
1776
+ "durationMs": 1.787292000000889,
1731
1777
  "message": "All 7 conformance checks passed.",
1732
1778
  "evidence": [
1733
1779
  {
@@ -1753,7 +1799,7 @@
1753
1799
  "id": "schema-quality",
1754
1800
  "capability": "schema-quality",
1755
1801
  "status": "partial",
1756
- "durationMs": 1.0298750000001746,
1802
+ "durationMs": 0.9695410000022093,
1757
1803
  "message": "Found 7 quality finding(s) across 29 item(s): 0 warnings, 7 info.",
1758
1804
  "evidence": [
1759
1805
  {
@@ -1827,7 +1873,7 @@
1827
1873
  "id": "security",
1828
1874
  "capability": "security",
1829
1875
  "status": "fail",
1830
- "durationMs": 0.35829200000080164,
1876
+ "durationMs": 0.3508330000004207,
1831
1877
  "message": "Found 8 security finding(s): 3 high, 3 medium, 2 low.",
1832
1878
  "evidence": [
1833
1879
  {
@@ -1912,7 +1958,7 @@
1912
1958
  "id": "attack-sim",
1913
1959
  "capability": "attack-sim",
1914
1960
  "status": "fail",
1915
- "durationMs": 1.0105000000003201,
1961
+ "durationMs": 0.9595410000001721,
1916
1962
  "message": "Safe attack simulation found 5 finding(s): 3 high, 2 medium, 0 low.",
1917
1963
  "evidence": [
1918
1964
  {
@@ -2079,17 +2125,17 @@
2079
2125
  "weight": 0.1,
2080
2126
  "score": 100,
2081
2127
  "details": [
2082
- "Connect: 1384ms",
2128
+ "Connect: 1336ms",
2083
2129
  "p95 latency: 1ms (3 operations)"
2084
2130
  ]
2085
2131
  }
2086
2132
  ]
2087
2133
  },
2088
2134
  "performanceMetrics": {
2089
- "connectMs": 1384.2913750000007,
2090
- "toolsListMs": 1.1932080000005953,
2091
- "promptsListMs": 0.30749999999898137,
2092
- "resourcesListMs": 0.4366660000014235
2135
+ "connectMs": 1336.1261249999989,
2136
+ "toolsListMs": 1.273124999999709,
2137
+ "promptsListMs": 0.30708299999969313,
2138
+ "resourcesListMs": 0.38800000000264845
2093
2139
  },
2094
2140
  "runtimeProfile": {
2095
2141
  "egress": [
@@ -2105,6 +2151,24 @@
2105
2151
  "source": "description_analysis",
2106
2152
  "confidence": "medium"
2107
2153
  },
2154
+ {
2155
+ "target": "Path to a YAML file to create resources from. The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use 'manifest' to pass the file's contents instead.",
2156
+ "protocol": "unknown",
2157
+ "source": "description_analysis",
2158
+ "confidence": "medium"
2159
+ },
2160
+ {
2161
+ "target": "Path to file for creating configmap/secret (e.g. [\"key1=/path/to/file1\", \"key2=/path/to/file2\"]). The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use \"fromFileContent\" to pass file contents directly instead.",
2162
+ "protocol": "unknown",
2163
+ "source": "description_analysis",
2164
+ "confidence": "medium"
2165
+ },
2166
+ {
2167
+ "target": "Inline file contents for creating a configmap/secret, provided by the client instead of a server-side path (e.g. [{\"key\": \"app.conf\", \"content\": \"...\"}]). Safe on all transports; use this instead of \"fromFile\" on remote (SSE/Streamable HTTP) servers.",
2168
+ "protocol": "unknown",
2169
+ "source": "description_analysis",
2170
+ "confidence": "medium"
2171
+ },
2108
2172
  {
2109
2173
  "target": "kubectl_reconnect",
2110
2174
  "protocol": "unknown",
@@ -2503,6 +2567,12 @@
2503
2567
  "scope": "working_directory",
2504
2568
  "source": "description_analysis"
2505
2569
  },
2570
+ {
2571
+ "resource": "filesystem",
2572
+ "operation": "write",
2573
+ "scope": "working_directory",
2574
+ "source": "description_analysis"
2575
+ },
2506
2576
  {
2507
2577
  "resource": "network",
2508
2578
  "operation": "execute",
@@ -2594,7 +2664,7 @@
2594
2664
  "source": "description_analysis"
2595
2665
  }
2596
2666
  ],
2597
- "analyzedAt": "2026-07-12T23:44:15.479Z",
2667
+ "analyzedAt": "2026-07-15T22:33:35.351Z",
2598
2668
  "confidence": "high"
2599
2669
  }
2600
2670
  }
@@ -1,13 +1,13 @@
1
1
  # MCP Observatory Run Report
2
2
 
3
- Generated at 2026-07-12T23:44:14.092Z
3
+ Generated at 2026-07-15T22:33:34.012Z
4
4
 
5
5
  ## Target and Environment Metadata
6
6
 
7
7
  - Target: `kubernetes-server`
8
8
  - Adapter: `local-process`
9
9
  - Command: `npx -y mcp-server-kubernetes`
10
- - Server: `kubernetes 4.0.1`
10
+ - Server: `kubernetes 4.0.4`
11
11
  - Platform: `darwin 25.5.0`
12
12
  - Node: `v22.22.1`
13
13
 
@@ -30,7 +30,7 @@ Generated at 2026-07-12T23:44:14.092Z
30
30
  ## At a Glance
31
31
 
32
32
  - Safety verdict: **Blocked** — One or more checks can break agent dependence and should be fixed before production use.
33
- - Top risks: runtime-profile: Detected 8 potential egress target(s) and 75 potential state mutation(s) with high confidence.; schema-quality: Found 7 quality finding(s) across 29 item(s): 0 warnings, 7 info.; attack-sim: Safe attack simulation found 5 finding(s): 3 high, 2 medium, 0 low.
33
+ - Top risks: runtime-profile: Detected 11 potential egress target(s) and 76 potential state mutation(s) with high confidence.; schema-quality: Found 7 quality finding(s) across 29 item(s): 0 warnings, 7 info.; attack-sim: Safe attack simulation found 5 finding(s): 3 high, 2 medium, 0 low.
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: security-lite, security, attack-sim
36
36
  - Partial or flaky checks: runtime-profile, schema-quality
@@ -54,6 +54,9 @@ The following targets were identified as potentially reachable by this server (c
54
54
  | --- | --- | --- | --- |
55
55
  | If true, immediately remove resources from API and bypass graceful deletion | unknown | description_analysis | medium |
56
56
  | If true, immediately remove resources from API and bypass graceful deletion | unknown | description_analysis | medium |
57
+ | Path to a YAML file to create resources from. The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use 'manifest' to pass the file's contents instead. | unknown | description_analysis | medium |
58
+ | Path to file for creating configmap/secret (e.g. ["key1=/path/to/file1", "key2=/path/to/file2"]). The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use "fromFileContent" to pass file contents directly instead. | unknown | description_analysis | medium |
59
+ | Inline file contents for creating a configmap/secret, provided by the client instead of a server-side path (e.g. [{"key": "app.conf", "content": "..."}]). Safe on all transports; use this instead of "fromFile" on remote (SSE/Streamable HTTP) servers. | unknown | description_analysis | medium |
57
60
  | kubectl_reconnect | unknown | description_analysis | low |
58
61
  | API version to use (e.g. 'apps/v1') | unknown | description_analysis | medium |
59
62
  | Helm repository URL (optional if using local chart path) | unknown | description_analysis | medium |
@@ -127,6 +130,7 @@ The following state-modifying operations were identified from tool schemas:
127
130
  | filesystem | write | working_directory | description_analysis |
128
131
  | filesystem | write | working_directory | description_analysis |
129
132
  | filesystem | write | working_directory | description_analysis |
133
+ | filesystem | write | working_directory | description_analysis |
130
134
  | network | execute | specific_path | tool_schema |
131
135
  | filesystem | write | working_directory | description_analysis |
132
136
  | filesystem | write | working_directory | description_analysis |
@@ -143,7 +147,7 @@ The following state-modifying operations were identified from tool schemas:
143
147
  | filesystem | write | working_directory | description_analysis |
144
148
  | filesystem | write | working_directory | description_analysis |
145
149
 
146
- _Analyzed at 2026-07-12T23:44:15.479Z_
150
+ _Analyzed at 2026-07-15T22:33:35.351Z_
147
151
 
148
152
  ## Regressions and Recoveries
149
153
 
@@ -153,14 +157,14 @@ _Use the `diff` command against another run artifact to classify regressions and
153
157
 
154
158
  | Focus | Check | Status | Duration (ms) | Message |
155
159
  | --- | --- | --- | --- | --- |
156
- | healthy | conformance | pass | 1.68 | All 7 conformance checks passed. |
160
+ | healthy | conformance | pass | 1.79 | All 7 conformance checks passed. |
157
161
  | healthy | prompts | pass | 0.31 | Advertised capability responded with the minimal expected shape (1 item). |
158
- | healthy | resources | pass | 0.44 | Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported. |
159
- | healthy | tools | pass | 1.19 | Advertised capability responded with the minimal expected shape (23 items). |
160
- | review | runtime-profile | partial | 0.31 | Detected 8 potential egress target(s) and 75 potential state mutation(s) with high confidence. |
161
- | review | schema-quality | partial | 1.03 | Found 7 quality finding(s) across 29 item(s): 0 warnings, 7 info. |
162
- | act now | attack-sim | fail | 1.01 | Safe attack simulation found 5 finding(s): 3 high, 2 medium, 0 low. |
163
- | act now | security | fail | 0.36 | Found 8 security finding(s): 3 high, 3 medium, 2 low. |
162
+ | healthy | resources | pass | 0.39 | Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported. |
163
+ | healthy | tools | pass | 1.27 | Advertised capability responded with the minimal expected shape (23 items). |
164
+ | review | runtime-profile | partial | 0.30 | Detected 11 potential egress target(s) and 76 potential state mutation(s) with high confidence. |
165
+ | review | schema-quality | partial | 0.97 | Found 7 quality finding(s) across 29 item(s): 0 warnings, 7 info. |
166
+ | act now | attack-sim | fail | 0.96 | Safe attack simulation found 5 finding(s): 3 high, 2 medium, 0 low. |
167
+ | act now | security | fail | 0.35 | Found 8 security finding(s): 3 high, 3 medium, 2 low. |
164
168
  | act now | security-lite | fail | 0.07 | Found 8 security finding(s): 3 high, 3 medium, 2 low. |
165
169
 
166
170
  ## Evidence Snippets
@@ -187,7 +191,7 @@ Summary: Advertised capability responded with the minimal expected shape (1 item
187
191
  - Minimal shape present: `true`
188
192
  - Item count: `1`
189
193
  - Identifiers: k8s-diagnose
190
- - Diagnostics: Starting Kubernetes MCP server v4.0.1, handling commands..., Telemetry: Disabled, (node:25430) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (+1 more)
194
+ - Diagnostics: Starting Kubernetes MCP server v4.0.4, handling commands..., Telemetry: Disabled, (node:78269) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (+1 more)
191
195
 
192
196
  ### resources — pass
193
197
 
@@ -199,14 +203,14 @@ Summary: Advertised capability responded with the minimal expected shape, but on
199
203
  - Minimal shape present: `true`
200
204
  - Item count: `5`
201
205
  - Identifiers: k8s://default/pods, k8s://default/deployments, k8s://default/services, k8s://namespaces, k8s://nodes
202
- - Diagnostics: Starting Kubernetes MCP server v4.0.1, handling commands..., Telemetry: Disabled, (node:25430) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (+1 more)
206
+ - Diagnostics: Starting Kubernetes MCP server v4.0.4, handling commands..., Telemetry: Disabled, (node:78269) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (+1 more)
203
207
  - Endpoint: `resources/templates/list`
204
208
  - Advertised: `true`
205
209
  - Responded: `false`
206
210
  - Minimal shape present: `false`
207
211
  - Item count: `0`
208
212
  - Identifiers: none
209
- - Diagnostics: MCP error -32601: Method not found, Starting Kubernetes MCP server v4.0.1, handling commands..., Telemetry: Disabled (+2 more)
213
+ - Diagnostics: MCP error -32601: Method not found, Starting Kubernetes MCP server v4.0.4, handling commands..., Telemetry: Disabled (+2 more)
210
214
 
211
215
  ### tools — pass
212
216
 
@@ -218,19 +222,19 @@ Summary: Advertised capability responded with the minimal expected shape (23 ite
218
222
  - Minimal shape present: `true`
219
223
  - Item count: `23`
220
224
  - Identifiers: cleanup, kubectl_get, kubectl_describe, kubectl_apply, kubectl_delete (+18 more)
221
- - Diagnostics: Starting Kubernetes MCP server v4.0.1, handling commands..., Telemetry: Disabled, (node:25430) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (+1 more)
225
+ - Diagnostics: Starting Kubernetes MCP server v4.0.4, handling commands..., Telemetry: Disabled, (node:78269) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (+1 more)
222
226
 
223
227
  ### runtime-profile — partial
224
228
 
225
- Summary: Detected 8 potential egress target(s) and 75 potential state mutation(s) with high confidence.
229
+ Summary: Detected 11 potential egress target(s) and 76 potential state mutation(s) with high confidence.
226
230
 
227
231
  - Endpoint: `runtime-profile/analyze`
228
232
  - Advertised: `true`
229
233
  - Responded: `true`
230
234
  - Minimal shape present: `true`
231
- - Item count: `83`
235
+ - Item count: `87`
232
236
  - Identifiers: none
233
- - Diagnostics: Egress entries: 8, State mutations: 75, Confidence: high
237
+ - Diagnostics: Egress entries: 11, State mutations: 76, Confidence: high
234
238
 
235
239
  ### schema-quality — partial
236
240
 
@@ -291,5 +295,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
291
295
 
292
296
  - Artifact type: `run`
293
297
  - Schema version: `1.0.0`
294
- - Run ID: `run_2026-07-12T234414092Z_d12ccaeb`
298
+ - Run ID: `run_2026-07-15T223334012Z_6b45db48`
295
299
  - Gate: `fail`